使用Passio NutritionAI构建营养信息智能代理

在今天的文章中,我们将介绍如何利用Passio NutritionAI来创建一个能够提供食品营养信息的智能代理。我们将深入探讨技术背景、核心原理、代码实现演示以及应用场景分析,帮助您更好地理解NutritionAI的强大功能。

技术背景介绍

Passio NutritionAI是一项用于获取食品营养信息的服务。它为开发者提供了访问食品营养数据的API接口,因此应用广泛,包括健康应用、餐饮推荐系统等。通过使用NutritionAI,开发者可以轻松查找食品的营养成分,为用户提供更全面的健康建议。

核心原理解析

NutritionAI通过Restful API接口提供食品营养数据。开发者可以通过这些接口查询具体食品的营养成分。通常,这些接口需要一个有效的API密钥来访问。LangChain提供了对NutritionAI的集成,使得开发者可以轻松地将其与智能代理结合使用。

代码实现演示

下面的代码演示了如何使用LangChain以及Passio NutritionAI来创建一个智能代理,能够回答关于食品营养的信息:

环境设置

from dotenv import load_dotenv
from langchain_core.utils import get_from_env

load_dotenv()

# 获取NutritionAI的API密钥
nutritionai_subscription_key = get_from_env(
    "nutritionai_subscription_key", "NUTRITIONAI_SUBSCRIPTION_KEY"
)

NutritionAI工具初始化

from langchain_community.tools.passio_nutrition_ai import NutritionAI
from langchain_community.utilities.passio_nutrition_ai import NutritionAIAPI

# 初始化NutritionAI工具
nutritionai_search = NutritionAI(api_wrapper=NutritionAIAPI())

代理创建

from langchain_openai import ChatOpenAI
from langchain import hub
from langchain.agents import create_openai_functions_agent, AgentExecutor

# 创建语言模型
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)

# 获取并设置代理的提示信息
prompt = hub.pull("hwchase17/openai-functions-agent")
prompt.messages

# 初始化代理
agent = create_openai_functions_agent(llm, tools=[nutritionai_search], prompt=prompt)

# 创建代理执行器
agent_executor = AgentExecutor(agent=agent, tools=[nutritionai_search], verbose=True)

运行代理

# 使用代理处理查询
agent_executor.invoke({"input": "I had chicken tikka masala for dinner.  how much calories, protein, and fat did I have with default quantity?"})

应用场景分析

如此构建的代理可以帮助用户进行日常饮食的卡路里计算以及营养追踪,非常适合健康类应用、智能饮食推荐系统等场景。此外,还可以为用户提供更加个性化的健康管理建议。

实践建议

  1. 确保API密钥的安全性,避免泄露。
  2. 根据实际应用需求,调整代理的提示信息,以获得更精准的回答。
  3. 注意API调用频率,避免超出免费层级的限制。

如果遇到问题欢迎在评论区交流。

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值