wangrongsheng's picture
Upload folder using huggingface_hub
1688f96 verified
import json
import base64
import os
import requests
import json
from PIL import Image, ImageDraw, ImageFont
import ast
import re
def encode_image_to_base64(img_path):
"""
:param img_path: image path
:return: Base64 encoding
"""
try:
with open(img_path, 'rb') as img_file:
img_data = img_file.read()
base64_str = base64.b64encode(img_data).decode('utf-8')
return base64_str
except Exception as e:
print(f"Encoding Error: {e}")
return None
def infer_image_with_api(image_path, prompt):
url = "http://127.0.0.1:8000/v1/chat/completions"
base64_image = encode_image_to_base64(image_path)
payload = json.dumps({
"messages": [
{
"role": "system",
"content": [
{"type": "text", "text": "你是华为公司开发的多模态大模型,名字是openPangu-VL-7B。你能够处理文本和视觉模态的输入,并给出文本输出。"},
]
},
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpg;base64,{base64_image }"}},
{"type": "text", "text": prompt},
]
}
],
"model": "pangu_vl",
"max_tokens": 2048,
"temperature": 0,
"stream": False,
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
return json.loads(response.text)["choices"][0]["message"]["content"]
def infer_message_with_api(prompt):
url = "http://127.0.0.1:8000/v1/chat/completions"
payload = json.dumps({
"messages": [
{
"role": "system",
"content": [
{"type": "text", "text": "你是华为公司开发的多模态大模型,名字是openPangu-VL-7B。你能够处理文本和视觉模态的输入,并给出文本输出。"},
]
},
{
"role": "user",
"content": [
{"type": "text", "text": prompt},
]
}
],
"model": "pangu_vl",
"max_tokens": 2048,
"temperature": 0,
"stream": False,
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
return json.loads(response.text)["choices"][0]["message"]["content"]
res = infer_message_with_api("你好,你是谁?")
print(res)