LocalAI/examples/query_data
2023-05-07 10:13:57 +02:00
..
data example(add): document query example 2023-05-05 21:56:31 +02:00
models example(add): document query example 2023-05-05 21:56:31 +02:00
.gitignore example(add): document query example 2023-05-05 21:56:31 +02:00
docker-compose.yml example(add): document query example 2023-05-05 21:56:31 +02:00
query.py examples: add update index example, update README 2023-05-07 09:05:24 +02:00
README.md examples: add update index example, update README 2023-05-07 09:05:24 +02:00
store.py examples: better defaults 2023-05-07 00:58:30 +02:00
update.py examples: fix default parameter 2023-05-07 10:13:57 +02:00

Data query example

This example makes use of Llama-Index to enable question answering on a set of documents.

It loosely follows the quickstart.

Summary of the steps:

  • prepare the dataset (and store it into data)
  • prepare a vector index database to run queries on
  • run queries

Requirements

For this in order to work, you will need LocalAI and a model compatible with the llama.cpp backend. This is will not work with gpt4all, however you can mix models (use a llama.cpp one to build the index database, and gpt4all to query it).

The example uses WizardLM for both embeddings and Q&A. Edit the config files in models/ accordingly to specify the model you use (change HERE in the configuration files).

You will also need a training data set. Copy that over data.

Setup

Start the API:

# Clone LocalAI
git clone https://github.com/go-skynet/LocalAI

cd LocalAI/examples/query_data

# Copy your models, edit config files accordingly

# start with docker-compose
docker-compose up -d --build

Create a storage

In this step we will create a local vector database from our document set, so later we can ask questions on it with the LLM.

export OPENAI_API_BASE=http://localhost:8080/v1
export OPENAI_API_KEY=sk-

python store.py

After it finishes, a directory "storage" will be created with the vector index database.

Query

We can now query the dataset.

export OPENAI_API_BASE=http://localhost:8080/v1
export OPENAI_API_KEY=sk-

python query.py

Update

To update our vector database, run update.py

export OPENAI_API_BASE=http://localhost:8080/v1
export OPENAI_API_KEY=sk-

python update.py