The chatbot agent is the conversational backend used by the BESSER website. It answers BESSER-related questions raised by visitors using retrieval-augmented generation (RAG) over the official documentation, website, and GitHub repositories.
- Answers questions about BESSER: features, generators, installation, research, team, and the agentic framework (BAF)
- Retrieves answers from live BESSER documentation and the website — re-indexed on every container start
- Redirects implementation questions to the BESSER Web Modeling Editor
- Supports multilingual questions (French, German, Spanish, and more)
- Remembers the last two turns per session for follow-up questions
Prerequisites: Python ≥ 3.10, an OpenAI API key.
# 1. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Create config.yaml (not committed — contains your API key)Minimal config.yaml for local use:
agent:
check_transitions_delay: 5
nlp:
language: en
region: US
timezone: Europe/Luxembourg
pre_processing: True
intent_threshold: 0.55
openai:
api_key: YOUR_OPENAI_API_KEY
platforms:
websocket:
host: localhost
port: 8766# 4. Run the agent
python Agent_Diagram.pyThe agent starts on ws://localhost:8766. On first run it crawls and indexes the BESSER documentation — this takes a few minutes. The index is cached in vector_store/ for subsequent runs.
OPENAI_API_KEY=sk-... docker compose upSee DEPLOY.md for production deployment details.
The core structure of this agent — the HybridRAG configuration, states, and WebSocket platform — was modelled visually in the BESSER Web Modeling Editor and generated by BESSER.
The following parts were added by hand after generation:
- Web crawlers that index BESSER documentation, website, and wiki pages
- Multilingual support for user inputs and LLM outputs
BESSER-generated files: Agent_Diagram.py, agent_model.py, config.yaml (template), readme.md
See CONTRIBUTING.md.
MIT — Copyright © 2026 BESSER-PEARL