Installing Witty
Witty is installed in the customer environment and interacts with Witboost and several components (database, LLMs, embedders). Before going through the prerequisites, make sure to read the requirements.
Witty is composed of two microservices:
- Witty, a supervisor that independently chooses the best AI agents it needs to achieve those goals;
- Docs Agent, the default specialized agent with in-depth knowledge of Witboost documentation.
Prerequisites
Once the database has been provided, make sure to create the database witty
with pgvector
plugin enabled. All schemas and tables will be created automatically.
Witty microservice
In order to install Witty microservice, you have to add environment variables and a config to values.yaml
.
The values.yaml
to edit is the same of Witboost.
Environment variables
The .env
structure is
LLMENGINE_SERVICE_TOKEN=<llm_token>
WITBOOST_DB_HOST=<db_host>
WITBOOST_DB_PASSWORD=<db_password>
WITBOOST_DB_PORT=<db_port>
WITBOOST_DB_USERNAME=<db_username>
WITTY_DBNAME=<db_name>
EMBEDDERENGINE_SERVICE_TOKEN=<embedder_token>
values.yaml
The values.yaml
structure is
...
witty:
enabled: true
configOverride:
database:
host: ${WITBOOST_DB_HOST}
port: ${WITBOOST_DB_PORT}
user: ${WITBOOST_DB_USERNAME}
password: ${WITBOOST_DB_PASSWORD}
database: ${WITTY_DBNAME}
llm:
api_key: ${LLMENGINE_SERVICE_TOKEN}
endpoint: <llm_endpoint>
deployment_name: <llm_deployment_name>
api_version: <llm_api_version>
model: <llm_model>
provider: <llm_provider>
embedder:
api_key: ${EMBEDDERENGINE_SERVICE_TOKEN}
endpoint: <embedder_endpoint>
deployment_name: <embedder_deployment_name>
api_version: <embedder_api_version>
model: <embedder_model>
provider: <embedder_provider>
witboost:
base_url: <witboost_base_url>
docs_agent:
base_url: <docs_agent_base_url>
logger:
level: <DEBUG | INFO | WARNING | ERROR>
...
Docs agent microservice
In order to install Docs Agent microservice, you have to add environment variables and a config to values.yaml
.
The values.yaml
to edit is the same of Witboost.
Environment variables
The .env
structure is
WITBOOST_DB_HOST=<db_host>
WITBOOST_DB_PASSWORD=<db_password>
WITBOOST_DB_PORT=<db_port>
WITBOOST_DB_USERNAME=<db_username>
DOCUMENTATION_AGENT_DBNAME=<db_name>
EMBEDDERENGINE_SERVICE_TOKEN=<embedder_token>
values.yaml
The values.yaml
structure is
...
docs-agent:
enabled: true
configOverride:
database:
host: ${WITBOOST_DB_HOST}
port: ${WITBOOST_DB_PORT}
user: ${WITBOOST_DB_USERNAME}
password: ${WITBOOST_DB_PASSWORD}
database: ${DOCUMENTATION_AGENT_DBNAME}
embedder:
api_key: ${EMBEDDERENGINE_SERVICE_TOKEN}
endpoint: <embedder_endpoint>
deployment_name: <embedder_deployment_name>
api_version: <embedder_api_version>
model: <embedder_model>
provider: <embedder_provider>
logger:
level: <DEBUG | INFO | WARNING | ERROR>
...
At startup, docs agent will calculate the embeddings of the Witboost documentation. It will take 5-10 minutes. Once done, the server will start.