DocQuery is a comprehensive project consisting of both frontend and backend components. The frontend is built with Next.js and Tailwind CSS, providing a user-friendly interface to create powerful knowledge bases for LLMs using markdown documentation. The backend leverages FastAPI to provide endpoints for different agents built using the langgraph library and integrated into the FastAPI application using CopilotKitSDK.
-
Clone the repository:
git clone https://github.com/md-abid-hussain/docquery.git cd docquery-frontend -
Install dependencies:
npm install
-
Copy the example environment file and fill in the required values:
cp .env.example .env
-
Start the development server:
npm run dev
-
The application will be available at
http://localhost:3000.
-
Clone the repository:
git clone <repository-url> cd docquery-backend
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Copy the example environment file and fill in the required values:
cp .env.example .env
-
Start the FastAPI server:
uvicorn app.main:app --reload
-
The application will be available at
http://127.0.0.1:8000.
- GitHub Integration: Easily fetch repository details and select markdown files for ingestion.
- Markdown Processing: Ingest and process markdown files used for documentation or detailed explanations.
- Knowledge Base Creation: Build comprehensive knowledge bases for LLMs from your documentation.
- AI-Powered Insights: Leverage advanced LLMs to generate insights and answer queries based on your knowledge base.
The Ingestion Agent is defined in agent.py. It consists of the following nodes:
Ingestion NodeVerify Ingestion Node
The QA Agent is defined in agent.py. It consists of the following nodes:
Retrieve NodeChat Node
GET /: Returns a simple greeting message.POST /copilotkit: Endpoint for interacting with the agents.
The application requires the following environment variables to be set:
TOGETHER_AI_API_KEYDATABASE_URL
GOOGLE_API_KEYTOGETHER_API_KEYGITHUB_PERSONAL_ACCESS_TOKENMONGODB_ATLAS_CLUSTER_URI
These can be set in the respective .env files.
This project is licensed under the MIT License.
