当前位置: 首页 > news >正文

python调用硅基流动的视觉语言模型

参考: https://docs.siliconflow.cn/cn/userguide/capabilities/vision   

import base64
import json
from openai import OpenAI
from PIL import Image
import io# 初始化OpenAI客户端
client = OpenAI(api_key="sk-**********",  # 替换为实际API密钥base_url="https://api.siliconflow.cn/v1"
)def convert_image_to_webp_base64(input_image_path: str) -> str:"""将本地图片转换为WebP格式的Base64字符串"""try:with Image.open(input_image_path) as img:# 转换为WebP格式(优化大小)byte_arr = io.BytesIO()img.save(byte_arr, format='WEBP', quality=85)  # 调整质量平衡大小和清晰度byte_arr = byte_arr.getvalue()return base64.b64encode(byte_arr).decode('utf-8')except Exception as e:print(f"图片转换错误: {e}")return None# 1. 转换本地图片
input_image_path = "7125e2e3.jpeg"  # 替换为实际图片路径
base64_image = convert_image_to_webp_base64(input_image_path)if not base64_image:print("图片转换失败,请检查路径和格式")exit()# 2. 创建流式请求
response = client.chat.completions.create(model="Qwen/Qwen2.5-VL-72B-Instruct",messages=[{"role": "user","content": [{"type": "image_url","image_url": {"url": f"data:image/webp;base64,{base64_image}",  # 指定WebP格式"detail": "high"  # 平衡速度与精度}},{"type": "text","text": "使用ocr识别图片内容并输出"  # 替换为你的提示词}]}],stream=True,max_tokens=1000  # 控制响应长度
)# 3. 流式处理响应
print("模型响应:")
full_response = ""
for chunk in response:if chunk.choices[0].delta.content:text_chunk = chunk.choices[0].delta.contentprint(text_chunk, end='', flush=True)full_response += text_chunkprint("\n\n完整响应已接收")

http://www.lqws.cn/news/97615.html

相关文章:

  • Python基于SVM技术的手写数字识别问题项目实战
  • Vue3 + Vite:我的 Qiankun 微前端主子应用实践指南
  • 研发型企业如何面对源代码保密问题
  • one-hot编码VS对象嵌入表示
  • Java详解LeetCode 热题 100(25):LeetCode 141. 环形链表(Linked List Cycle)详解
  • 架构设计的目标:高内聚、低耦合的本质
  • 【文献精读】Explaining grokking through circuit efficiency
  • Unity 性能优化终极指南 — GameObject 篇
  • SIFT算法详细原理与应用
  • WINDOWS 下查找指定端口的进程并解除端口占用
  • 实践深度学习:构建一个简单的图像分类器
  • LVS负载均衡
  • 【小红书】API接口,获取笔记核心数据
  • 《汇编语言》第14章 端口
  • 集成学习之Bagging,Boosting,随机森林
  • H.264编码
  • CSS基础2
  • 2025 年人脸识别技术应用备案政策已落地
  • SuperMap GIS基础产品FAQ集锦(20250603)
  • 【Linux基础知识系列】第八篇-基本网络配置
  • 大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
  • 数字商城小程序源码,开启便捷电商新体验
  • 大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
  • 【后端架构师的发展路线】
  • Elasticsearch + Milvus 构建高效知识库问答系统《一》
  • Java高级 | (二十二)快速应用开发框架——Spring Boot
  • 小白的进阶之路系列之十二----人工智能从初步到精通pytorch综合运用的讲解第五部分
  • OpenCV CUDA模块图像处理------图像融合函数blendLinear()
  • Attention Is All You Need (Transformer) 以及Transformer pytorch实现
  • 【JavaWeb】SpringBoot原理