update
This commit is contained in:
parent
0bbf3daf74
commit
f1f4d84f7c
62
img2text.py
62
img2text.py
|
@ -1,62 +0,0 @@
|
||||||
# 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
57
img2text2.py
|
@ -1,57 +0,0 @@
|
||||||
# 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")
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#usr/bin/python2.7
|
||||||
|
|
||||||
|
from src.img2text2 import Chatbot
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
base_url = ""
|
||||||
|
# Appkey is required
|
||||||
|
appkey = "app-"
|
||||||
|
|
||||||
|
cb = Chatbot(appkey, base_url)
|
||||||
|
print cb.img2text(path="./img/2.jpg")
|
12
readme.md
12
readme.md
|
@ -4,6 +4,18 @@
|
||||||
|
|
||||||
## img2text2.py 为python2 版本
|
## img2text2.py 为python2 版本
|
||||||
|
|
||||||
|
1.下载包
|
||||||
|
git clone http://sl.vrgon.com:3000/wangzixiang/img2textforrobot.git
|
||||||
|
|
||||||
|
2.安装依赖包
|
||||||
|
pip install requests
|
||||||
|
|
||||||
|
3.测试运行
|
||||||
|
python main.py
|
||||||
|
|
||||||
|
4.使用
|
||||||
|
将src 放入同级目录下,然后根据main.py 方式调用即可
|
||||||
|
|
||||||
# sample
|
# sample
|
||||||
![](docs/0bec4563f67e5c03c7bf8c75a1618dd.png)
|
![](docs/0bec4563f67e5c03c7bf8c75a1618dd.png)
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,73 @@
|
||||||
|
# usr/bin/python3
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
class Chatbot:
|
||||||
|
def __init__(self, appkey, base_url):
|
||||||
|
self.appkey = appkey
|
||||||
|
self.base_url = base_url
|
||||||
|
|
||||||
|
# 上传图片
|
||||||
|
def upload_img(self, imgpath="test.jpg"):
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {self.appkey}',
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'file': (imgpath, open(imgpath, 'rb'), 'image/jpg'), # 使用实际文件路径和类型替换
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
response = requests.post(url = f'{self.base_url}/files/upload', headers=headers, files=files, data={'user': 'robot'})
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print("error", e)
|
||||||
|
|
||||||
|
img_id = json.loads(response.content)["id"]
|
||||||
|
|
||||||
|
return img_id
|
||||||
|
|
||||||
|
# 计算
|
||||||
|
def img2text(self, path="./img/test.jpg"):
|
||||||
|
img_id = self.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 {self.appkey}',
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.post(url = f"{self.base_url}/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__":
|
||||||
|
|
||||||
|
base_url = "http://sl.vrgon.com:6062/v1"
|
||||||
|
# 需填写appkey
|
||||||
|
appkey = "app-SKvWcmjJJk5PoTumsegFNd1N"
|
||||||
|
|
||||||
|
cb = Chatbot(appkey, base_url)
|
||||||
|
print(cb.img2text(path="./img/2.jpg"))
|
|
@ -0,0 +1,61 @@
|
||||||
|
#usr/bin/python2.7
|
||||||
|
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
class Chatbot:
|
||||||
|
def init(self, appkey, base_url):
|
||||||
|
self.appkey = appkey
|
||||||
|
self.base_url = base_url
|
||||||
|
|
||||||
|
# Upload pictures
|
||||||
|
def upload_img(self, imgpath="test.jpg"):
|
||||||
|
headers = {
|
||||||
|
'Authorization': 'Bearer {}'.format(self.appkey),
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'file': (imgpath, open(imgpath, 'rb'), 'image/jpg'), # Replace with the actual file path and type
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
response = requests.post(url=self.base_url + '/files/upload', headers=headers, files=files, data={'user': 'robot'})
|
||||||
|
except Exception as e:
|
||||||
|
print("error", e)
|
||||||
|
|
||||||
|
img_id = json.loads(response.content)["id"]
|
||||||
|
|
||||||
|
return img_id
|
||||||
|
|
||||||
|
# 计算
|
||||||
|
def img2text(self, path="./img/test.jpg"):
|
||||||
|
img_id = self.upload_img(path)
|
||||||
|
payload = {
|
||||||
|
"inputs": {},
|
||||||
|
"query": "What is the answer to this math problem? Please give the numerical answer directly.",
|
||||||
|
"response_mode": "blocking",
|
||||||
|
"conversation_id": "",
|
||||||
|
"user": "robot",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"type": "image",
|
||||||
|
"transfer_method": "local_file",
|
||||||
|
"upload_file_id": img_id
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'Authorization': 'Bearer {}'.format(self.appkey),
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.post(url=self.base_url + '/chat-messages', headers=headers, data=json.dumps(payload))
|
||||||
|
|
||||||
|
ans = ""
|
||||||
|
if response.status_code == 200:
|
||||||
|
for line in response.iter_lines():
|
||||||
|
if line: # Make sure the row is not empty
|
||||||
|
temp = json.loads(line)
|
||||||
|
ans += temp["answer"]
|
||||||
|
|
||||||
|
return ans
|
Loading…
Reference in New Issue