大家好,我是AI大眼萌,今天我们将深入探讨Kimi API的内在力量,以及如何通过它实现文本聊天和图片识别,让你轻松打造个人AI智能体。🚀
在AI的世界里,大模型是强大的工具,但它们往往因为技术门槛和资源限制而难以触及。API的出现,就像一座桥梁,让我们能够轻松地利用这些大模型的力量。通过SWOT分析法,全面了解使用Kimi API的优势、劣势、机会与威胁,让你更明智地利用这一强大工具。
语言模型推理服务是一个基于我们 (Moonshot AI) 开发和训练的预训练模型的 API 服务。在设计上,我们对外主要提供了一个 Chat Completions 接口,它可以用于生成文本,但是它本身是。
你可以使用我们的 List Models API 来获取当前可用的模型列表。
当前的,我们支持的模型有:
moonshot-v1-8k: 它是一个长度为 8k 的模型,适用于生成短文本。
moonshot-v1-32k: 它是一个长度为 32k 的模型,适用于生成长文本。
moonshot-v1-128k: 它是一个长度为 128k 的模型,适用于生成超长文本。
以上模型的区别在于它们的最大上下文长度,这个长度包括了输入消息和生成的输出,在效果上并没有什么区别。这个主要是为了方便用户选择合适的模型。
需要提供一个 API 密钥和一个模型名称。模型名称在前面已经列出。那么首先申请一个API密钥
API密钥申请在kimi的控制台:https://platform.moonshot.cn/console/info
账号登录后看到账户总览里面,送了15元。
openai的版本.openai的版本要大于1.0
pip install openai
pip install --upgrade 'openai>=1.0'
pip show openai
Name: openai
Version: 1.33.0
Summary: The official Python library for the openai API
Home-page:
Author:
Author-email: OpenAI <support@openai.com>
License:
from openai import OpenAI
client = OpenAI(
api_key="api_key",
base_url="https://api.moonshot.cn/v1",
)
#%%
def create_ask_gpt(prompt, session_id=None):
response = client.chat.completions.create(
model="moonshot-v1-8k",
messages=[
{
"role": "system",
"content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
},
{"role": "user", "content": prompt},
],
temperature=0.3,
stream=True,
)
answer = response.choices[0].message.content
return answer
#%%
prompt="海事卫星历代卫星的历史及发展介绍,以二级结构写出文章大纲,以Json格式输出"
response = create_ask_gpt(prompt)
print(response)
接口返回数据,默认 max_token 为 1024,可以用递归逐步构建内容
查询当天天气情况,不支持访问网络、数据库等外部资源,也不支持执行任何代码
while True:
prompt = input("你: ")
response = create_ask_gpt(prompt)
print("Kimi:", response)
免费账号,一分钟内只能发起3次请求数,超过就会报错。
文档解析
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key="api_key",
base_url="https://api.moonshot.cn/v1",
)
#%%
file_object = client.files.create(file=Path("海事卫星.md"), purpose="file-extract")
#%%
# 获取结果
# file_content = client.files.retrieve_content(file_id=file_object.id)
# 注意,之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替
# 如果是旧版本,可以用 retrieve_content
file_content = client.files.content(file_id=file_object.id).text
#%%
# 把它放进请求中
messages = [
{
"role": "system",
"content": "使用以下步骤来回应用户输入。\n步骤一:用户将用三重引号提供文本或提供文件。用前缀“摘要:”将这段文本概括成一句话。\n步骤二:将第一步的摘要翻译成英语,并加上前缀 'Translation' ",
},
{
"role": "system",
"content": file_content,
},
{"role": "user", "content": "用两句话概括文本,50字以内。"},
]
#%%
# 然后调用 chat-completion, 获取 Kimi 的回答
completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=messages,
temperature=0.3,
)
print(completion.choices[0].message)
现在让KIMI充当数学老师,解答小学生做的数学题目
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key="api_key",
base_url="https://api.moonshot.cn/v1",
)
#%%
file_object = client.files.create(file=Path("testcal.jpg"), purpose="file-extract")
#%%
# 获取结果
# file_content = client.files.retrieve_content(file_id=file_object.id)
# 注意,之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替
# 如果是旧版本,可以用 retrieve_content
file_content = client.files.content(file_id=file_object.id).text
#%%
# 把它放进请求中
messages = [
{
"role": "system",
"content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
},
{
"role": "system",
"content": file_content,
},
{"role": "user", "content": "理解图片内容,正确识别题目的数量并对进行判断,确认提供的答案是否正确。"},
]
#%%
# 然后调用 chat-completion, 获取 Kimi 的回答
completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=messages,
temperature=0.3,
)
print(completion.choices[0].message.content )
📌 结语
通过今天的分享,希望大家对Kimi API有了更深的了解。总结有如下几个问题
如果您发现这篇文章对您有所启发或帮助, 请不吝赐赞,为我【点赞】、【转发】、【关注】,带你一起玩转AI !
全网ID:AI大眼萌
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。