AgentSearch 项目介绍
AgentSearch 是一个框架,旨在通过将不同供应商的语言模型技术(LLM)与各类搜索引擎无缝集成,从而支持搜索代理。这种集成使得搜索代理可以通过检索增强生成(RAG)执行多种功能,包括总结搜索结果、生成新查询和检索详细的后续结果。
AgentSearch 的功能特色
- 搜索代理集成:轻松构建搜索代理,只需将任何专注于搜索的 LLM,如 Sensei-7B,与支持的搜索引擎连接即可。
- 可定制搜索:结合使用 AgentSearch 数据集,可以部署可自定义的本地搜索引擎。
- API 端点集成:与各种托管提供商 API 无缝集成,提供使用便捷且灵活的搜索解决方案,包括 Bing、SERP API 和 AgentSearch。同时,框架支持来自 SciPhi、HuggingFace、OpenAI、Anthropic 等的 LLMs。
快速入门指南
安装
可以通过以下命令进行安装:
pip install agent-search
配置
从 SciPhi 获取免费 API 密钥,并在环境中设置:
export SCIPHI_API_KEY=$MY_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)
支持独立搜索以及使用 AgentSearch 搜索引擎:
from agent_search import SciPhi
client = SciPhi()
# 执行搜索
search_response = client.search(query='Quantum Field Theory', search_provider='agent-search')
print(search_response)
自定义编写搜索代理工作流程:
from agent_search import SciPhi
client = SciPhi()
instruction = "Your task is to perform retrieval augmented generation (RAG) over the given query and search results. Return your answer in a json format that includes a summary of the search results and a list of related queries."
query = "What is Fermat's Last Theorem?"
search_response = client.search(query=query, search_provider='agent-search')
search_context = "\n\n".join(
f"{idx + 1}. Title: {item['title']}\nURL: {item['url']}\nText: {item['text']}"
for idx, item in enumerate(search_response)
).encode('utf-8')
json_response_prefix = '{"summary":'
formatted_prompt = f"### Instruction:{instruction}\n\nQuery:\n{query}\n\nSearch Results:\n${search_context}\n\nQuery:\n{query}\n### Response:\n{json_response_prefix}"
completion = json_response_prefix + client.completion(formatted_prompt, llm_model_name="SciPhi/Sensei-7B-V1")
print(completion)
社区与支持
- 与我们互动:加入我们的 Discord 社区,参与讨论和获取更新。
- 反馈与咨询:通过电子邮件联系我们,获取个性化支持。
其他说明
- 请从 AgentSearch 项目的根目录执行命令。
- 用户指南即将推出!