一款免费灵活的外部知识搜索引擎
✨一个提供免费且灵活访问外部知识的代理!!目前,只有少数接口如DuckDuckGO可以用来免费获取外部知识。这些
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"knowledge_search_server": {
"args": [
"path/to/your/FreeKnowledge_AI/MCP.py"
],
"command": "python",
"transport": "stdio"
}
}
}
服务介绍
🔍FreeKnowledge AI
✨一个提供免费和灵活访问外部知识的代理!!
1. 📖介绍
目前,只有少数接口如DuckDuckGO可以用来免费获取外部知识。这些接口难以获得完整的外部知识,并且非常繁琐,无法获取与原始问题相关的外部知识。大多数效果较好的接口都相对昂贵,例如Bocha、Google等API。因此,我们开源了一个免费且灵活的外部知识接口——FreeKnowledge AI。
2. 😀简单 & 免费
- 您只需下载knowledge_AI依赖即可使用,非常方便!!
pip install FreeKnowledge-AI==0.2.0
- 获取外部知识的一个简单示例:
在使用之前,我们建议您阅读灵活部分,以更好地了解FreeKnowledge AI的灵活性。
from FreeKnowledge_AI import knowledge_center
# 1.Initialize the knowledge agent
center = knowledge_center.Center()
question = "2024年上海工程技术大学研究生复试分数线"
flag = False # Flag indicates whether a large model is needed, and the output content will be more beautiful and standard.
mode = "BAIDU" # Currently only supports "BAIDU" and "DUCKDUCKGO"。
# 2.Respond to external knowledge
results = center.get_response(question, flag, mode)
print(results)
- 从网站获取的外部知识日志:
- 控制台输出:
3. ⚡灵活
我们允许传入多种参数以更好地控制输出,包括:
question: 用户输入的问题(必填)。flag: 是否使用大模型提取爬取的外部知识的核心内容(默认为True)。mode: "BAIDU", "DUCKDUCKGO"(默认为"DUCKDUCKGO"),或"URL_SPECIFIC"。使用"DUCKDUCKGO"时需要使用VPN,而"BAIDU"则不需要。我们推荐使用"DUCKDUCKGO",因为爬取的结果更准确,但百度的响应速度会更快。
specific_url:指定要直接爬取的确切URL。例如:"https://docs.python.org/3/tutorial/model: 可以选择您想使用的大模型(默认为"internlm/internlm2_5-7b-chat")。base_url: 模型的base_url(默认为"https://api.siliconflow.cn/v1/chat/completions")。key: 传入您自己的密钥。max_web_results: 获取爬取的外部知识的数量(默认为5)。save_format: 指定保存结果的格式。设置为"json"会自动将结果保存到以您的问题命名的文件中(例如,"your_question.json")。
错误报告:
当您未能获取到网站内容时,请不要担心,稍等片刻,因为有些网站需要验证。另一个解决方案是增加重试次数和线程休眠时间。
4. 📋完整示例
from FreeKnowledge_AI import knowledge_center
center = knowledge_center.Center()
question = "2025年EMNLP会议的主题是什么?"
flag = True
mode = "DUCKDUCKGO"
results = center.get_response(question, flag, mode, model="internlm/internlm2_5-7b-chat",
base_url="https://api.siliconflow.cn/v1/chat/completions", key = "xxx", max_web_results = 2)
print(results)
5. 📈 评估
5.1 基准测试:
我们发布了学术搜索数据集,作为搜索引擎评估的统一学术领域基准。所有200个查询都是非开放式且困难的,仅从顶级会议和期刊的论文页面收集,并统一存储在dataset/目录中。每个查询都带有源网站上的可验证正确答案,并由两名计算机科学硕士生独立交叉检查。该数据集进一步分为两类:基于事实的判断题和基于事实的简答题,我们将继续扩展数据集到其他学科并开源更新。我们通过将搜索引擎的输出提供给InternLM3-8B来评估这些搜索引擎,然后InternLM3-8B会将每个响应与可验证的真实答案进行统一比较,以产生一致的结果。
5.2 特性:
- 非开放式;
- 困难;
- 可验证;
- 多类别;
学术领域示例:
Example 1:
{
"query": "EMNLP 2024的投稿主题是否包括计算社会科学与文化分析?",
"domain": "学术",
"ground_truth": true,
"answer_type": "boolean"
}
Example 2:
{
"query": "ACL 2025主题轨道的核心内容是什么?",
"domain": "学术",
"ground_truth": "聚焦自然语言处理模型的泛化能力,包括如何增强模型在组合性、结构性、跨任务、跨语言、跨领域及鲁棒性等多维度的泛化能力,探究影响泛化的因素,评估泛化能力的有效方法,以及大语言模型在泛化方面的关键局限性等",
"answer_type": "entity"
}
医学领域示例:
{
"query": "派安普利单抗注射液是否获得FDA批准用于治疗复发或转移性鼻咽癌?",
"domain": "医疗",
"ground_truth": true,
"answer_type": "boolean"
}
{
"query": "根据共识,儿童脓毒性休克液体复苏的首剂液体选择是什么?推荐剂量是多少?",
"domain": "医疗",
"ground_truth": "首剂液体选择等渗晶体液,剂量为20ml/kg,于5-10分钟内静脉推注",
"answer_type": "entity"
}
5.3 结果:
医学数据集:
| 方法 | 正确答案数 | 准确率 | 状态 |
|---|---|---|---|
| DuckDuckGO API (免费) | - | - | 未评估 |
| FreeKnowledge-AI (免费) | 138/200 | 69.00% | ✅ 已评估 |
| BoCha API (商业) | 86/200 | 43.00% | ✅ 已评估 |
| Exa API (商业) | - | - | 未评估 |
学术搜索数据集:
| 方法 | 正确答案数 | 准确率 | 状态 |
|---|---|---|---|
| DuckDuckGO API (免费) | 3/200 | 1.5% | ✅ 已评估 |
| FreeKnowledge-AI (免费) | 82/200 | 41.00% | ✅ 已评估 |
| BoCha API (商业) | 14/200 | 7.00% | ✅ 已评估 |
| Exa API (商业) | - | - | 未评估 |
注意: FreeKnowledge AI 的响应时间是DuckDuckGo和BoCha Search的15到20倍,并且BoCha Search对于200次查询大约需要15元人民币—比Exa贵得多—但结果明显更差。
6. 🛠️ MCP集成(新!)
FreeKnowledge AI现在支持MCP(模型控制协议)集成,允许您直接从兼容MCP的客户端如Claude、ChatGPT和其他代理使用其搜索功能。
设置MCP服务器
- 确保已安装MCP客户端库:
pip install mcp
- 创建一个
FreeKnowledgeMcp.json配置文件:
{
"mcpServers": {
"knowledge_search_server": {
"command": "python",
"args": ["path/to/your/FreeKnowledge_AI/MCP.py"],
"transport": "stdio"
}
}
}
可用的MCP工具
- baidu_search_with_summary: 使用百度搜索并用AI总结结果
- duckduckgo_search_with_summary: 使用DuckDuckGo搜索并用AI总结结果
- url_specific_with_summary: 从特定URL获取内容并用AI总结
7. 👇引用
如果您认为此项目对您有用,请点击星标并引用此项目。
@misc{Wu2024FreeKnowledge_AI,
title={FreeKnowledge_AI: An agent that provides free and flexible access to external knowledge,
author={Yuhang Wu and Wenzheng Wang and Henghua Zhang},
year={2025},
url=[{<url id="cuqmhcd43355nsg2o9dg" type="url" status="parsed" title="GitHub -VovyH/FreeKnowledge_AI" wc="6723">https://github.com/VovyH/FreeKnowledge_AI</url>}](https://github.com/VovyH/FreeKnowledge_AI/),
}