前面写了通义千问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 OpenAIfrom 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).texthistory = [ { "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 resultjiedu = chat("解读该文件", history)print(jiedu)advice = chat("有什么建议?", history)print(advice)
亲测可用,有需要的可以去试试了。