# deepagent-small-rag **Repository Path**: itfitness/deepagent-small-rag ## Basic Information - **Project Name**: deepagent-small-rag - **Description**: deepagent最小实现RAG - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-13 - **Last Updated**: 2026-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RAG 智能体 · 火山引擎 AI 音视频互动方案问答 基于 [deepagents](https://docs.langchain.com/oss/python/deepagents) 构建的简单 RAG 智能体,知识库为 `ragres.md`(火山引擎 AI 音视频互动方案 Android 集成指南),配套一个可流式对话的前端网页。 ## 架构 ``` ragres.md ─切分-> 文本块 ─Ollama 向量化(qwen3-embedding)─> FAISS 向量库 │ 检索工具 (search_knowledge_base) │ deepagents 智能体 (LLM: glm-5.2) │ FastAPI (SSE 流式) ← /chat/stream │ 前端网页 (static/index.html) ``` - **知识库**:`ragres.md` 按 markdown 结构切分(chunk 800 / overlap 150),用本地 **Ollama** 的 `qwen3-embedding:0.6b` 向量化,存入 FAISS。首次构建后落盘到 `vector_store/`,后续直接加载。 - **智能体**:deepagents 组装,通过 `HarnessProfile` 屏蔽自带的文件系统 / shell 工具,只保留检索工具;对话模型为 **glm-5.2**(OpenAI 兼容接口)。 - **服务端**:`server.py`(FastAPI),提供 `/chat`(非流式)与 `/chat/stream`(SSE 流式)接口。 - **前端**:`static/index.html`,单文件聊天界面,支持 Markdown / 代码高亮渲染、流式输出、检索中提示、建议问题。 ## 文件说明 | 文件 | 作用 | |------|------| | `agent.py` | 构建向量库、检索工具与 deepagents 智能体 | | `server.py` | FastAPI 服务端(含 SSE 流式接口) | | `static/index.html` | 前端聊天网页 | | `ragres.md` | RAG 知识库 | | `.env` | 环境变量配置(密钥留空,使用前填入自己的 Key) | ## 安装 ```bash pip install -r requirements.txt ``` ## 前置准备 ### 1. 启动本地 Ollama 并拉取向量模型 ```bash ollama pull qwen3-embedding:0.6b ``` Ollama 默认监听 `http://localhost:11434`,提供 OpenAI 兼容接口(`/v1`)。 ### 2. 配置 glm-5.2 在 `.env` 中填入 glm-5.2 的服务地址与 API Key: ``` GLM_BASE_URL=<你的 glm-5.2 OpenAI 兼容地址> GLM_API_KEY=<你的 API Key> GLM_MODEL=glm-5.2 ``` ### 3. 配置 Ollama(如非默认) ``` OLLAMA_BASE_URL=http://localhost:11434/v1 EMBEDDING_MODEL=qwen3-embedding:0.6b ``` ## 运行 ```bash python server.py ``` 启动后浏览器打开 http://localhost:8000 即可对话。 ## 验证知识库 可尝试以下问题: - 如何集成 RTC SDK 实现音视频通话? - `StartVoiceChat` 请求体有哪些关键参数? - AI 进不了房间或没有声音怎么排查? - 如何配置 TTS 语音合成的音色?