rag-support-bot:自托管文档问答助手概览与快速开始

发布时间:2026/7/22 8:33:55

rag-support-bot:自托管文档问答助手概览与快速开始 项目概述rag-support-bot 是一个自托管的文档问答助手适用于产品文档、内部手册、政策说明和支持知识库等场景。仓库主要使用 Python并包含前端小组件相关的 JavaScript 与 Shell 脚本。项目通过读取本地知识库目录中的文件构建检索索引在用户提问时返回相关文档片段并可在配置完成后生成带来源引用的流式回答。根据仓库 README项目支持 Markdown、文本、PDF、Word.docx、Excel.xlsx和 HTML 文件。默认实现使用内存中的 BM25 索引不要求部署向量数据库。需要注意的是依赖与接口行为可能随版本变化而调整部署前应核对当前仓库 README、配置示例和官方依赖文档。核心能力文档解析rag/ingest.py会按文档结构切分内容例如 Markdown、HTML、Word 按标题PDF 按页Excel 按工作表和行处理。检索索引rag/retriever.py对切分后的片段建立 BM25 索引README 提到 CJK 文本会使用字符 bigram 进行索引。自动重载rag/index.py会对文档目录生成指纹并在文件变化时后台重建内存索引。流式接口POST /api/chat通过 Server-Sent Events 返回结果事件包括来源、生成文本片段和结束信号。来源展示当SHOW_SOURCEStrue时接口会发送并显示文档来源标签同时提示模型使用引用。无生成密钥模式如果未设置OPENAI_API_KEY服务仍可作为可搜索的来源查看器返回相关摘录和引用但不会合成回答。可嵌入小组件static/widget.js与static/widget.css提供浮动网页组件可嵌入其他站点跨域部署时需要配置ALLOWED_ORIGINS并按实际站点设置 CSP。常见配置项包括OPENAI_API_KEY、OPENAI_BASE_URL、MODEL、TOP_K、RATE_LIMIT_PER_MIN、BOT_LANG、DOCS_DIR、SHOW_SOURCES和ALLOWED_ORIGINS。其中 README 给出的MODEL默认值为gpt-5.4实际可用模型应以所接入的 OpenAI 兼容服务文档为准。快速开始使用 Python 运行pipinstall-rrequirements.txtcp.env.example .envexportOPENAI_API_KEYsk-... uvicorn app:app--reload也可以使用 Docker Composecp.env.example .envdockercompose up--build启动后访问http://localhost:8000。如果暂不配置OPENAI_API_KEY仍可验证检索与来源返回能力。嵌入网页小组件时可在宿主页面加入scriptsrchttps://your-domain.example/static/widget.js?vRELEASE_IDdata-api-basehttps://your-domain.example/script跨域嵌入时需要在服务端设置类似ALLOWED_ORIGINShttps://your-site.com的允许来源并确认widget.js、widget.css和/api/config能正常访问。上线更新时README 建议同步应用与静态资源、重启服务、检查/api/health、/api/config、小组件资源以及一次真实聊天请求并更新脚本 URL 中的v参数以避免缓存混用。推荐地址示例网站https://bot.xyh.wiki项目仓库https://github.com/xyh-wiki/rag-support-bot

相关新闻