87 lines
2.2 KiB
Python
87 lines
2.2 KiB
Python
|
|
"""
|
|||
|
|
Qwen3-VL-Plus 使用示例
|
|||
|
|
|
|||
|
|
Qwen3-VL 是通义千问系列中最强大的视觉语言模型,具备以下能力:
|
|||
|
|
- 高精度物体识别与定位(包括3D定位)
|
|||
|
|
- Agent工具调用
|
|||
|
|
- 文档和网页解析
|
|||
|
|
- 复杂题目解答
|
|||
|
|
- 长视频理解
|
|||
|
|
|
|||
|
|
模型选型:
|
|||
|
|
- qwen3-vl-plus: 性能最强的模型
|
|||
|
|
- qwen3-vl-flash: 速度更快,成本更低,适用于对响应速度敏感的场景
|
|||
|
|
|
|||
|
|
使用前请确保:
|
|||
|
|
1. 设置环境变量 DASHSCOPE_API_KEY
|
|||
|
|
2. 安装依赖: uv add openai python-dotenv
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
import os
|
|||
|
|
from dotenv import load_dotenv
|
|||
|
|
from openai import OpenAI
|
|||
|
|
|
|||
|
|
# 加载 .env 文件中的环境变量
|
|||
|
|
load_dotenv()
|
|||
|
|
|
|||
|
|
|
|||
|
|
def analyze_image(image_url: str, question: str, model: str = "qwen3-vl-plus") -> str:
|
|||
|
|
"""
|
|||
|
|
使用 Qwen3-VL 分析图片
|
|||
|
|
|
|||
|
|
Args:
|
|||
|
|
image_url: 图片 URL 地址
|
|||
|
|
question: 关于图片的问题
|
|||
|
|
model: 模型名称,默认 qwen3-vl-plus
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
模型的回答
|
|||
|
|
"""
|
|||
|
|
client = OpenAI(
|
|||
|
|
api_key=os.getenv("DASHSCOPE_API_KEY"),
|
|||
|
|
# 北京地域
|
|||
|
|
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|||
|
|
# 新加坡地域使用:
|
|||
|
|
# base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
completion = client.chat.completions.create(
|
|||
|
|
model=model,
|
|||
|
|
messages=[
|
|||
|
|
{
|
|||
|
|
"role": "user",
|
|||
|
|
"content": [
|
|||
|
|
{
|
|||
|
|
"type": "image_url",
|
|||
|
|
"image_url": {"url": image_url},
|
|||
|
|
},
|
|||
|
|
{"type": "text", "text": question},
|
|||
|
|
],
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
return completion.choices[0].message.content
|
|||
|
|
|
|||
|
|
|
|||
|
|
def main():
|
|||
|
|
"""主函数"""
|
|||
|
|
# 示例图片 URL
|
|||
|
|
image_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
|
|||
|
|
|
|||
|
|
# 分析图片
|
|||
|
|
print("正在分析图片...")
|
|||
|
|
result = analyze_image(
|
|||
|
|
image_url=image_url,
|
|||
|
|
question="图中描绘的是什么景象?请详细描述。",
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
print("\n" + "=" * 50)
|
|||
|
|
print("Qwen3-VL-Plus 分析结果:")
|
|||
|
|
print("=" * 50)
|
|||
|
|
print(result)
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
main()
|