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 Node
Verify Ingestion Node
The QA Agent is defined in agent.py. It consists of the following nodes:
Retrieve Node
Chat 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_KEY
DATABASE_URL
GOOGLE_API_KEY
TOGETHER_API_KEY
GITHUB_PERSONAL_ACCESS_TOKEN
MONGODB_ATLAS_CLUSTER_URI
These can be set in the respective .env
files.
This project is licensed under the MIT License.