wangle201210/go-rag
基于eino+gf+vue实现知识库的rag
What it solves
It provides a complete system for building and managing personal or organizational knowledge bases using Retrieval-Augmented Generation (RAG). It simplifies the process of documenting, indexing, and chatting with your own data to ensure LLM responses are grounded in specific, uploaded documents.
How it works
The system uses a Go-based backend (eino+gf) and a Vue-based frontend. It processes uploaded documents (PDF, HTML, Markdown) or web pages, splits them into manageable chunks, and stores them in vector databases like Elasticsearch 8 or Qdrant. To retrieve information, it employs multi-path recall—combining content vectors, QA vectors, and BM25 keyword search—and uses Reciprocal Rank Fusion (RRF) to re-rank the results before feeding them to the LLM.
Who it’s for
Developers and users who want a self-hosted RAG solution that supports multiple knowledge bases and provides a GUI for managing document chunks and retrieval testing.
Highlights
- Multi-format Support: Parses Markdown, PDF, and HTML files as well as web pages.
- Advanced Retrieval: Combines vector search and keyword search (BM25) with RRF re-ranking for higher accuracy.
- Knowledge Management: Includes a GUI for creating knowledge bases, uploading documents, and manually editing text chunks.
- External Integration: Supports You.com for real-time web search and integrates with the Model Context Protocol (MCP) for use in tools like DeepChat.
- Flexible Storage: Compatible with both Elasticsearch 8 and Qdrant for vector data storage.
Related
- Project
- Project
- Project
- Project