A Comprehensive Information Retrieval and Knowledge Management Platform
Ratatoskr is a tool designed to streamline information retrieval and knowledge management.
- Interactive Querying: Ratatoskr enables users to interact with a language model (Ollama) through a user-friendly interface to ask questions and get answers. It supports both direct querying and retrieval-augmented generation (RAG) for more contextually relevant responses.
- Metadata Summary Generation: The system can summarize metadata information from various sources.
- Document Processing: Ratatoskr can process both uploaded files (with type validation) and URLs (with RAG support) to extract information and store it for future retrieval.
- Elasticsearch Integration: It seamlessly integrates with Elasticsearch to store and retrieve documents and vectors, enabling powerful search capabilities and similarity-based retrieval.
- Flask: A lightweight web framework for building the API and user interface.
- Ollama: A local LLM model used for interactive querying and response generation.
- Elasticsearch: A distributed search and analytics engine for document and vector storage.
- LangChain: A framework for developing applications powered by language models.
- Hugging Face Embeddings: Embeddings models used for semantic search and similarity calculations.
-
Clone the Repository:
git clone [https://github.com/](https://github.com/)<your-username>/ratatoskr.git cd ratatoskr
-
Install Dependencies:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
(Optional) Docker Setup: If you prefer using Docker:
docker build -t ratatoskr . docker run -it \ --name ratatoskr \ -p 6666:6666 \ -v $(pwd)/config.yaml:/app/config.yaml \ ratatoskr
-
Configuration:
- Rename
config_sample.yaml
toconfig.yaml
. - Update
config.yaml
with your specific settings.
- Rename
-
Start Ratatoskr:
- From Source:
python src/main.py
- Using Docker:
docker start ratatoskr
- From Source:
Now you can access Ratatoskr at http://localhost:6666
.
Contributions are welcome! Please feel free to open issues or submit pull requests.