diff --git a/img2text.py b/img2text.py deleted file mode 100644 index c9204b9..0000000 --- a/img2text.py +++ /dev/null @@ -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")) \ No newline at end of file diff --git a/img2text2.py b/img2text2.py deleted file mode 100644 index d921b26..0000000 --- a/img2text2.py +++ /dev/null @@ -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") \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..1fb7797 --- /dev/null +++ b/main.py @@ -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") diff --git a/readme.md b/readme.md index e6ce808..c4a304e 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,18 @@ ## 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 ![](docs/0bec4563f67e5c03c7bf8c75a1618dd.png) diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__pycache__/__init__.cpython-36.pyc b/src/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..3c74812 Binary files /dev/null and b/src/__pycache__/__init__.cpython-36.pyc differ diff --git a/src/__pycache__/img2text.cpython-36.pyc b/src/__pycache__/img2text.cpython-36.pyc new file mode 100644 index 0000000..1a2cd4d Binary files /dev/null and b/src/__pycache__/img2text.cpython-36.pyc differ diff --git a/src/img2text.py b/src/img2text.py new file mode 100644 index 0000000..25e6529 --- /dev/null +++ b/src/img2text.py @@ -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")) \ No newline at end of file diff --git a/src/img2text2.py b/src/img2text2.py new file mode 100644 index 0000000..4429561 --- /dev/null +++ b/src/img2text2.py @@ -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 \ No newline at end of file