/arguflow

Build AI powered semantic search and LLM retrieval-augmented generation (RAG) fast

Primary LanguageJavaScriptOtherNOASSERTION

Arguflow

Documentation | Blog | Demo Video

Github stars GitHub last commit GitHub issues Join Discord Join Matrix Join Matrix

Arguflow is a truly all-in-one service for hosting AI powered semantic search and LLM retrieval-augmented generation (RAG) on your data.

arguflow architecture diagram

Live Demos

How to contribute

  1. Find an issue in the issues tab that you would like to work on.
  2. Fork the repository and clone it to your local machine
  3. Create a new branch with a descriptive name: git checkout -b your-branch-name
  4. Solve the issue by adding or removing code on your forked branch.
  5. Test your changes locally to ensure that they do not break anything
  6. Commit your changes with a descriptive commit message: git commit -m "Add descriptive commit message here"
  7. Push your changes to your forked repository: git push origin your-branch-name
  8. Open a pull request to the main repository and describe your changes in the PR description

Self-hosting the API and UI's

We have a full self-hosting guide available on our documentation page here.

Local development

Install apt packages

sudo apt install curl \
gcc \
g++ \
make \
pkg-config \
python3 \
python3-pip \
libpq-dev \
libssl-dev \
openssl \
libreoffice

Install NodeJS and Yarn

You can use the following, but we recommend using NVM and then running yarn --cwd ./server-nodejs install .

RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
    apt-get install -y nodejs && \
    npm install -g yarn && \
    yarn --cwd ./server-nodejs install

Install node requirements

yarn --cwd ./server/server-nodejs

Setup env's

cp .env.chat ./chat/.env
cp .env.search ./search/.env
cp .env.server ./server/.env

Add your OPENAI_API_KEY to ./server/.env

Here is a guide for acquiring that.

Steps once you have the key

  1. Open the ./server/.env file
  2. Replace the value for OPENAI_API_KEY to be your own OpenAI API key.

Start docker container services needed for local dev

cat .env.chat .env.search .env.server .env.docker-compose > .env
./convenience.sh -l

Start services for local dev

We know this is bad. Currently, We recommend managing this through tmux or VSCode terminal tabs.

cd server
cargo watch -x run
cd search
yarn
yarn dev
cd chat
yarn
yarn dev