AgentSearch:一个支持搜索代理并启用可定制本地搜索的框架
AgentSearch 是一个通过无缝整合来自不同提供商的LLM技术与多种搜索引擎来支持搜索代理的框架。此集成使得搜索代理能够通过检索增强生成(RAG)执行广泛的功能,包括总结搜索结果、生成新查询以及检索详细的下游结果。
AgentSearch 的功能
- 搜索代理集成:通过连接任何专门用于搜索的LLM(如 Sensei-7B)与受支持的搜索引擎,轻松构建一个搜索代理。
- 可定制搜索:结合AgentSearch 数据集使用该框架,部署一个可定制的本地搜索引擎。
- API端点集成:无缝集成多种托管提供商的API,以获得多样化的搜索解决方案,提供易用性和灵活性,包括Bing、SERP API和AgentSearch。此外,还支持来自SciPhi、HuggingFace、OpenAI、Anthropic等的LLM。
快速入门指南
安装
pip install agent-search
配置
从SciPhi获取您的免费API密钥并设置到您的环境中:
export SCIPHI_API_KEY=$MY_SCIPHI_API_KEY
使用方法
调用预配置的搜索代理端点:
# 需要环境中存在 SCIPHI_API_KEY
from agent_search import SciPhi
client = SciPhi()
# 搜索,然后总结结果并生成相关查询
agent_summary = client.get_search_rag_response(query='latest news', search_provider='bing', llm_model='SciPhi/Sensei-7B-V1')
print(agent_summary)
# { 'response': '...', 'other_queries': '...', 'search_results': '...' }
支持独立搜索和从AgentSearch搜索引擎的搜索:
# 需要环境中存在 SCIPHI_API_KEY
from agent_search import SciPhi
client = SciPhi()
# 执行搜索
search_response = client.search(query='Quantum Field Theory', search_provider='agent-search')
print(search_response)
# [{ 'score': '.89', 'url': 'https://...', 'metadata': {...} }]
编写您自己的定制搜索代理工作流程:
# 需要环境中存在 SCIPHI_API_KEY
from agent_search import SciPhi
client = SciPhi()
# 为任务指定指令
instruction = "您的任务是对给定查询和搜索结果执行检索增强生成(RAG)。以JSON格式返回您的答案,包括搜索结果的摘要和相关查询列表。"
query = "费马大定理是什么?"
# 构建搜索上下文
search_response = client.search(query=query, search_provider='agent-search')
search_context = "\n\n".join(
f"{idx + 1}. 标题: {item['title']}\nURL: {item['url']}\n文本: {item['text']}"
for idx, item in enumerate(search_response)
).encode('utf-8')
# 前缀以确保JSON响应
json_response_prefix = '{"summary":'
# 准备提示
formatted_prompt = f"### 指令:{instruction}\n\n查询:\n{query}\n\n搜索结果:\n${search_context}\n\n查询:\n{query}\n### 响应:\n{json_response_prefix}",
# 使用 Sensei-7B-V1 生成完成
completion = json_response_prefix + client.completion(formatted_prompt, llm_model_name="SciPhi/Sensei-7B-V1")
print(completion)
# {
# "summary": "\n费马大定理是一个数学命题,首先由费马提出 ... ",
# "other_queries": ["椭圆曲线在费马大定理证明中的作用", ...]
# }
社区与支持
- 与我们互动:加入我们的Discord 社区进行讨论和获取更新。
- 反馈与咨询:通过电子邮件联系我们以获得个性化支持。
其他注意事项
- 从AgentSearch项目的根目录执行命令。
- 用户指南即将推出!