前面写了通义千问API的调用:
阿里通义千问大模型API调用(python版)
这次介绍Kimi API,首先进入月之暗面主页:
https://www.moonshot.cn/
点击Kimi开放平台就会有API调用的相关文档及收费信息等。
Kimi大模型版本不像通义千问那么多,一个版本搞定所有,只根据处理文本内容的多少分成了8k, 32k和128k 3个不同的版本:
免费账户有下面的限制:
不能并发,每分钟Token(一个Token大约相当于1.5-2个汉字)数限制在32000,每分钟请求数不超过3次。
充值氪金的话限制就少了,累计充值越多,限制越少:
每个账户刚开始都会给15元的免费额度。如果处理长文本的话,用起来还是有些捉襟见肘的,那么你就得充值了:1M Token(大概150万-200万汉字)的价格见下图,比阿里的通义千问要贵一些:
调用之前也要先获取API KEY:注册账号,进入用户中心,选择API Key管理,新建API Key即可:
多轮纯文本对话API调用脚本:
from openai import OpenAI
from pathlib import Path
apikey = "##你的API Key##"
client = OpenAI(
api_key = apikey,
base_url = "https://api.moonshot.cn/v1",
)
history = [
{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"}
]
def chat(query, history):
history.append({
"role": "user",
"content": query
})
completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=history,
temperature=0.3,
)
result = completion.choices[0].message.content
history.append({
"role": "assistant",
"content": result
})
return result
print(chat("地球的自转周期是多少?", history))
print(chat("月球呢?", history))
返回内容:
文档解读多轮对话API调用脚本,可同时应用于pdf,图片,word等格式文件,一个版本搞定一切,比通义千问方便多了:
from openai import OpenAI
from pathlib import Path
apikey = "##你的API Key##"
client = OpenAI(
api_key = apikey,
base_url = "https://api.moonshot.cn/v1",
)
file_object = client.files.create(file=Path("#待解读文件路径#"), purpose="file-extract")
file_content = client.files.content(file_id=file_object.id).text
history = [
{
"role": "system",
"content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
},
{
"role": "system",
"content": file_content,
},
]
def chat(query, history):
history.append({
"role": "user",
"content": query
})
completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=history,
temperature=0.3,
max_tokens=20000
)
print(completion)
result = completion.choices[0].message.content
history.append({
"role": "assistant",
"content": result
})
return result
jiedu = chat("解读该文件", history)
print(jiedu)
advice = chat("有什么建议?", history)
print(advice)
亲测可用,有需要的可以去试试了。