gpt-4o看图说话-根据图片回答问题

问题:中国的人口老龄化究竟有多严重?

代码下实现如下:(直接调用openai的chat接口)

import os

import base64

import requests

def encode_image(image_path):

    """

    对图片文件进行 Base64 编码

    输入:

         - image_path:图片的文件路径

    输出:

         - 编码后的 Base64 字符串

    """

    # 二进制读取模式打开图片文件,

    with open(image_path, "rb") as image_file:

        # 将编码后的字节串解码为 UTF-8 字符串,以便于在文本环境中使用。

        return base64.b64encode(image_file.read()).decode("utf-8")

# 中文 Prompt 指令

question = "中国的人口老龄化究竟有多严重?"

prompt = (

    f"你的任务是根据图片回答问题,{question}详细回答。"

)

# 对本地多张图片进行 Base64 编码

images = os.listdir("./images")

images.sort()

images.remove('.ipynb_checkpoints')

print(images)

base64_images = [encode_image("./images/" + image) for image in images]

# 组织用户消息

user_content = [{"type": "text", "text": prompt}]

base64_images = [

    {

        "type": "image_url",

        "image_url": {

            "url": f"data:image/jpeg;base64,{base64_image}",

            "detail": "high",

        },

    }

    for base64_image in base64_images

]

user_content.extend(base64_images)

messages_template = [{"role": "user", "content": user_content}]

# 构造请求参数

payload = {

    "model": "gpt-4o",

    "messages": messages_template,

    "max_tokens": 1600,

    "temperature": 0,

    "seed": 2024,

}

# OpenAI API Key

api_key = "sk-xxx”

# 请求头

headers = {"Content-Type": "application/json", "Authorization": f"Bearer {api_key}"}

# 发送 POST 请求

response = requests.post(

    "https://api.openai.com/v1/chat/completions",

    headers=headers, json=payload

)

# 打印生成结果

print(response.json())

result = response.json()["choices"][0]["message"]["content"]

print(result)

输出结果:

相关推荐

  1. 深度学习与图像描述生成——说话(3)

    2024-07-10 05:02:02       37 阅读
  2. GPT-4o

    2024-07-10 05:02:02       28 阅读
  3. GPT-4o详解

    2024-07-10 05:02:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 05:02:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 05:02:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 05:02:02       58 阅读
  4. Python语言-面向对象

    2024-07-10 05:02:02       69 阅读

热门阅读

  1. MongoDB 全文检索

    2024-07-10 05:02:02       23 阅读
  2. threejs

    2024-07-10 05:02:02       24 阅读
  3. python 进阶教程--PIL图像处理

    2024-07-10 05:02:02       26 阅读
  4. CSS 图标:简化设计,优化用户体验

    2024-07-10 05:02:02       29 阅读
  5. C# 中使用模式匹配 备忘

    2024-07-10 05:02:02       26 阅读
  6. 【selenium】元素等待

    2024-07-10 05:02:02       21 阅读
  7. HTMLtable表转C#DataTable

    2024-07-10 05:02:02       33 阅读
  8. WPF设置全局样式

    2024-07-10 05:02:02       26 阅读
  9. AJAX学习笔记上(学习自用)

    2024-07-10 05:02:02       30 阅读
  10. linux之段错误的分析

    2024-07-10 05:02:02       26 阅读