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

调用大模型api 批量处理图像 保存到excel

最近需要调用大模型,并将结果保存到excel中,效果如下:
在这里插入图片描述

代码:

import base64
from zhipuai import ZhipuAI
import os
import pandas as pd
from openpyxl import Workbook
from openpyxl.drawing.image import Image
from io import BytesIO# 指定图像所在的文件夹路径
img_folder = r"aaa"  # 请根据实际路径修改# 获取文件夹中的所有图片文件(这里假设所有文件都是图片,可以根据需要调整文件类型)
img_paths = [os.path.join(img_folder, f) for f in os.listdir(img_folder) if f.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif'))]# 初始化API客户端
client = ZhipuAI(api_key="xxx")  # 填写您自己的APIKey# 创建Excel工作簿
wb = Workbook()
ws = wb.active
ws.title = "Image Recognition Results"# 设置表头
ws.append(["Image", "Image Name", "Model Output"])# 循环处理每张图片
for img_path in img_paths:# 打开每一张图片并转换为base64with open(img_path, 'rb') as img_file:img_base = base64.b64encode(img_file.read()).decode('utf-8')# 调用API进行模型推理response = client.chat.completions.create(model="glm-4v-plus",  # 填写需要调用的模型名称messages=[{"role": "user","content": [{"type": "image_url","image_url": {"url": img_base}},{"type": "text","text": "图片中有人吗?"}]}])# 获取模型返回的结果model_output = response.choices[0].messageprint()# 将图片插入到Excel中img = Image(img_path)img.width = 100  # 设置图片的宽度,可以调整img.height = 100  # 设置图片的高度,可以调整# 在Excel表格中插入图片row = len(ws['A']) + 1  # 获取当前行数,用于将图片插入到正确位置ws.add_image(img, f"A{row}")# 将图片的文件名和识别结果添加到表格ws.append([None, os.path.basename(img_path), model_output.content])  # 图片在A列,文件名和结果在其他列# 保存Excel文件
excel_path = r"aaa"  # 请根据需要修改保存路径
wb.save(excel_path)print(f"结果已成功保存到 Excel 文件:{excel_path}")
http://www.lryc.cn/news/499040.html

相关文章:

  • 使用 Flownex 模拟热环境对原油运输的影响
  • 【WRF-Urban】WPS中有关Urban的变量设置
  • Socket编程-tcp
  • Redis 之持久化
  • 视频监控汇聚平台:Liveweb安防监控平台实现接入监控视频集中管理方案
  • ABAP - 系统集成之SAP的数据同步到OA(泛微E9)服务器数据库
  • uniapp使用ucharts修改Y、X轴标题超出换行
  • 三分钟详细解读什么是Ecovadis认证?
  • spring6:4、原理-手写IoC
  • 爬取的数据能实时更新吗?
  • Linux 下使用飞鸽传书实现与Windows飞秋的通信
  • MongoDB分片集群搭建及扩容
  • qt QSettings详解
  • 【Linux】ubuntu下一键配置vim
  • 【NLP 9、实践 ① 五维随机向量交叉熵多分类】
  • 信息系统安全防护攻防对抗式实验教学解决方案
  • 【笔记2-4】ESP32:freertos任务创建
  • 2024年12月6日Github流行趋势
  • matlab读取NetCDF文件
  • RDMA驱动学习(三)- cq的创建
  • Flask使用Celery与多进程管理:优雅处理长时间任务与子进程终止技巧(multiprocessing)(subprocess)
  • Django模板系统
  • 15. 文件操作
  • 清风数学建模学习笔记——Topsis法
  • 组合总和习题分析
  • 基于eFramework车控车设中间件介绍
  • L17.【LeetCode笔记】另一棵树的子树
  • BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性
  • 每日速记10道java面试题14-MySQL篇
  • 内存图及其画法