If you would like to use the AI-assistant in combination with the search documentation tool, then you must start the embeddings server.
You can build and start the embedding service by adding ai to the COMPOSE_PROFILES environment variable:
COMPOSE_PROFILES=ai
If you need both ai and optional profiles, combine them with a comma:
COMPOSE_PROFILES=ai,optional
After starting the services, make sure the correct environment variables are set. In particular, BASEROW_EMBEDDINGS_API_URL must be set correctly for the embedding server to work. See ai-assistant.md for the full list of required variables.
Then, run the management command to schedule the initial import:
From the host:
just dcd run --rm backend manage sync_knowledge_base
From inside the container:
./baserow sync_knowledge_base
This will schedule a task to import website_export.csv containing all the docs and generate the embeddings using the local service. Once completed, asking the assistant to search for docs should show “Exploring the knowledge base…” in the UI when the assistant uses the search_docs tool, and the answers should show sources from the docs.
Make sure BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL is set correctly both in the backend and in the frontend. See ai-assistant.md for more information.
Run the management command to synchronize the docs in the knowledge base:
From the host:
just dcd run --rm backend manage sync_knowledge_base
From inside the container:
./baserow sync_knowledge_base
Verify the server is up and running by executing one of the following commands:
From the host:
curl -X POST "http://localhost:7999/embed" \
-H "Content-Type: application/json" \
-d '{"texts": "test"}'
From inside the container:
curl -X POST "$BASEROW_EMBEDDINGS_API_URL/embed" \
-H "Content-Type: application/json" \
-d '{"texts": "test"}'
This command should return a vector of more than 500 numbers. If it doesn’t, check that the embeddings container is running and healthy.