Skip to main content

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.

note

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.

note

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.