This project, legal-online-comp, is designed to create a legal-related application with both online and offline components. It integrates an LLM (Large Language Model) with a Vector Database (VectorDB) to process and manage data efficiently. The current implementation uses Ollama for the LLM and PGVector as the VectorDB.
- Online Component: Handles interactions with the LLM and serves the application.
- Offline Component: Responsible for ingesting data into the VectorDB.
- VectorDB: Stores and retrieves vectorized data for efficient querying.
- Integrated LLM: Utilizes Ollama for natural language processing. You can also use alternatives like LM Studio or a Docker container with llama-cpp-python.
The configurations for both the LLM and the VectorDB are defined within their respective components. Ensure that the configuration settings align with the specific requirements of the LLM bindings.
The offline component is used to ingest data into the VectorDB. You can choose from different VectorDBs, such as PGVector, FAISSDB, or ChromaDB. This example uses PGVector.
- Docker installed on your machine.
To build the Docker image for this project, run the following command in your terminal:
docker build -t legal-online-bot .
docker run -d -p 4000:80 legal-online-bot
docker ps
This command will list all running Docker containers.
Future Scope
This project can be further scaled by introducing Kubernetes for container orchestration, allowing for better scalability and management of the application.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Acknowledgments
Ollama for the LLM integration. PGVector for the vector database.