我們可以參考某一個(gè)大模型對(duì)應(yīng)的官方文檔,學(xué)習(xí)如何調(diào)用其API

智譜AI大模型API調(diào)用的過(guò)程

智譜AI是清華大學(xué)計(jì)算機(jī)系技術(shù)成果轉(zhuǎn)化而來(lái)的公司,公司產(chǎn)品包括:中英雙語(yǔ)千億級(jí)超大規(guī)模預(yù)訓(xùn)練模型GLM-130B,并基于此推出對(duì)話模型ChatGLM;高效率代碼模型CodeGeeX;多模態(tài)理解模型CogVLM和文生圖模型CogView等。

獲取API_KEY

調(diào)用API首先需要獲取API,每個(gè)用戶需要自己注冊(cè)申請(qǐng)對(duì)應(yīng)的API。進(jìn)入智譜AI官網(wǎng),注冊(cè)后申請(qǐng)API,復(fù)制API_KEY以便后續(xù)調(diào)用:

現(xiàn)在打開(kāi)API調(diào)用參考文檔:通用大模型和圖像大模型,直接復(fù)制其代碼,看看輸出是什么樣的!

GLM_4同步調(diào)用

同步調(diào)用就是創(chuàng)建一個(gè)調(diào)用任務(wù)后,一直運(yùn)行這個(gè)任務(wù)直到收到大模型的響應(yīng)輸出;對(duì)應(yīng)的是異步調(diào)用,創(chuàng)建調(diào)用任務(wù)后獲得這個(gè)任務(wù)的request-id,之后可以去干其他事情,后續(xù)通過(guò)這個(gè)任務(wù)ID查看模型的輸出。

from zhipuai import ZhipuAI  # 先安裝ZhipuAI的包 pip install ZhipuAI
client = ZhipuAI(api_key="xxxx") # 填寫(xiě)您自己的APIKey
response = client.chat.completions.create(
model="glm-4", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
# messages是json格式的數(shù)據(jù),大模型逐條響應(yīng)
{"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"}
],
)
# 直接輸出response,查看響應(yīng)的具體內(nèi)容
print(response)

輸出的完整json數(shù)據(jù):

如果只關(guān)注最終輸出的message的content,可以只取response.choices[0].message.content

上面例子傳入大模型的message列表里面,有user的信息,也有assistant的信息,大模型實(shí)際響應(yīng)的只有user對(duì)應(yīng)的content,但是assistant的內(nèi)容可以為大模型提供一些上下文或者提示。

message只傳入用戶的輸入,并多次問(wèn)答的例子如下:

from zhipuai import ZhipuAI

client = ZhipuAI(api_key="xxxxxx") # 填寫(xiě)您自己的APIKey
# 循環(huán)提問(wèn)/對(duì)話
while True:
# 接收用戶輸入作為問(wèn)題
prompt = input("\nuser:")
response = client.chat.completions.create(
model="glm-4", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
{"role": "user", "content": prompt}
],
)
answer = response.choices[0].message.content
print("\nZhipuAI:",answer) # 只輸出大模型響應(yīng)的message.context
123456789101112131415

結(jié)果:

上述例子雖然user能夠無(wú)限次的與大模型進(jìn)行對(duì)話(交互),但由于message中只有用戶單次的問(wèn)題,沒(méi)有保存上下文的信息,因此如果前后問(wèn)題有銜接,這樣的方式是不行的。應(yīng)該使用多輪對(duì)話,將每輪對(duì)話的問(wèn)答保存在message中,傳給大模型為其提供對(duì)話的上下文。

GLM_4異步調(diào)用

參考官方文檔,異步調(diào)用獲取結(jié)果包括兩步:①獲取模型的響應(yīng)ID,②根據(jù)ID查詢(xún)響應(yīng)結(jié)果;

import time
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="xxxxxx") # 請(qǐng)?zhí)顚?xiě)您自己的APIKey

response = client.chat.asyncCompletions.create(
model="glm-4", # 填寫(xiě)需要調(diào)用的模型名稱(chēng)
messages=[
{
"role": "user",
"content": "請(qǐng)你作為童話故事大王,寫(xiě)一篇短篇童話故事,故事的主題是要永遠(yuǎn)保持一顆善良的心,要能夠激發(fā)兒童的學(xué)習(xí)興趣和想象力,同時(shí)也能夠幫助兒童更好地理解和接受故事中所蘊(yùn)含的道理和價(jià)值觀。"
}
],
)
# 獲取響應(yīng)ID
task_id = response.id
task_status = ''
get_cnt = 0

while task_status != 'SUCCESS' and task_status != 'FAILED' and get_cnt <= 40:
# 查詢(xún)響應(yīng)結(jié)果
result_response = client.chat.asyncCompletions.retrieve_completion_result(id=task_id)
print(result_response)
task_status = result_response.task_status

time.sleep(2)
get_cnt += 1
1234567891011121314151617181920212223242526

運(yùn)行輸出如下:

可以看到在得到大模型的響應(yīng)輸出前,狀態(tài)一直是processing;知道大模型響應(yīng)。

文生圖大模型API調(diào)用

Cogview是文生圖的大模型,直接復(fù)制的官方文檔的代碼:

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="xxxxx") # 請(qǐng)?zhí)顚?xiě)您自己的APIKey

response = client.images.generations(
model="cogview-3", #填寫(xiě)需要調(diào)用的模型名稱(chēng)
prompt="一只可愛(ài)的小貓咪",
)
print(response.data[0].url)

123456789

結(jié)果(0.25一張照片嗚嗚嗚嗚嗚嗚嗚)返回圖片url:https://sfile.chatglm.cn/testpath/b158178b-e00c-5ea0-92bb-f2962922b877\_0.png ??:

阿里云通義千問(wèn)API調(diào)用過(guò)程

通義千問(wèn)是阿里云開(kāi)發(fā)的基于QWen模型的聊天模型,QWen模型是開(kāi)源的。調(diào)用API同樣需要先獲取API_KEY——首先注冊(cè)阿里云的賬號(hào),然后進(jìn)入靈積平臺(tái)創(chuàng)建API-KEY:

之后查看通義千問(wèn)的官方API調(diào)用文檔??快速入門(mén),會(huì)話可以分為單輪會(huì)話和多輪會(huì)話:

單輪會(huì)話

可以通過(guò)message和prompt兩種方式調(diào)用API

import random
from http import HTTPStatus # 通義千問(wèn)API是通過(guò)HTTP調(diào)用的
import dashscope

dashscope.api_key = 'xxxxx' # 設(shè)置自己申請(qǐng)的API_KEY; 這個(gè)方式設(shè)置有泄露api的可能

def call_with_messages():
prompt = input("user:")
messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': prompt}]
response = dashscope.Generation.call(
dashscope.Generation.Models.qwen_turbo, # 選擇模型
messages=messages,
# set the random seed, optional, default to 1234 if not set
seed=random.randint(1, 10000),
result_format='message', # set the result to be "message" format.
)
# 之后HTTPStatus為OK時(shí),才是調(diào)用成功
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))

# For prerequisites running the following sample, visit https://help.aliyun.com/document_detail/611472.html

def call_with_prompt():
prompt = input("user:")
response = dashscope.Generation.call(
model=dashscope.Generation.Models.qwen_turbo, # 選擇模型
prompt=prompt
)
# The response status_code is HTTPStatus.OK indicate success,
# otherwise indicate request is failed, you can get error code
# and message from code and message.
if response.status_code == HTTPStatus.OK:
print(response.output) # The output text
print(response.usage) # The usage information
else:
print(response.code) # The error code.
print(response.message) # The error message.

if __name__ == '__main__':

call_with_messages()
print("\n")
call_with_prompt()

兩種方式的單輪會(huì)話輸出如下:

這里需要注意通過(guò)message和prompt調(diào)用,這兩種方式對(duì)應(yīng)的輸出Json格式是不同的。

多輪會(huì)話

通過(guò)messages調(diào)用API,每輪會(huì)話用戶的問(wèn)題(the content of user)和大模型的輸出(content of assistant)會(huì)存儲(chǔ)在messages這個(gè)列表中,之后的輸出會(huì)參考前面的內(nèi)容,體現(xiàn)了大模型的記憶性!(可以在體驗(yàn)中心,選擇多輪會(huì)話,注意觀察代碼中messages的變化):

觀察對(duì)應(yīng)的代碼,每輪會(huì)話結(jié)束后,user的問(wèn)題和模型的響應(yīng)都會(huì)append在messages中:

from http import HTTPStatus
import dashscope
from dashscope import Generation
from dashscope.api_entities.dashscope_response import Role

dashscope.api_key = 'xxxxx' # 設(shè)置API_KEY

def conversation_with_messages():
messages = [{'role': Role.SYSTEM, 'content': 'You are a helpful assistant.'} ]
# 循環(huán)實(shí)現(xiàn)多輪會(huì)話
while True:
prompt = input("USER:")
# 添加新一輪會(huì)話用戶的問(wèn)題
messages.append({'role': Role.USER, 'content': prompt})
response = Generation.call(
Generation.Models.qwen_turbo, #選擇響應(yīng)的模型
messages=messages,
result_format='message', # set the result to be "message" format.
)
if response.status_code == HTTPStatus.OK:
print(response)
# 把模型的輸出添加到messages中
messages.append({'role': response.output.choices[0]['message']['role'],
'content': response.output.choices[0]['message']['content']})
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
exit()

if __name__ == '__main__':
conversation_with_messages()
123456789101112131415161718192021222324252627282930313233

結(jié)果如下:

本文章轉(zhuǎn)載微信公眾號(hào)@佑佑有話說(shuō)

熱門(mén)推薦
一個(gè)賬號(hào)試用1000+ API
助力AI無(wú)縫鏈接物理世界 · 無(wú)需多次注冊(cè)
3000+提示詞助力AI大模型
和專(zhuān)業(yè)工程師共享工作效率翻倍的秘密
熱門(mén)推薦
一個(gè)賬號(hào)試用1000+ API
助力AI無(wú)縫鏈接物理世界 · 無(wú)需多次注冊(cè)
返回頂部
上一篇
基于云原生的低代碼能力:可視化微服務(wù)(API)編排
下一篇
長(zhǎng)文本大模型API服務(wù)kimi-free-api
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
日韩午夜av一区| 日韩一区日韩二区| 久久久久免费观看| 国产精选一区二区三区| 日韩视频国产视频| 国产成人精品www牛牛影视| 久久婷婷国产综合精品青草| 高清不卡一区二区在线| 中文字幕高清不卡| 在线精品观看国产| 国产综合色在线| 国产精品电影一区二区| 欧美系列在线观看| 久久99精品久久久久久动态图 | 一区二区三区蜜桃| 欧美一区二区网站| 成人永久aaa| 美女脱光内衣内裤视频久久影院| 久久精品视频一区二区| 99国产精品久| 久久99精品久久久久久国产越南| 亚洲你懂的在线视频| 久久视频一区二区| 911国产精品| 国产福利91精品一区二区三区| 亚洲欧美一区二区不卡| 精品日韩av一区二区| 色婷婷精品久久二区二区蜜臀av | 欧美日韩一级二级三级| 国产美女在线观看一区| 偷拍日韩校园综合在线| 中文字幕中文字幕一区二区| 日韩免费视频线观看| 欧美美女视频在线观看| 91污在线观看| 风间由美性色一区二区三区| 蜜桃一区二区三区在线| 亚洲成av人片一区二区| 亚洲人成亚洲人成在线观看图片 | 一本大道久久a久久综合婷婷| 国产精品一区二区不卡| 美国三级日本三级久久99| 午夜影视日本亚洲欧洲精品| 亚洲欧美区自拍先锋| 国产精品美女www爽爽爽| 久久欧美中文字幕| 久久综合五月天婷婷伊人| 欧美一区二区私人影院日本| 在线观看亚洲一区| 欧美视频在线观看一区二区| 色94色欧美sute亚洲线路二| 色噜噜狠狠色综合中国| 91黄色免费看| 欧美福利一区二区| 日韩精品一区二区三区在线观看 | 狠狠色丁香婷婷综合| 国产麻豆精品久久一二三| 久久99精品久久久久久国产越南 | 国产高清久久久久| 成人一区二区视频| 91亚洲精品久久久蜜桃| 欧美日韩一区二区三区在线| 欧美精品久久久久久久多人混战 | 91在线一区二区三区| 色婷婷综合中文久久一本| 欧美色视频一区| 日韩免费性生活视频播放| 国产精品亲子伦对白| 一区二区三区欧美在线观看| 香蕉影视欧美成人| 国产精品中文有码| 欧美在线观看视频一区二区 | 国产一区二区三区视频在线播放| 国产一区二区91| 91色porny| 久久久精品日韩欧美| 亚洲色图在线播放| 蜜臀a∨国产成人精品| a在线欧美一区| 4438亚洲最大| 亚洲伦在线观看| 免费人成在线不卡| 色婷婷国产精品久久包臀| 精品国产一区a| 亚洲国产一二三| 91视频xxxx| 国产欧美日韩在线| 日本特黄久久久高潮| 欧洲精品中文字幕| 国产精品国产三级国产有无不卡| 日本欧美一区二区在线观看| 91免费国产视频网站| 国产嫩草影院久久久久| 精品一区二区三区不卡| 777久久久精品| 亚洲一区免费观看| 91小视频免费观看| 国产精品福利一区| 粉嫩av一区二区三区| 精品国产91乱码一区二区三区| 亚洲午夜av在线| 欧美日韩一二区| 婷婷久久综合九色综合绿巨人| 91视视频在线直接观看在线看网页在线看| 久久综合久久99| 另类综合日韩欧美亚洲| 日韩一级黄色片| 国内成人精品2018免费看| 日韩美女一区二区三区四区| 免费欧美高清视频| 欧美一区二区三区在线视频| 日韩av高清在线观看| 欧美一级欧美三级| 精品一区二区三区免费视频| 26uuu亚洲| 成人午夜短视频| 亚洲一区二区成人在线观看| 欧美三级日韩三级国产三级| 视频一区欧美日韩| 久久先锋资源网| 91一区一区三区| 日本伊人色综合网| 国产日韩欧美电影| 在线观看免费成人| 久久99精品国产麻豆不卡| 国产午夜精品理论片a级大结局| 成人免费va视频| 亚洲国产aⅴ天堂久久| 26uuu亚洲综合色欧美| 色综合久久久久久久久| 日韩精彩视频在线观看| 国产亚洲精品久| 欧美日韩精品免费观看视频| 国产美女久久久久| 亚洲最色的网站| 久久一区二区三区四区| 91麻豆免费看| 国产精品资源在线| 日日夜夜精品视频免费| 国产精品视频第一区| 欧美一区日本一区韩国一区| 91色在线porny| 国产成人免费视| 久久国产三级精品| 日韩成人免费电影| 亚洲欧洲性图库| 国产亚洲一区二区三区四区| 欧美精品在线视频| 欧美在线观看一区| 一本色道久久综合亚洲aⅴ蜜桃| 久久69国产一区二区蜜臀 | 亚洲6080在线| 一个色在线综合| 久久久99久久精品欧美| 91精品久久久久久久99蜜桃| 99国产欧美另类久久久精品| 懂色一区二区三区免费观看| 午夜精品福利一区二区蜜股av| 亚洲精品中文在线影院| 国产精品国产a| 国产精品久久久久久久久晋中 | 亚洲特级片在线| 日韩理论电影院| 亚洲视频在线观看三级| 中文字幕第一区综合| 欧美激情一区三区| 久久精品一区二区三区不卡| 久久久久久久一区| 国产欧美综合在线| 国产精品久久看| 亚洲精品写真福利| 亚洲丰满少妇videoshd| 五月天精品一区二区三区| 日韩一区欧美二区| 激情国产一区二区| 成人性生交大片免费看中文| av亚洲产国偷v产偷v自拍| 色94色欧美sute亚洲线路一ni| 色八戒一区二区三区| 91 com成人网| 久久亚洲精精品中文字幕早川悠里| 久久亚洲精精品中文字幕早川悠里| 久久夜色精品一区| 亚洲精品免费在线播放| 日韩国产精品91| 国产很黄免费观看久久| 91视频免费看| 日韩精品中文字幕一区二区三区| 久久久久久久久蜜桃| 亚洲一区二区三区不卡国产欧美| 美女视频黄久久| 99re视频精品| 欧美哺乳videos| 亚洲丝袜自拍清纯另类| 全部av―极品视觉盛宴亚洲| 成人99免费视频| 91麻豆精品91久久久久同性| 成人免费小视频| 国产一区二区三区在线观看精品| 欧美综合一区二区|