淺談OpenAIClaude LLM Tools的額外配置

前言

  • https://platform.openai.com/docs/guides/function-calling?api-mode=chat&strict-mode=disabled#additional-configurations
  • https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview#forcing-tool-use

tool_choice

  1. “none” 就是不用tools, tools傳入也為味空
  2. auto,就是可能調用tool,或者不調用,agent loop,很多寫的范式都是,調用tool,就執行拿到結果進入下一個loop,如果不調用tool就直接
  3. required:必須使用其中一個到多個工具,這樣的agentloop可能就是tools里有對應的類似于stopTool,調用到就agent ending
  4. forced function: 只調用一個特定tool。

claude也是一樣的,就是傳入參數 required 為any了

parallel_tool_calls

parallel_tool_calls = True的時候返回的ChatCompletionMessage中的choice.message.tool_calls有多個 toolcall

為False的時候, 只能每次調用一個tool

Strict mode

“strict”= true的時候更能保證json output的輸出,這個參數感覺大家用的很少,實際上為true和false,對于tool的parameters寫法很多都可以等價

比如:

{"type": "function","function": {"name": "get_weather","description": "Retrieves current weather for the given location.","parameters": {"type": "object","properties": {"location": {"type": "string","description": "City and country e.g. Bogotá, Colombia"},"units": {"type": "string","enum": ["celsius", "fahrenheit"],"description": "Units the temperature will be returned in."}},"required": ["location"],}}
}

這個是我們平時很愛寫的寫法,看到的基本上都是這種,只會把一定需要的參數寫為required中,但openai的"strict"= true, 對type做一下修改是一樣的效果

{"type": "function","function": {"name": "get_weather","description": "Retrieves current weather for the given location.","strict": true,"parameters": {"type": "object","properties": {"location": {"type": "string","description": "City and country e.g. Bogotá, Colombia"},"units": {"type": ["string", "null"],"enum": ["celsius", "fahrenheit"],"description": "Units the temperature will be returned in."}},"required": ["location", "units"],"additionalProperties": false}}
}

加入 "null"的type

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78338.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78338.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78338.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SystemWeaver詳解:從入門到精通的深度實戰指南

SystemWeaver詳解:從入門到精通的深度實戰指南 文章目錄 SystemWeaver詳解:從入門到精通的深度實戰指南一、SystemWeaver環境搭建與基礎配置1.1 多平臺安裝全流程 二、新手必學的十大核心操作2.1 項目創建全流程2.2 建模工具箱深度解析 三、需求工程與系…

力扣DAY68 | 熱100 | 尋找兩個正序數組的中位數

前言 困難 ○ 這題搞了3天實在太難了,本質就是每次排除k/2個數,直到找到第k個數。 題目 給定兩個大小分別為 m 和 n 的正序(從小到大)數組 nums1 和 nums2。請你找出并返回這兩個正序數組的 中位數 。 算法的時間復雜度應該為…

Linux常見故障:排查思路與錯誤分析指南

引言 當Linux系統"生病"時,它不會說話但卻會通過各種癥狀"求救"🆘!本文將帶你建立系統化的故障排查思維,從磁盤到內存,從網絡到服務,全方位掌握Linux系統的"把脈問診"技巧。…

深度解析:從12306看混合云架構下的高并發系統設計

作為曾參與12306余票查詢系統高并發升級的技術從業者,筆者注意到公眾對于12306底層技術常存在認知盲區。為破解這一迷思,特此分享十年前的架構解密文獻(該技術之前名叫 gemfire 現已晉升為Apache頂級項目Geode,代碼庫詳見&#xf…

華為Pura X的智控鍵:讓折疊機體驗更上一層樓的設計

還記得Mate 70系列剛出那會,我體驗了下智控鍵,那時候就覺得這個“把快捷方式做進電源鍵”的交互方式非常驚艷,沒想到在Pura X上,這種便捷體驗感更上了一層樓。 智控鍵:折疊屏手機的天選快捷方式? 傳統折疊…

springboot如何管理多數據源?

靜態多數據源管理 配置多個數據源 :創建多個數據源的配置類,通常使用 @ConfigurationProperties 注解來綁定配置文件中的數據源屬性,并通過 @Bean 注解定義多個 DataSource Bean 。例如: 配置類: @Configuration public class DataSourceConfig {@Bean(name = "prima…

谷歌終止新冠疫情時期結構化數據支持:SEO影響與應對策略

2025年4月,谷歌悄然宣布將于7月31日起停止支持新冠疫情時期的“特殊公告”(SpecialAnnouncement)結構化數據。這一舉措標志著谷歌正式結束一項在疫情期間推出的實驗性功能,對依賴該結構化數據的網站管理員和SEO從業者來說&#xf…

常見游戲引擎介紹與對比

Unreal Engine (UE4/UE5) 主語言:C Unreal Engine 主要使用 C 作為開發語言。C 提供了高性能的底層控制,適用于需要精細調優的 AAA 級游戲。C 在 Unreal 中用于開發核心游戲邏輯、物理引擎等性能要求較高的部分。 腳本語言:藍圖(B…

【C++】繼承----下篇

文章目錄 前言一、實現一個不能繼承的類二、友元與繼承三、繼承與靜態成員四、多繼承以及菱形繼承問題1.繼承模型:2.菱形繼承的問題3.虛擬繼承解決數據冗余和二義性的原理4.虛擬繼承的原理 五、繼承的總結和反思1.繼承和組合 總結 前言 各位好呀!今天呢我們接著講繼…

洛谷 B3647:【模板】Floyd 算法

【題目來源】 https://www.luogu.com.cn/problem/B3647 【題目描述】 給出一張由 n 個點 m 條邊組成的無向圖。 求出所有點對 (i,j) 之間的最短路徑。 【輸入格式】 第一行為兩個整數 n,m,分別代表點的個數和邊的條數。 接下來 m 行,每行三…

netlist

在電子設計自動化(EDA)中,網表(Netlist) 是描述電路設計連接關系的核心數據結構,本質上是電路元件(如邏輯門、晶體管、模塊)及其互連關系的 文本化或結構化表示。它是從抽象設計&…

Cadence學習筆記之---原理圖設計基本操作

目錄 01 | 引 言 02 | 環境描述 03 | 原理圖工具介紹 04 | 原理圖設計基本操作 05 | 生成頁間引用 06 | 元件自動編號 07 | 結 尾 01 | 引 言 書接上回,在前文中講述了怎樣制作常用的庫元件,如電阻、二極管,IC器件,以及怎…

【華為HCIP | 華為數通工程師】821—多選解析—第十七頁

多選835、IS-IS協議所使用的NSAP地址主要由哪幾個部分構成? A、AREA ID B、SEL C、DSCp D、SYSTEM ID 解析:NSAP地址:網絡服務訪問點(Network Service Access Point)是 OSI 協議中用于定位資源的地址。NSAP 的地址結構如圖所示,它由 IDP(Initial Domain …

Linux系統中命令設定臨時IP

1.查看ip ---ifconfig 進入指定的網絡接口 ifconfig ens160 建立服務器臨時IP ifconfig ens160 ip地址 network 系統進行重啟后,臨時IP將會消失 ip address add ip地址 dev 服務器 ---添加臨時ip ip address delete ip地址 dev 服務器 ---刪除臨時ip 設置ip&a…

深度學習之卷積神經網絡入門

一、引言 在深度學習蓬勃發展的今天,卷積神經網絡(Convolutional Neural Network,簡稱 CNN)憑借其在圖像識別、計算機視覺等領域的卓越表現,成為了人工智能領域的核心技術之一。從手寫數字識別到復雜的醫學影像分析&a…

使用RabbitMQ實現判題功能

這次主要選用RabbitMQ消息隊列來對判題服務和題目服務解耦,題目服務只需要向消息隊列發送消息,判題服務從消息隊列中取信息去執行判題,然后異步更新數據庫即可。 五一寶寶請快點跑~~~~~ 先回顧一下RabbitMQ (1)引入依…

HTML5后臺管理界面開發

HTML5后臺管理界面開發 隨著互聯網技術的快速發展,后臺管理系統在各個業務領域中扮演著越來越重要的角色。它不僅幫助企業管理數據、用戶和業務流程,也為決策提供了依據。本文將介紹如何使用HTML5開發一個簡單的后臺管理界面,并結合代碼示例…

Oracle 11g RAC手動打補丁詳細步驟

備份: 節點1: root用戶備份GI_home tar cvf Ghome_backup.tar /oracle/grid/crsoracle用戶備份ORACLE_HOME tar cvf ohome_backup.tar $ORACLE_HOME節點2: root用戶備份GI_home tar cvf Ghome_backup.tar /oracle/grid/crsoracle用戶備份…

xfce桌面漢化設置

文章目錄 漢化配置小結 漢化配置 檢查當前語言環境,執行指令locale,如果輸出的 LANG、LC_ALL 等未包含 zh_CN.UTF-8,需要設置中文環境。 安裝中文語言包 sudo apt update sudo apt install language-pack-zh-hans language-pack-zh-hant設置…

如何在IDEA中高效使用Test注解進行單元測試?

在軟件開發過程中,單元測試是保證代碼質量的重要手段之一。而IntelliJ IDEA作為一款強大的Java開發工具,提供了豐富的功能來支持JUnit測試,尤其是通過Test注解可以快速編寫和運行單元測試。那么,如何在IDEA中高效使用Test注解進行…