• 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)

    输出结果:

  • 相关阅读:
    智慧综合体信息化智能化解决方案
    Vue3 样式绑定
    电容笔有什么用?电容笔十大品牌排行
    滑块视图的实现
    Python~Pandas 小白避坑之常用笔记
    SpringMVC ---- RESTful案例
    青少年护眼台灯哪个牌子好?国家认可的护眼台灯品牌
    AcWing 197. 阶乘分解
    李宏毅机器学习代码——预测COVID-19人数
    为什么使用C#开发软件的公司和程序员都很少?
  • 原文地址:https://blog.csdn.net/wxl781227/article/details/140308546