Closed BigWhiteFox closed 3 months ago
"messages": [{"content": content_with_image, "role": "user"}],
这个格式不对,请参考gpt4v的格式。
https://platform.openai.com/docs/guides/vision https://github.com/InternLM/lmdeploy/blob/main/docs/zh_cn/serving/api_server_vl.md
感谢指点,问题已解决。
Checklist
Describe the bug
使用LMDeploy成功启动了API服务器,然后使用Chat Completions V1的post在本地搭建了一个gradio页面。按照格式聊天对话可以正常跑起来,但是我想上传图片让图像识别,看了一下四个通道似乎没有搭建传输图片的格式。然后想起来实战营Xcomposer以前是把图片编码传输给模型的,我就RGB化了一下然后使用Base64编码附在content末尾。发送以后<Response [200]>,后端也显示INFO: 127.0.0.1:43626 - "POST /v1/chat/completions HTTP/1.1" 200 OK。但是print(json_response["choices"][0]["message"]["content"])无内容。 故想询问一下,是否有对图片来说是否独立的格式/方法从而经过api服务器与大模型对话,如果没有的话我的方法以及思路是否有问题,该如何修正。
Reproduction
代码: import gradio as gr import requests import base64 from io import BytesIO from PIL import Image
替换为您的 API URL
api_url = "http://0.0.0.0:23333/v1/chat/completions"
def image_to_base64(img): """Converts an image to a Base64 string in RGB mode."""
确保图片是 RGB 模式
def generate_story(text_input, image_input=None): if image_input is not None:
将图片转换为Base64编码
更新Gradio接口以包含图片输入
iface = gr.Interface( fn=generate_story, inputs=[ gr.components.Textbox(placeholder="User message", label="Input Story"), gr.Image(type="pil", label="Upload an Image (optional)") ], outputs=gr.components.Textbox(placeholder="Story generated by the API", label="Generated Story") )
iface.launch()
两次对话演示 后端正常发送: 上传图片则无输出: 去除图片则正常对话:
Environment
Error traceback
No response