關于大模型常見參數的說明,以及在OpenAI標準下的不同廠商的參數兼容性問題 原創
“ 理解模型的API參數,是我們使用好模型的前提,這也是很多人搞不明白為什么我配置了參數卻沒什么用,原因就是對不同模型廠商的參數理解不徹底。”
關于大模型的使用問題,其參數是其中非常重要的一個環節,原因就在于大模型的具體表現是由這些參數控制的;比如說temperature 就是用來控制模型的發散性參數。temperature的值越小,其輸出的文本更確定,更適合對準確性要求更高的場景;其值越大,模型發散性越高,更適合情感,寫作場景。
而stream參數是用來控制模型是否啟用流式輸出,在之前關于Langchain的文章中也提到過;任何上層應用框架控制流式輸出或非流式輸出,最終都是通過這個參數值進行控制的。
所以,今天我們就來梳理一下模型的參數,都有什么用,以及在兼容openai sdk標準的情況下,其參數是怎么傳遞的。
大模型的參數問題
在當前的大模型應用中,所有與大模型的交互都是通過模型參數控制的;當然這里所說的參數主要是指大模型的應用參數,或者說API參數,而不是指大模型本身動輒多少億的權重參數。
任何基于大模型開發的上層框架,不論其怎么封裝怎么設計,其最終調用大模型都是通過這些接口和參數進行的;比如說langchain的提示詞模板,記憶等封裝的花里胡哨的,但其最終只是會拼接成模型API所需要的messages模板參數。

一般情況下,大部門的模型廠商的模型參數都是差不多的,比如說model,messages,stream,temperature等我們最常用的參數,還有就是一些我們不怎么常用的參數,如top_k和top_p等。
雖然,現在的OpenAI基本上已經成為事實上的行業標準,不同的模型廠商參數也都在向OpenAI的參數標準進行靠攏,這樣能實現不同模型之間的低成本遷移。
但是,不同的模型廠商雖然大部分參數都是差不多的,但由于不同廠商模型的特殊性或業務需求,因此不同的廠商也會有其獨特的參數需求。
比如說關于函數調用——function call,在OpenAI和千問就有一些區別,以及???response_format格式化輸出參數也不完全相同。???
???在前兩年模型發展初期,各大模型廠商的參數和標準各不相同,因此就導致一個問題,那就是在不同模型廠商之間的遷移會變得很困難,需要重寫一部分與模型交互的代碼;特別是在前兩年openai突然限制大陸地區的使用,因此當時國內的模型廠商很快就兼容了openai的協議標準,這樣就可以把之前使用openai模型的應用快速遷移到國內的模型廠商。???
但畢竟還是那句話,每家模型廠商的業務和需求不同,即使再怎么兼容也會有部分微小的差異;因此,不同模型廠商為了同時兼容openai的標準,以及自身業務的需求,就對這些參數做了兼容;比如以千問為例,就是在openai sdk的參數中加了一個extra_body參數,其值是一個json對象,這樣通過extra_body就可以傳遞一些openai沒有但千問特有的參數。

如qwen3的思考模式就是通過傳遞extra_body={"enable_thinking": False}參數來實現的。
而對上層應用框架來說也是如此,以Langchain為例,其通過再上層接口中提供model_wargs和extra_body來兼容底層不同的模型廠商,openai,qwen,deepseek等,以及不同的部署框架vllm,ollama等。
所以,從應用者的角度來看,搞懂這些模型參數對我們開發大模型應用有著巨大的幫助;而且這也是模型本地部署必須要解決的一個問題,相同的模型使用不同的部署框架,可能其參數和效果都會不一樣。
本文轉載自??AI探索時代?? 作者:DFires

















