一、前言:
智譜AI與清華KEG實(shí)驗(yàn)室發(fā)布的ChatGLM大語(yǔ)言模型,支持8k上下文,在內(nèi)容創(chuàng)作、文本理解、信息抽取等任務(wù)上表現(xiàn)突出。經(jīng)過(guò)海量中英標(biāo)識(shí)符的預(yù)訓(xùn)練與人類(lèi)偏好對(duì)齊訓(xùn)練,相比一代模型在 MMLU、C-Eval、GSM8K 分別取得了16%、36%、280%的提升,并登頂中文任務(wù)榜單C-Eval。
二、獲取API Key:
1、打開(kāi)網(wǎng)址:智譜AI開(kāi)放平臺(tái)?注冊(cè)賬號(hào)登錄
2、登錄——右上角(查看API Key)
3、注冊(cè)后贈(zèng)送100萬(wàn)token,實(shí)名認(rèn)證后多贈(zèng)送400萬(wàn)(有效期一個(gè)月)
?
?
?
三、安裝及調(diào)用:
首先請(qǐng)通過(guò)如下方式進(jìn)行安裝:
pip install zhipuai
我們升級(jí)了最新的模型 GLM-4、GLM-3-Turbo,支持了System Prompt、Function Call、Retrieval、Web_Search等新功能。使用以上新功能需升級(jí)最新版本的 Python SDK。如您已安裝老版本SDK,請(qǐng)您更新到最新版SDK。
pip install --upgrade zhipuai
調(diào)用方式
示例1:
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填寫(xiě)您自己的APIKey
response = client.chat.completions.create(
model="glm-4", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
{"role": "user", "content": "作為一名營(yíng)銷(xiāo)專(zhuān)家,請(qǐng)為我的產(chǎn)品創(chuàng)作一個(gè)吸引人的slogan"},
{"role": "assistant", "content": "當(dāng)然,為了創(chuàng)作一個(gè)吸引人的slogan,請(qǐng)告訴我一些關(guān)于您產(chǎn)品的信息"},
{"role": "user", "content": "智譜AI開(kāi)放平臺(tái)"},
{"role": "assistant", "content": "智啟未來(lái),譜繪無(wú)限一智譜AI,讓創(chuàng)新觸手可及!"},
{"role": "user", "content": "創(chuàng)造一個(gè)更精準(zhǔn)、吸引人的slogan"}
],
)
print(response.choices[0].message)
示例2:
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填寫(xiě)您自己的APIKey
response = client.chat.completions.create(
model="glm-4v", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "圖里有什么"
},
{
"type": "image_url",
"image_url": {
"url" : "https://img1.baidu.com/it/u=1369931113,3388870256&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1703696400&t=f3028c7a1dca43a080aeb8239f09cc2f"
}
}
]
}
]
)
print(response.choices[0].message)
示例3:
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 請(qǐng)?zhí)顚?xiě)您自己的APIKey
response = client.chat.completions.create(
model="glm-3-turbo", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
{"role": "system", "content": "你是一個(gè)樂(lè)于解答各種問(wèn)題的助手,你的任務(wù)是為用戶(hù)提供專(zhuān)業(yè)、準(zhǔn)確、有見(jiàn)地的建議。"},
{"role": "user", "content": "我對(duì)太陽(yáng)系的行星非常感興趣,特別是土星。請(qǐng)?zhí)峁╆P(guān)于土星的基本信息,包括其大小、組成、環(huán)系統(tǒng)和任何獨(dú)特的天文現(xiàn)象。"},
],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta)
四、接口說(shuō)明:
模型編碼:glm-4
根據(jù)輸入的自然語(yǔ)言指令完成多種語(yǔ)言類(lèi)任務(wù),推薦使用 SSE 或異步調(diào)用方式請(qǐng)求接口
傳輸方式 |
https |
請(qǐng)求地址 |
https://open.bigmodel.cn/api/paas/v4/chat/completions |
調(diào)用方式 |
同步調(diào)用,等待模型執(zhí)行完成并返回最終結(jié)果或 SSE 調(diào)用 |
字符編碼 |
UTF-8 |
接口請(qǐng)求格式 |
JSON |
響應(yīng)格式 |
JSON 或標(biāo)準(zhǔn) Stream Event |
接口請(qǐng)求類(lèi)型 |
POST |
開(kāi)發(fā)語(yǔ)言 |
任意可發(fā)起 HTTP 請(qǐng)求的開(kāi)發(fā)語(yǔ)言 |
接口參數(shù)請(qǐng)求
model |
String |
是 |
所要調(diào)用的模型編碼 |
messages |
List<Object> |
是 |
調(diào)用語(yǔ)言模型時(shí),將當(dāng)前對(duì)話(huà)信息列表作為提示輸入給模型, 按照? |
request_id |
String |
否 |
由用戶(hù)端傳參,需保證唯一性;用于區(qū)分每次請(qǐng)求的唯一標(biāo)識(shí),用戶(hù)端不傳時(shí)平臺(tái)會(huì)默認(rèn)生成。 |
do_sample |
Boolean |
否 |
do_sample 為 true 時(shí)啟用采樣策略,do_sample 為 false 時(shí)采樣策略 temperature、top_p 將不生效 |
stream |
Boolean |
否 |
使用同步調(diào)用時(shí),此參數(shù)應(yīng)當(dāng)設(shè)置為 fasle 或者省略。表示模型生成完所有內(nèi)容后一次性返回所有內(nèi)容。 如果設(shè)置為 true,模型將通過(guò)標(biāo)準(zhǔn) Event Stream ,逐塊返回模型生成內(nèi)容。Event Stream 結(jié)束時(shí)會(huì)返回一條data: [DONE] 消息。 注意:在模型流式輸出生成內(nèi)容的過(guò)程中,我們會(huì)分批對(duì)模型生成內(nèi)容進(jìn)行檢測(cè),當(dāng)檢測(cè)到違法及不良信息時(shí),API會(huì)返回錯(cuò)誤碼(1301)。開(kāi)發(fā)者識(shí)別到錯(cuò)誤碼(1301),應(yīng)及時(shí)采?。ㄇ迤?、重啟對(duì)話(huà))等措施刪除生成內(nèi)容,避免其造成負(fù)面影響。 |
temperature |
Float |
否 |
采樣溫度,控制輸出的隨機(jī)性,必須為正數(shù) 取值范圍是: top_p ?或?temperature ?參數(shù),但不要同時(shí)調(diào)整兩個(gè)參數(shù) |
top_p |
Float |
否 |
用溫度取樣的另一種方法,稱(chēng)為核取樣 |
max_tokens |
Integer |
否 |
模型輸出最大 tokens |
stop |
List |
否 |
模型在遇到stop所制定的字符時(shí)將停止生成,目前僅支持單個(gè)停止詞,格式為 |
tools |
List |
否 |
可供模型調(diào)用的工具列表,tools 字段會(huì)計(jì)算 tokens ,同樣受到 tokens 長(zhǎng)度的限制 |
tool_choice |
String 或 Object |
否 |
用于控制模型是如何選擇要調(diào)用的函數(shù),僅當(dāng)工具類(lèi)型為function時(shí)補(bǔ)充。默認(rèn)為auto,當(dāng)前僅支持auto |
System Message格式
role |
String |
是 |
消息的角色信息,此時(shí)應(yīng)為 |
content |
String |
是 |
消息內(nèi)容 |
User Message格式
role |
String |
是 |
消息的角色信息,此時(shí)應(yīng)為 |
content |
String |
是 |
消息內(nèi)容 |
Assisant Message格式
role |
String |
是 |
消息的角色信息,此時(shí)應(yīng)為 |
content |
String |
"content"與"tool_calls"二必選一 |
消息內(nèi)容。其中包括了 |
tool_calls |
List |
"content"與"tool_calls"二必選一 |
模型產(chǎn)生的工具調(diào)用消息 |
Tool Message格式
tool message 代表工具被調(diào)用后返回的結(jié)果。模型根據(jù)tool message向用戶(hù)輸出自然語(yǔ)言格式的消息。
role |
String |
是 |
消息的角色信息,此時(shí)應(yīng)為 |
content |
String |
是 |
|
tool_call_id |
String |
是 |
tool的調(diào)用記錄 |
模型同步調(diào)用響應(yīng)內(nèi)容
id? |
String |
任務(wù)ID |
created |
Long |
請(qǐng)求創(chuàng)建時(shí)間,是以秒為單位的 Unix 時(shí)間戳 |
model |
String |
模型名稱(chēng) |
choices |
List |
當(dāng)前對(duì)話(huà)的模型輸出內(nèi)容 |
usage |
Object文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-843140.html |
結(jié)束時(shí)返回本次模型調(diào)用的 tokens 數(shù)量統(tǒng)計(jì)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-843140.html |
內(nèi)容生成流式響應(yīng)塊內(nèi)容
id |
String |
智譜 AI 開(kāi)放平臺(tái)生成的任務(wù)訂單號(hào),調(diào)用請(qǐng)求結(jié)果接口時(shí)請(qǐng)使用此訂單號(hào) |
created |
Long |
請(qǐng)求創(chuàng)建時(shí)間,是以秒為單位的 Unix 時(shí)間戳 |
choices |
List |
當(dāng)前對(duì)話(huà)的模型輸出內(nèi)容 |
usage |
Object |
結(jié)束時(shí)返回本次模型調(diào)用的 tokens 數(shù)量統(tǒng)計(jì)。 |
到了這里,關(guān)于智譜AI:ChatGLM API調(diào)用說(shuō)明的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!