大型语言模型(LLMS)通常也很难可靠地产生诸如JSON之类的结构化输出,即使有高级提示。虽然迅速的工程有帮助,但它并不完美,偶尔会出现错误。本教程演示了LLM中的函数调用如何确保准确,一致的结构化数据。
函数调用允许LLMS生成结构化数据(通常是JSON)并与外部系统,API和工具进行交互,从而在保持准确性的同时启用复杂的,上下文感知的任务。我们将使用以其准确性而闻名的GPT-4.5来构建功能称呼脚本。首先,我们将创建一个以获取股票价格的功能;然后,我们将添加另一个,让LLM根据提示在多个工具之间进行选择。最终申请将提供股票价格和新闻提要。
来自作者的图像
GPT-4.5的函数调用优势:
GPT-4.5增强了功能调用,改善了与外部系统的交互和复杂的任务处理。关键功能包括:
(有关OpenAI模型的详细信息,请参见博客“ GPT 4.5:功能,访问,GPT-4O比较以及更多”。)
单功能通话(股票价格):
我们将使用GPT-4.5和yahooquery
库(用于Yahoo Finance Data)构建一个简单的系统。用户询问股票价格,触发功能以检索并以价格做出回应。
安装库:
!PIP安装OpenAi Yahooquery -Q
股票价格功能:此Python功能采用股票符号(例如AAPL)并返回其价格。
来自Openai Import Openai 进口JSON 来自yahooquery进口股票 def get_stock_price(ticker): 尝试: t =股票(股票) Price_data = T.Price 如果Price_data和Price_data [tricker] .get(“常规MarketPrice”)中的tricker不是: 价格= Price_data [tricker] [“常规MarkartPrice”] 别的: 返回f“ {tricker}的价格信息不可用。” 除例外为E: 返回f“无法检索{tricker}的数据:{str(e)}” 返回f“ {tricker}当前以$ {PRISE:.2F}的交易
定义工具:我们为OpenAI创建一个工具定义(字典列表),指定函数的名称,描述和输出类型。
工具= [{{ “ type”:“函数”, “功能”: { “名称”:“ get_stock_price”, “描述”:“从雅虎财务中获取当前股价。” “参数”: { “类型”:“对象”, “特性”: { “股票”:{“ type”:“ string”} },, “必需”:[“股票”], “额外的properties”:false },, “严格”:是的 } ]]
调用该功能:我们将用户消息发送到GPT-4.5,指定模型和工具。
客户端= OpenAi() 消息= [{{“角色”:“用户”,“ content”:“元股票的当前价格是多少?”}] completion = client.chat.completions.create(model =“ gpt-4.5-preview”,messages =消息,工具=工具) 打印(完成。
执行并返回:我们提取股票,运行get_stock_price
,然后打印结果。然后,我们通过将其发送回自然语言格式的模型来完善响应。
多功能调用(股价和新闻):
我们添加了一个功能,可以使用feedparser
库检索库存新闻。
安装feedparser
:
!pip安装feedparser -q
股票新闻功能:此功能为给定的股票提供了前三名新闻头条。
进食饲料剂 def get_stock_news(tricker): rss_url = f“ https://feeds.finance.yahoo.com/rss/2.0/headline?s = {ticker}&region = us&lang = en-us” 尝试: feed = feedParser.parse(rss_url) 如果不是饲料。进入: 返回f“没有发现{tricker}的消息”。 news_items = [f“ {entry.title}({entry.link})用于feed.entries [:3]] 返回f“ {tricker}的最新新闻:\ n {chr(10).join(news_items)}” 除例外为E: 返回f“无法检索{tricker}的新闻:{str(e)}”
定义多个工具:我们更新tools
列表以包括两个功能。
模型选择:我们向GPT-4.5提出一个需要两个功能的问题(例如,“ Google股票价格和新闻”)。 GPT-4.5将自动选择并调用适当的功能。
结果处理:我们根据LLM返回的函数名称使用条件逻辑来处理这两个函数的结果。然后将结果传递回LLM,以获得最终的人类可读响应。
结论:
本教程演示了函数如何呼叫授权LLM的能力生成结构化的输出并与外部资源进行交互。这种方法提高了LLM驱动的应用程序的可靠性和准确性,为更复杂的AI系统铺平了道路。像GPT-5这样的未来进步有望在这一领域更大。提供的代码片段可以合并和扩展,以创建更复杂和强大的应用程序。
以上是GPT-4.5功能致电教程:提取AI的股票价格和新闻的详细内容。更多信息请关注PHP中文网其他相关文章!