一款免费灵活的外部知识搜索引擎

dadasdada/FreeKnowledgeAI
0 Stars 98 次浏览 更新于 2026-08-23

✨一个提供免费且灵活访问外部知识的代理!!目前,只有少数接口如DuckDuckGO可以用来免费获取外部知识。这些

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "knowledge_search_server": {
      "args": [
        "path/to/your/FreeKnowledge_AI/MCP.py"
      ],
      "command": "python",
      "transport": "stdio"
    }
  }
}

服务介绍

🔍FreeKnowledge AI

GitHub License
PyPI - Format
GitHub stars
PyPI - License
PyPI

✨一个提供免费灵活访问外部知识的代理!!

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服务器

  1. 确保已安装MCP客户端库:
pip install mcp
  1. 创建一个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/),

}

相关 MCP 服务