Borrajas is a prototype of a question-answering system that can answer questions about extreme weather events developed within the CLASiK project. It uses both RAG and RDF sources to answer questions.
The project uses uv for development, make sure you install it first.
git clone https://github.com/your-org/borrajas.git
cd borrajasThe project supports multiple backends and optional dependencies. You need to install at least one backend.
uv sync --extra langgraphuv sync --extra pydanticTo use ChainLit UI, install additional dependencies in the ui group, e.g.:
uv sync --extra langgraph --extra uiuv sync --all-extrasAt the moment, only Ollama API is supported. Make sure you have Ollama installed and running, and you are signed in to ollama cloud if you are using cloud-based models.
Make a copy of the .env.example file and rename it to .env, then fill in the required values if needed:
- OLLAMA_HOST: The host of the Ollama API (usually the default is fine)
- OLLAMA_MODEL: The model to use (e.g.,
gemma4
There are three ways to run the project:
borrajas-cli: CLI interface, including batch modeborrajas-eval: Run evaluation on a dataset with a custom config and custom promptsborrajas-ui: Chatbot with ChainLit UI
# Basic usage
borrajas-cli --backend langgraph --ttl data/sinobas-sample.ttl "How many tornadoes have occurred in the last 10 years in Cantabria?"
# Batch mode
borrajas-cli --backend langgraph --ttl data/sinobas-sample.ttl -i data/sample-questions.txt
# Using config file
borrajas-cli --config config.yaml -i data/sample-questions.txtborrajas-eval --backend langgraph --config eval/config.yamlborrajas-ui --backend langgraph --ttl data/sinobas-sample.ttl