官网支持python,curl和node.js
因为服务器刚好有php环境,所以先用curl调个普通的语音沟通api
<?php
// 定义 API Key 和请求地址
define('MOONSHOT_API_KEY', 'sk-PXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXgk1');
define('MOONSHOT_API_URL', 'https://api.moonshot.cn/v1/chat/completions');
// 设置请求头
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . MOONSHOT_API_KEY,
];
// 设置请求体
$data = [
'model' => 'moonshot-v1-8k',
'messages' => [
[
'role' => 'system',
'content' => '你是我的灵缇宠物犬,名字叫做小羊,今年两岁。',
],
[
'role' => 'user',
'content' => '在吗?给我讲个小故事?',
],
],
'temperature' => 0.3,
];
// 初始化 cURL 会话
$ch = curl_init();
// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, MOONSHOT_API_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 执行 cURL 会话
$response = curl_exec($ch);
// 检查是否有错误发生
if (curl_errno($ch)) {
echo 'cURL 错误: ' . curl_error($ch);
} else {
// 打印响应内容
echo 'API 响应: ' . $response;
}
// 关闭 cURL 会话
curl_close($ch);
?>
返回结果很不错
==================================================
下来才是这篇文章测试的关键,测试多模态也就是云端图片内容识别
然而我用php调用file api时候,会提示我图片无法解析,所以先跑起来官方的python试试
这个是官方示例
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key = "$MOONSHOT_API_KEY",
base_url = "https://api.moonshot.cn/v1",
)
# xlnet.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件,提供 ocr 相关能力
file_object = client.files.create(file=Path("xlnet.pdf"), 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": "请简单介绍 xlnet.pdf 讲了啥"},
]
# 然后调用 chat-completion, 获取 Kimi 的回答
completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=messages,
temperature=0.3,
)
print(completion.choices[0].message)
跑下来结果需要安装python openai模块
那就装吧
pip install openai
其中碰到有个要升级的,升级
好了,安装成功了
回到代码执行位置
哎,和我的php代码没啥区别嘛,都是返回没有解析出内容。尴尬了。。。
换图片试试看吧,这张图我直接丢给kimi网页版,是可以解析的啊~~~ 奇怪奇怪奇怪
openai.BadRequestError: 这里看到返回一个错误号400
去官网查一下吧。
看到官网有个官方kimi api调试工具,老老实实试一下吧
https://github.com/MoonshotAI/moonpalace/releaseshttps://github.com/MoonshotAI/moonpalace/releases
这里搞个windows版吧
下载后原来是个命令行工具
这个先放一边,我又发现在新手指南里有个vision的api
尼玛,为啥不放在上面api列表,而是放在这里,好吧,看到的晚了。
试了一下,果然可以,没毛病,看来文件api是不可以做内容识别的,暂时这么理解吧,需要专门的vision这个视觉模型,而官网的自动识别可以自动去调用,这么就说的通了
再往下看,还有个自动选择kimi模型的条目
这些就后面大家有兴趣再去研究吧,反正我的图片内容识别已经搞定了,这篇文章功德圆满,后续继续其他工作了。
bye~~