https://github.com/jocker-123/chatq
Local Retrieval-Augmented Generation (RAG) system built with FastAPI, integrating vector search, Elasticsearch, and optional web search to power LLM-based intelligent question answering using models like Mistral or GPT-4.
https://github.com/jocker-123/chatq
chatbot chatbot-framework chatql-react chatroom clean-ui fastapi flutter-bloc graphql mqtt nestjs nodejs rag semantic-search vector-database
Last synced: 10 months ago
JSON representation
Local Retrieval-Augmented Generation (RAG) system built with FastAPI, integrating vector search, Elasticsearch, and optional web search to power LLM-based intelligent question answering using models like Mistral or GPT-4.
- Host: GitHub
- URL: https://github.com/jocker-123/chatq
- Owner: Jocker-123
- License: other
- Created: 2025-04-05T02:40:52.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-09-06T11:39:04.000Z (10 months ago)
- Last Synced: 2025-09-06T13:22:51.984Z (10 months ago)
- Topics: chatbot, chatbot-framework, chatql-react, chatroom, clean-ui, fastapi, flutter-bloc, graphql, mqtt, nestjs, nodejs, rag, semantic-search, vector-database
- Language: HTML
- Size: 2.18 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
```markdown
# ChatQ ๐๐ค



Welcome to **ChatQ**, a Local Retrieval-Augmented Generation (RAG) system. This project leverages FastAPI and integrates cutting-edge technologies like vector search, Elasticsearch, and optional web search. With ChatQ, you can harness the power of large language models (LLMs) such as Mistral or GPT-4 for intelligent question answering.
---
## Table of Contents
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
---
## Features
- **Intelligent Question Answering**: Utilize LLMs to answer complex queries.
- **Local RAG Implementation**: Combine local data retrieval with generative models for effective responses.
- **FastAPI Framework**: Built on FastAPI for rapid deployment and high performance.
- **Vector Search**: Implement vector-based search for precise information retrieval.
- **Integration with Elasticsearch**: Leverage Elasticsearch for advanced search capabilities.
- **Web Search Option**: Include an optional web search for real-time data access.
---
## Technologies Used
ChatQ combines various technologies to achieve its goals:
- **FastAPI**: A modern, fast (high-performance) web framework for building APIs with Python 3.7+.
- **Elasticsearch**: A distributed, RESTful search and analytics engine designed for horizontal scalability.
- **Vector Databases**: Store and retrieve vectors efficiently for semantic search.
- **LLMs**: Utilize models like Mistral and GPT-4 for natural language understanding.
- **Langchain**: A framework for building applications powered by LLMs.
---
## Getting Started
To get started with ChatQ, you will need to clone the repository and install the necessary dependencies.
### Prerequisites
- Python 3.7 or higher
- pip (Python package installer)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/Jocker-123/ChatQ.git
```
2. Navigate to the project directory:
```bash
cd ChatQ
```
3. Install the required packages:
```bash
pip install -r requirements.txt
```
4. Start the FastAPI server:
```bash
uvicorn main:app --reload
```
Your ChatQ server should now be running at `http://localhost:8000`.
---
## Usage
Once the server is up, you can start making requests to the API.
### Example Request
You can use tools like **Postman** or **cURL** to interact with the API. Hereโs a simple example using cURL:
```bash
curl -X POST "http://localhost:8000/ask" -H "Content-Type: application/json" -d '{"question": "What is Retrieval-Augmented Generation?"}'
```
### Example Response
The API will return a JSON response with the answer to your question:
```json
{
"answer": "Retrieval-Augmented Generation (RAG) is a framework that combines retrieval and generation techniques to answer questions more effectively."
}
```
---
## Contributing
We welcome contributions to ChatQ! If you want to contribute, please follow these steps:
1. Fork the repository.
2. Create a new branch for your feature or fix.
3. Make your changes.
4. Submit a pull request.
Please ensure your code adheres to the existing style and includes tests where applicable.
---
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
---
## Contact
For any inquiries or suggestions, feel free to reach out:
- **GitHub**: [Jocker-123](https://github.com/Jocker-123)
- **Email**: your-email@example.com
---
## Releases
For the latest updates and releases, please check the [Releases section](https://github.com/Jocker-123/ChatQ/releases).

---
## Acknowledgements
We would like to thank the developers of FastAPI, Elasticsearch, and the contributors of the libraries used in this project.
---
## Additional Resources
- [FastAPI Documentation](https://fastapi.tiangolo.com/)
- [Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)
- [Langchain Documentation](https://langchain.readthedocs.io/)
---
Feel free to explore the code and contribute to the development of ChatQ. Your feedback and suggestions are invaluable as we continue to improve this project.
---

```