最近更新时间:2026-06-03 21:32:11
以下代码用于发送包含图片的多模态消息,实现图片内容理解:
from ks3.connection import Connection
from ks3.xmlParsers.llmCompletion import CompletionParam
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='<YOUR_REGION_ENDPOINT>')
# 创建请求参数。stream:false 表示非流式;stop:'。' 表示遇到句号终止生成
param = CompletionParam(stream=False, stop="。")
# 构建多模态消息,使用 ks3:// 协议引用 KS3 中的图片
content_items = [
{"type": "image_url", "image_url": {"url": "ks3://<BUCKET_NAME>/<IMAGE_KEY>"}},
{"type": "text", "text": "请描述这张图片的内容"}
]
param.add_multimodal_message(role="user", content_items=content_items)
# 调用接口生成内容
bucket_name = '<YOUR_BUCKET_NAME>'
result = c.llm_completions(bucket_name, param)
print("生成内容:", result.content)
图片 URL 支持 ks3://bucket/key 协议格式,指向 KS3 存储桶中的图片对象。也支持使用 add_image_message
方法便捷地添加图片消息:param.add_image_message(role="user", image_url="ks3://bucket/image.jpg")。
以下代码用于发送包含视频的多模态消息,实现视频内容理解:
from ks3.connection import Connection
from ks3.xmlParsers.llmCompletion import CompletionParam
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='<YOUR_REGION_ENDPOINT>')
# 创建请求参数
param = CompletionParam(stream=False, stop="。")
# 构建包含视频的多模态消息
# fps 参数控制视频抽帧频率,例如 0.2 表示每5秒抽取一帧
content_items = [
{
"type": "video_url",
"fps": 0.2,
"video_url": {"url": "ks3://<YOUR_BUCKET_NAME>/path/to/video.mp4"}
},
{"type": "text", "text": "请描述这个视频的主要内容"}
]
param.add_multimodal_message(role="user", content_items=content_items)
# 调用接口生成内容
bucket_name = '<YOUR_BUCKET_NAME>'
result = c.llm_completions(bucket_name, param)
print("生成内容:", result.content)
fps 参数控制视频抽帧频率:0.2 表示每5秒抽取一帧,1.0 表示每秒抽取一帧。较低的 fps 值可以降低处理时间和资源消耗。
以下代码用于流式生成,可实时获取生成内容:
from ks3.connection import Connection
from ks3.xmlParsers.llmCompletion import CompletionParam
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='<YOUR_REGION_ENDPOINT>')
# 创建请求参数,stream=True 表示流式
param = CompletionParam(stream=True, stop="。")
# 构建多模态消息,使用 ks3:// 协议引用 KS3 中的图片
content_items = [
{"type": "image_url", "image_url": {"url": "ks3://<BUCKET_NAME>/<IMAGE_KEY>"}},
{"type": "text", "text": "请描述这张图片的内容"}
]
param.add_multimodal_message(role="user", content_items=content_items)
# 调用 LLM 流式生成
bucket_name = '<YOUR_BUCKET_NAME>'
streaming_result = c.llm_completions(bucket_name, param)
# 遍历流式结果
try:
for chunk in streaming_result:
if chunk.content:
print(chunk.content, end="", flush=True)
finally:
streaming_result.close()
流式模式下返回的 StreamingCompletionResult 对象实现了迭代器协议,使用完毕后需调用 close() 方法释放连接资源。
纯净模式
