RagRabbit 是一个基于大语言模型的智能文档检索与生成平台,支持通过语义搜索快速定位文档内容,并提供上下文关联分析功能,能有效提升文档处理效率。
RagRabbit 是基于大语言模型的智能文档检索与生成平台,可通过语义搜索定位文档内容,还具备上下文关联分析功能。下面为你介绍其核心组件:
pnpm install @ragrabbit/core @ragrabbit/ui
创建一个名为 config.json 的配置文件:
{
"apiPort": 3000,
"vectorDBConfig": {
"type": "chroma",
"host": "localhost",
"port": 2000
},
"llmModel": {
"type": "llama2"
}
}
pnpm run dev
通过 vectorDBConfig 可以指定不同的向量数据库实现:
{
"vectorDBConfig": {
"type": "faiss", // 支持的类型包括:chroma, faiss, milvus
"host": "localhost",
"port": 6345
}
}
支持多种主流模型:
{
"llmModel": {
"type": "gpt-3", // 支持的类型包括:gpt-3, llama2, alpaca
"apiEndpoint": "https://api.example.com/v1",
"apiKey": "your-api-key"
}
}
通过 @ragrabbit/mcp 包快速搭建:
npx @ragrabbit/mcp start --port 3001
编辑 claude_desktop_config.json 文件,添加如下内容:
{
"mcpServers": {
"my-documentation": {
"command": "npx",
"args": ["@ragrabbit/mcp", "start"]
}
}
}
通过环境变量设置MPC服务器地址:
export MPC_SERVER=http://localhost:3001
在项目根目录下运行以下命令:
pnpm install @fumadocs/extension-rag
添加如下配置到 config.json 文件中:
{
"fumaIntegration": {
"enabled": true,
"apiKey": "your-fuma-api-key",
"workspaceId": "your-workspace-id"
}
}
git clone https://github.com/ragrabbit-project/rag.git
cd rag
pnpm install
实现自定义向量数据库:
interface VectorDB {
init(): Promise<void>;
addVectors(vectors: number[], metadata: object[]): Promise<string[]>;
searchSimilar(id: string, k: number): Promise<SearchResult[]>;
}
定义文本处理流程:
class TextProcessingPipeline {
private tokenizer;
private embeddings;
constructor() {
this.tokenizer = new Tokenizer();
this.embeddings = new LlamaEmbedder();
}
async process(text: string): Promise<ProcessedText> {
const tokens = this.tokenizer.tokenize(text);
const embeds = await this.embeddings.embed(tokens);
return { tokens, embeddings: embeds };
}
}
欢迎社区贡献代码!请参考 CONTRIBUTING.md 文件了解具体流程。
const rag = new RagManager({
vectorDB: new ChromaDB(),
llm: new Llama2()
});
async function search(query: string) {
const results = await rag.search(query, { limit: 5 });
return results.map(r => r.metadata);
}
project/
├── config.json # 全局配置文件
├── package.json # 项目依赖管理
├── src/ # 源代码目录
│ ├── core/ # 核心算法模块
│ └── ui/ # 用户界面组件
└── public/ # 静态资源目录
config.json{
"mode": "development", # 模式:开发或生产
"vectorDBConfig": { # 向量数据库配置
"type": "chroma",
"host": "localhost",
"port": 2000
},
"llmModel": { # 大语言模型配置
"type": "gpt-3",
"apiKey": "..."
}
}
本项目遵循MIT开源协议,详见 LICENSE 文件。
⚠️ 重要提示
本文档中的所有示例和配置均为通用指导,具体实现需根据实际需求调整。