使用Amadeus Toolkit和LangChain进行智能旅行决策

132 阅读2分钟

引言

在现代旅行规划中,如何高效地进行航班查询和预定显得尤为重要。Amadeus提供了一套强大的API,能够帮助开发者快速获取航空旅行信息。而LangChain则通过其灵活的框架,能够将类似的工具整合到一个强大的决策系统中。本教程将带您了解如何结合使用Amadeus Toolkit和LangChain,以便在旅行规划中做出更明智的决策。

主要内容

1. 准备工作

在开始之前,您需要拥有Amadeus API的访问密钥(AMADEUS_CLIENT_IDAMADEUS_CLIENT_SECRET)。您可以在Amadeus Self-Service APIs中注册以获取这些密钥。获取密钥后,将它们设置为环境变量以便进行身份验证。

import os

os.environ["AMADEUS_CLIENT_ID"] = "CLIENT_ID"
os.environ["AMADEUS_CLIENT_SECRET"] = "CLIENT_SECRET"

2. 安装必要的工具

在使用Python进行开发时,您需要确保安装以下工具:

%pip install --upgrade --quiet amadeus
%pip install -qU langchain-community

3. 创建工具箱

您可以通过LangChain框架创建Amadeus工具箱。默认情况下,AmadeusToolkit使用ChatOpenAI来识别给定位置附近的机场。

from langchain_community.agent_toolkits.amadeus.toolkit import AmadeusToolkit

os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY" # 使用API代理服务提高访问稳定性

toolkit = AmadeusToolkit()
tools = toolkit.get_tools()

4. 集成其他机器学习模型

除了OpenAI,您还可以使用其他的机器学习模型,比如来自HuggingFace的模型。

from langchain_community.llms import HuggingFaceHub

os.environ["HUGGINGFACEHUB_API_TOKEN"] = "YOUR_HF_API_TOKEN"

llm = HuggingFaceHub(
    repo_id="tiiuae/falcon-7b-instruct",
    model_kwargs={"temperature": 0.5, "max_length": 64},
)

toolkit_hf = AmadeusToolkit(llm=llm)

5. 使用Amadeus Toolkit创建Agent

创建一个Agent以便进行复杂的旅行查询。

from langchain import hub
from langchain.agents import AgentExecutor, create_react_agent
from langchain.agents.output_parsers import ReActJsonSingleInputOutputParser
from langchain.tools.render import render_text_description_and_args

llm = ChatOpenAI(temperature=0)

prompt = hub.pull("hwchase17/react-json")
agent = create_react_agent(
    llm,
    tools,
    prompt,
    tools_renderer=render_text_description_and_args,
    output_parser=ReActJsonSingleInputOutputParser(),
)

agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    verbose=True,
)

代码示例

以下示例展示了如何使用Agent来查询特定城市的机场代码。

response = agent_executor.invoke({"input": "What is the name of the airport in Cali, Colombia?"})
print(response)

常见问题和解决方案

  1. API访问受限:由于某些地区的网络限制,建议使用代理服务来提高访问稳定性。
  2. 数据准确性:Amadeus提供了测试环境,数据可能和生产环境不同。请确保在生产环境中再次验证数据。

总结和进一步学习资源

通过本文,您掌握了如何将Amadeus API与LangChain集成,以便进行智能的旅行决策。在此基础上,您可以探索更多的API接口和Agent功能,进一步提升旅行规划的效率。

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---