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

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

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

















