rag-search 是搜索知识领域的开源项目,由 thinkany-ai 开发,2024 年首次发布。
在全站 13,090 个收录项目中,它的 GitHub 星标数(1,177)位列前 30%,在搜索知识分类中处于中上游。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。
它主要面向的使用场景是:企业内部知识库智能检索与问答。同类可对比的替代方案包括 LangChain、Haystack、txtai。

快速搭建语义搜索 API,让应用具备私有知识问答能力
rag-search 是一个基于 Python 的 RAG(检索增强生成)搜索 API 项目,旨在将检索与生成能力结合,为开发者提供开箱即用的语义搜索接口。它解决了传统关键词搜索无法理解语义、以及单独使用大模型时缺乏实时知识的问题。核心能力包括:文档索引、向量化存储、混合检索(关键词+向量)、以及与大模型生成管线的无缝衔接。项目通过简洁的 API 设计,让开发者可以快速集成到现有应用中,实现基于私有知识库的智能问答或搜索功能。其技术栈围绕向量数据库和嵌入模型构建,支持多种数据源接入,适合作为构建企业级知识问答系统的后端基础。
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.txt3启动 FastAPI 服务
在项目根目录用 uvicorn 启动 main:app,默认监听 8069 端口,--reload 便于开发时热更新。
uvicorn main:app --reload --port 80694验证 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。
LangChain、Haystack、txtai
rag-search 是搜索知识领域的开源项目,由 thinkany-ai 开发,2024 年首次发布。
在全站 13,090 个收录项目中,它的 GitHub 星标数(1,177)位列前 30%,在搜索知识分类中处于中上游。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。
它主要面向的使用场景是:企业内部知识库智能检索与问答。同类可对比的替代方案包括 LangChain、Haystack、txtai。
上一篇:VSA
下一篇:RAG_Techniques
firecrawl
开源
网页抓取像喝水一样简单,开发者省下整周加班
The web data API to search, scrape, and interact at scale.
contoso-chat
开源
一键跑通 Azure RAG 应用,从代码到评估部署全流程
This sample has the full End2End process of creating RAG application with Prompty an···
graphify
开源
整个代码库画成一张图,找问题一眼定位
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···
ragflow
开源
让大模型用上你的私有知识,搭建可靠的企业级RAG应用
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fu···