首页 > 其他分享 >基于OpenAI API接口向GPT4v上传图像进行图像分析

基于OpenAI API接口向GPT4v上传图像进行图像分析

时间:2024-06-02 20:22:51浏览次数:22  
标签:url image base64 content API OpenAI 图像 reply path

import openai
import base64
from openai import OpenAI


client = OpenAI(
    api_key='xxxxxxxxx',  
    base_url='https://api.openai.com/v1'#可根据镜像站修改
)

#图片转base64函数
def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')
 
#输入图片路径
image_path = "xxxxxx"
 
#原图片转base64
base64_image = encode_image(image_path)


#提交信息至GPT4o
response = client.chat.completions.create(
    model="xxx",#选择模型
    messages=[
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content":[
            {
          "type": "text",
          "text": "xxxxxxxxxxxxxxxxxx"
        },
                    {
          "type": "image_url",
          "image_url":{
            "url": f"data:image/jpeg;base64,{base64_image}"
          }
        },
        ]
        }
    ],
    stream=True,
)

reply = ""
for res in response:
    content = res.choices[0].delta.content
    if content:
        reply += content
        print(content)

print('reply:',reply)

 

标签:url,image,base64,content,API,OpenAI,图像,reply,path
From: https://www.cnblogs.com/Vicrooor/p/18227547

相关文章

  • JSAPI:DOM操作
    DOM操作WebAPIAPI:预定好的函数例如:alert(),console.log(),prompt()WebAPI:浏览器提供的一套操作浏览器功能和页面元素的API(BOM,DOM),DOM的顶级对象是documentBOM的顶级对象是window节点:页面中的所有内容都是节点(标签,属性,注释,文本)获取元素的方法document.getElementBy......
  • webapi 配置接口注释显示
    1.再Program.cs文件中添加builder.Services.AddSwaggerGen(options=>{//读取根据api生成的控制器xml文件varfile=Path.Combine(AppContext.BaseDirectory,"WebApplication1.Webapi.xml");//显示控制器层注释options.IncludeXmlComments(file,true)......
  • fastapi 实现HTTP访问
    1.概述在使用python时,我如何发布一个接口给外部访问,python有FASTAPI和uvicorn实现,fastapi是定义api接口,uvicorn运行服务器。2.安装依赖pipinstallfastapipipinstallpydanticpipinstalluvicorn3.定义接口3.1快速上手fromfastapiimportFastAPI,Body,......
  • SpringBoot基于OpenAPI3的接口文档管理快速集成和使用
    你好,这里是codetrend专栏“SpringCloud2023实战”。本文主要简单介绍SpringCloud2023中进行接口文档管理,方便前后端开发和文档维护。文档管理工具基于开源的knife4j封装的openapi3。前言OpenAPI3.0(前身为Swagger)是一种RESTfulAPI文档规范。OpenAPI3.0规范是一种易于阅读和理......
  • 【swagger】@ApiImplicitParam注解Integer类型required=true时不能提交、@ApiImplicit
    文章目录一、问题描述二、问题原因三、解决方法3.1、修改dataType=int3.2、修改dataType=Long3.3、修改dataType类型为String类型3.4、当dataType类型为Integer时,删除required=true以下内容基于swagger2.9.2进行讲解<!--swagger2--><dependency> <groupId>io.sp......
  • 【Web API DOM02】如何获取、操作DOM元素
    一:获取DOM元素1根据CSS选择器获取语法格式如下:(1)选中一个DOM元素document.querySeletor('CSS选择器')<ul><li>1</li><li>2</li><li>3</li></ul>document.querySelector('li')//只能获取第一个li该选择器只能选中第一个DOM元......
  • ChatGPT API 已经成为游戏规则的改变者
    在技​​术以惊人的速度发展的世界中,ChatGPTAPI已经成为游戏规则的改变者,为开发人员开辟了无限的可能性。ChatGPTAPI使将类人人工智能的强大功能集成到您的应用程序中成为可能。在本教程中,您将学习如何在应用程序中利用ChatGPTAPI构建内容生成工具,该工具可以获取用户对......
  • [干货]鸿蒙next适用于api11,12,鸿蒙+支付宝支付整体流程以及坑点
         我在做这个功能支付的时候,一共是涉及到三个主体之间的通信,现在分享给家人们,分别是我们的客户端,我们自己的服务器,以及三方的支付宝服务器;我们前端做的就是头和尾两个部分,在头上呢我会跟我们自己的服务器进行交付,我会发起一个请求,我用的是一个web组件模拟了一个ge......
  • 全面战争模拟器steam_api64.dll丢失怎么解决?全面战争模拟器steam_api64.dll丢失问题的
    steam_api64.dll是一个关键的动态链接库(DLL)文件,专用于64位Windows操作系统上的Steam平台。那么全面战争模拟器steam_api64.dll丢失怎么解决呢?下面一起来看看吧!还原回收站中的文件如果您之前不小心删除了steam_api64.dll文件,可以在回收站中找到该文件,并尝试将其还原到原来的......
  • API和数据响应式
    面试题:1.为什么去掉了Vue构造函数面试题:2.谈谈你对vue3数据响应式的理解去掉了Vue构造函数vue2中Vue.use(...)//此代码会影响所有的vue应用Vue.mixin(...)//此代码会影响所有的vue应用Vue.component(...)//此代码会影响所有的vue应用newVue({}).$mount("#app1")new......