项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1181
技术标签
使用教程
环境要求
- Python 环境(可运行 pip 与 uvicorn)
- OpenAI 兼容的 API(OPENAI_API_KEY / OPENAI_BASE_URL)
- Zilliz(Milvus)向量库的 URI 与 Token
- Serper 搜索服务的 SERPER_API_KEY
- 可访问外网以调用上述第三方服务
安装与启动步骤
-
1准备 .env 文件
在项目根目录新建 .env,按 README 模板逐项填写搜索、OpenAI、Zilliz 与鉴权配置,留空的项服务会不可用。
SERPER_API_KEY= OPENAI_BASE_URL= OPENAI_API_KEY= OPENAI_MODEL=gpt-3.5-turbo OPENAI_EMBED_MODEL=text-embedding-ada-002 ZILLIZ_URI= ZILLIZ_TOKEN= ZILLIZ_DIM=1536 ZILLIZ_COLLECTION= AUTH_API_KEY= -
2安装依赖
在项目根目录执行,按 requirements.txt 安装 FastAPI、uvicorn 等运行依赖,建议先建虚拟环境。
pip install -r requirements.txt -
3启动 FastAPI 服务
在项目根目录用 uvicorn 启动 main:app,默认监听 8069 端口,--reload 便于开发时热更新。
uvicorn main:app --reload --port 8069 -
4验证 ping 接口
服务起来后访问根路径,确认进程与路由正常,再继续调用检索接口。
GET http://127.0.0.1:8069/ -
5调用 RAG 搜索
向 /rag-search 发 POST,请求头带 Bearer 鉴权,body 控制检索条数、是否重排与阈值过滤。
{ "query": "ThinkAny.AI", "search_n": 10, "search_provider": "google", "is_reranking": true, "is_detail": true, "detail_min_score": 0.7, "detail_top_k": 3, "is_filter": true, "filter_min_score": 0.8, "filter_top_k": 6 }
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
SERPER_API_KEY | 是 | Serper 搜索服务的密钥,用于执行 google 等搜索检索 | sk-serper-xxxxxxxx |
OPENAI_BASE_URL | 是 | OpenAI 兼容接口地址,可指向自建或第三方网关 | https://api.openai.com/v1 |
OPENAI_API_KEY | 是 | 调用大模型与嵌入模型的密钥 | sk-xxxxxxxx |
ZILLIZ_URI | 是 | Zilliz/Milvus 向量库的连接地址 | https://in03-xxxx.api.gcp-us-west1.zillizcloud.com |
ZILLIZ_TOKEN | 是 | Zilliz 向量库的访问令牌 | xxxxxxxx:xxxxxxxx |
AUTH_API_KEY | 是 | 本服务自身的鉴权密钥,请求需带 Bearer 该值 | xxx |
如何确认成功
浏览器或客户端访问 http://127.0.0.1:8069/ 的 GET ping 接口能正常返回,即代表服务启动成功。
常见问题
Q:请求 /rag-search 返回鉴权失败怎么办?
A:检查请求头 Authorization: Bearer {{apiKey}} 中的值是否与 .env 里的 AUTH_API_KEY 完全一致,注意大小写与空格。
Q:为什么检索没有结果或报向量库错误?
A:确认 ZILLIZ_URI、ZILLIZ_TOKEN 正确,ZILLIZ_COLLECTION 对应集合存在,且 ZILLIZ_DIM=1536 与 text-embedding-ada-002 的向量维度一致。
Q:能改默认端口吗?
A:可以,修改 uvicorn main:app --reload --port 8069 中的端口号,并同步调整客户端请求的 baseUri。
Q:可以用自建模型服务替代 OpenAI 吗?
A:可以,把 OPENAI_BASE_URL 指向兼容 OpenAI 协议的地址,并按需修改 OPENAI_MODEL 与 OPENAI_EMBED_MODEL。
注意事项
- .env 必须放在项目根目录,服务启动时读取。
- OPENAI_MODEL 默认 gpt-3.5-turbo,OPENAI_EMBED_MODEL 默认 text-embedding-ada-002,改动嵌入模型时需同步设置 ZILLIZ_DIM。
- ZILLIZ_DIM、ZILLIZ_COLLECTION 等其余配置项也需按 .env 模板补齐,否则相关功能不可用。
- 该服务依赖 Serper、OpenAI、Zilliz 三方密钥,建议先各自申请并验证可用后再启动。
核心亮点
- 提供统一 REST API,集成简单,降低 RAG 开发门槛
- 内置混合检索策略,兼顾关键词匹配与语义理解
- 支持多种文档格式与向量库,适配常见业务场景
不足之处
- 项目处于成长阶段,文档和社区生态有待完善
- 高级定制能力有限,复杂场景可能需要自行扩展
适用场景
- 企业内部知识库智能检索与问答
- 电商商品语义搜索与推荐
- 法律/医疗等专业领域的文档辅助查询
替代项目
LangChain、Haystack、txtai
上一篇:VSA
下一篇:RAG_Techniques
同类项目推荐
zvec-grep
开源
本地工作区一句话搜代码和文档,人和 AI 都能用
Local-first search across your workspace, built for humans and AI agents.
awesome-llm-wiki
开源
一站式找到构建AI知识库的蓝图、框架和指南。
A curated list of foundational blueprints, functional frameworks, and technical guid···
AIGEOTOOLS
开源
让品牌在 AI 回答中脱颖而出,被优先引用
GEO(AI 搜索引擎优化)智能内容优化平台 — 帮助品牌在 ChatGPT、Perplexity 等 AI 回答中···
grepai
开源
让 AI 代理本地语义搜代码、看调用关系,不传云端
Semantic Search & Call Graphs for AI Agents (100% Local)
awesome-OpenPrice
开源
查遍全网AI订阅价,一眼挑出最划算渠道
开源的 AI 订阅价格聚合与比价平台,收录 ChatGPT、Claude、Gemini、Grok、Cursor 等产品的···
rag-chatbot
开源
把你的 Markdown 文档变成智能问答机器人
RAG (Retrieval-augmented generation) ChatBot that provides answers based on contextu···
consult-web
开源
在 Emacs 里直接搜全网,不切窗口效率翻倍
Powerful Web and Omni Search inside Emacs
asreview
开源
让 AI 帮你优先读最该读的文献,综述筛选省时数倍
Active learning for systematic reviews
open-deep-research
开源
给个主题,开源模型自动查资料写报告
The Open Deep Research app – generate reports with OSS LLMs
