This commit is contained in:
wangzixiang 2024-10-20 11:08:24 +08:00
commit 0bbf3daf74
7 changed files with 129 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
img/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
img/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

62
img2text.py Normal file
View File

@ -0,0 +1,62 @@
# usr/bin/python3
import requests
import json
# 需填写appkey
appkey = "app-XXX"
# 上传图片
def upload_img(imgpath="test.jpg"):
headers = {
'Authorization': f'Bearer {appkey}',
}
files = {
'file': (imgpath, open(imgpath, 'rb'), 'image/jpg'), # 使用实际文件路径和类型替换
}
response = requests.post(url = 'http://sl.vrgon.com:6062/v1/files/upload', headers=headers, files=files, data={'user': 'robot'})
img_id = json.loads(response.content)["id"]
return img_id
# 计算
def img2text(path="./img/test.jpg"):
img_id = upload_img(path)
payload = {
"inputs": {},
"query": "请问这道数学题的答案是多少,请直接给出数字答案",
"response_mode": "blocking",
"conversation_id": "",
"user": "robot",
"files": [
{
"type": "image",
"transfer_method": "local_file",
"upload_file_id": img_id
}
]
}
headers = {
'Authorization': f'Bearer {appkey}',
'Content-Type': 'application/json',
}
response = requests.post(url = "http://sl.vrgon.com:6062/v1/chat-messages", headers=headers, data=json.dumps(payload))
ans = ""
if response.status_code == 200:
for line in response.iter_lines():
# print(line.decode('unicode_escape'))
temp = json.loads(line)
ans += temp["answer"]
return ans
if __name__=="__main__":
print(img2text(path="./img/2.jpg"))

57
img2text2.py Normal file
View File

@ -0,0 +1,57 @@
# usr/bin/python2.7
import requests
import json
# 需填写appkey
appkey = "app-XXX"
# 上传图片
def upload_img(imgpath="test.jpg"):
headers = {
'Authorization': 'Bearer {0}'.format(appkey),
}
with open(imgpath, 'rb') as f:
files = {'file': (imgpath, f, 'image/jpg')}
response = requests.post(url = 'http://sl.vrgon.com:6062/v1/files/upload', headers=headers, files=files, data={'user': 'robot'})
img_id = json.loads(response.content)["id"]
return img_id
# 计算
def img2text(path="./img/test.jpg"):
img_id = upload_img(path)
payload = {
"inputs": {},
"query": "请问这道数学题的答案是多少,请直接给出数字答案",
"response_mode": "blocking",
"conversation_id": "",
"user": "robot",
"files": [
{
"type": "image",
"transfer_method": "local_file",
"upload_file_id": img_id
}
]
}
headers = {
'Authorization': 'Bearer {0}'.format(appkey),
'Content-Type': 'application/json',
}
response = requests.post(url = "http://sl.vrgon.com:6062/v1/chat-messages", headers=headers, data=json.dumps(payload))
ans = ""
if response.status_code == 200:
for line in response.iter_lines():
temp = json.loads(line)
ans += temp["answer"]
return ans
if __name__=="__main__":
print img2text(path="./img/2.jpg")

10
readme.md Normal file
View File

@ -0,0 +1,10 @@
# 根据图片生成答案
## img2text.py 为python3 版本 python3.8测试可用)
## img2text2.py 为python2 版本
# sample
![](docs/0bec4563f67e5c03c7bf8c75a1618dd.png)
![](docs/14da2209e097daa5deda08fa4f5123e.png)