Dify-Expert / README.md
Kabir08
Initial code, download index from Hugging Face Hub
45c65f8
|
Raw
History Blame Contribute Delete
1.97 kB
`# Dify Documentation Expert (RAG Chatbot)
A Retrieval-Augmented Generation (RAG) chatbot for Dify documentation, using MiniLM for semantic search and DistilBERT for answer generation. Built with Python, Flask, LangChain, and FAISS. Deployable on Vercel.
---
## Features
- Scrapes and processes Dify documentation
- Builds a FAISS vector store with MiniLM embeddings
- Uses DistilBERT for question answering
- Fast API with `/ask` and `/health` endpoints
- Ready for serverless deployment (Vercel)
---
## Project Structure
```
Dify-Expert/
β”œβ”€β”€ api/
β”‚ └── dify_api.py # Flask API (entry point for Vercel)
β”œβ”€β”€ dify_docs_scraper/
β”‚ β”œβ”€β”€ dify_rag.py # RAG logic (vector store + QA)
β”‚ β”œβ”€β”€ dify_faiss_index/ # FAISS index files
β”‚ └── ... # Scraper, processing scripts, etc.
β”œβ”€β”€ requirements.txt # Python dependencies
β”œβ”€β”€ vercel.json # Vercel config
β”œβ”€β”€ README.md # This file
└── futurescope.md # Project roadmap/ideas
```
---
## Quickstart
### 1. Install dependencies
```bash
pip install -r requirements.txt
```
### 2. Build the vector store (if not already built)
```bash
python3 dify_docs_scraper/build_vector_store.py
```
### 3. Run locally (API)
```bash
python3 api/dify_api.py
```
### 4. Query the API
```bash
curl -X POST http://localhost:8000/ask \
-H "Content-Type: application/json" \
-d '{"question": "What is Dify?"}'
```
---
## Deployment (Vercel)
1. Push to GitHub.
2. Connect repo to Vercel.
3. Deploy (Vercel auto-detects Python from requirements.txt).
4. Endpoints:
- `/ask` (POST)
- `/health` (GET)
---
## API Endpoints
- `POST /ask` β€” `{ "question": "..." }` β†’ `{ "answer": ..., "score": ..., "sources": [...] }`
- `GET /health` β€” `{ "status": "ok" }`
---
## Roadmap
See [`futurescope.md`](futurescope.md) for planned features and ideas.
---
## License
MIT