大型語言模型(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中文網其他相關文章!