https://github.com/ragpi/ragpi
🤖 An open-source AI assistant answering questions using your docs
https://github.com/ragpi/ragpi
generative-ai llm python rag
Last synced: about 1 year ago
JSON representation
🤖 An open-source AI assistant answering questions using your docs
- Host: GitHub
- URL: https://github.com/ragpi/ragpi
- Owner: ragpi
- License: mit
- Created: 2024-09-12T21:41:40.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T12:39:11.000Z (over 1 year ago)
- Last Synced: 2025-03-29T22:08:11.743Z (about 1 year ago)
- Topics: generative-ai, llm, python, rag
- Language: Python
- Homepage: https://docs.ragpi.io
- Size: 566 KB
- Stars: 157
- Watchers: 4
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Ragpi
Ragpi is an open-source AI assistant that answers questions using your documentation, GitHub issues, and READMEs. It combines LLMs with intelligent search to provide relevant, documentation-backed answers through a simple API. It supports multiple providers like OpenAI, Ollama, and Deepseek, and has built-in integrations with Discord and Slack.
[Documentation](https://docs.ragpi.io) | [API Reference](https://docs.ragpi.io/api) | [Join Discord](https://discord.gg/tXN8dkqvcE)
## Key Features
- 📚 Builds knowledge bases from docs, GitHub issues and READMEs
- 🤖 Agentic RAG system for dynamic document retrieval
- 🔌 Supports OpenAI, Ollama, Deepseek & OpenAI-Compatible models
- 💬 Discord and slack integrations for community support
- 🚀 API-first design with Docker deployment
## Example Workflow
Here's a simple workflow to get started with Ragpi once it's deployed:
### 1. Set up a Source with a Connector
- Use the [`/sources`](https://docs.ragpi.io/api#tag/Sources/operation/create_source_sources_post) endpoint to configure a source with your chosen connector.
- Each connector type has its own configuration parameters.
Example payload using the Sitemap connector:
```json
{
"name": "example-docs",
"description": "Documentation for example project. It contains information about configuration, usage, and deployment.",
"connector": {
"type": "sitemap",
"sitemap_url": "https://docs.example.com/sitemap.xml"
}
}
```
### 2. Monitor Source Synchronization
- After adding a source, documents will be synced automatically. You can monitor the sync process through the [`/tasks`](https://docs.ragpi.io/api#tag/Tasks/operation/get_task_tasks__task_id__get) endpoint.
### 3. Chat with the AI Assistant
- Use the [`/chat`](https://docs.ragpi.io/api#tag/Chat/operation/chat_chat_post) endpoint to query the AI assistant using the configured sources:
```json
{
"sources": ["example-docs"],
"messages": [
{ "role": "user", "content": "How do I deploy the example project?" }
]
}
```
- You can also interact with the AI assistant through the [Discord](https://docs.ragpi.io/integrations/discord) or [Slack](https://docs.ragpi.io/integrations/slack) integration.
## Connectors
Ragpi supports the following connectors for building knowledge bases:
- **Documentation Website (Sitemap)**
- **GitHub Issues**
- **GitHub README Files**
[Explore connectors →](https://docs.ragpi.io/connectors)
## Providers
Ragpi supports the following LLM providers for generating responses and embeddings:
- **OpenAI** (default)
- **Ollama**
- **Deepseek**
- **OpenAI-compatible APIs**
[Configure providers →](https://docs.ragpi.io/providers/overview)
## Integrations
Ragpi supports the following integrations for interacting with the AI assistant:
- [**Discord**](https://docs.ragpi.io/integrations/discord)
- [**Slack**](https://docs.ragpi.io/integrations/slack)
## Contributing
Contributions to Ragpi are welcome! Please check out the [contributing guidelines](CONTRIBUTING.md) for more information.