# py-transgpt
> python 长文本/多平台翻译器(目前支持 baidu、tencent、chatgpt)
------
## 简介
封装了 baidu、tencent、chatgpt 翻译平台的接口的差异性,只需要简单几步配置即可使用。
同时支持长文本翻译:原生的平台接口有字数限制,但是 [transgpt](https://github.com/EXP-Codes/py-transgpt) 会自动切割长文本为多段再调用接口翻译、翻译结果自动拼接为长文本。
## 运行环境
![](https://img.shields.io/badge/Python-3.8%2B-brightgreen.svg)
## 安装说明
执行脚本:
```
python -m pip install --upgrade pip
python -m pip install py-transgpt
```
## 使用说明
### 百度翻译
> 使用前需要先到 [百度翻译开放平台](https://fanyi-api.baidu.com/manage/developer) 生成 API Key
```python
# 使用方法 1
from transgpt.translate import trans, BAIDU
result = trans(
${CONTENT},
from_lang='jp',
to_lang='zh',
platform=BAIDU,
api_id=${BD_APP_ID},
api_key=${BD_APP_KEY}
)
# 使用方法 2
from transgpt.trans_baidu import BaiduTranslation
client = BaiduTranslation(api_id=${BD_APP_ID}, api_key=${BD_APP_KEY})
result = client.translate(${CONTENT}, from_lang='jp', to_lang='zh')
```
更多使用方法详见单元测试:
- [使用方法 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L70)
- [使用方法 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L84)
![](./imgs/baidu.jpg)
### 腾讯翻译
> 使用前需要先到 [腾讯云机器翻译](https://console.cloud.tencent.com/cam/capi) 生成 API Key
```python
# 使用方法 1
from transgpt.translate import trans, TENCENT
result = trans(
${CONTENT},
from_lang='ja',
to_lang='zh',
platform=TENCENT,
api_id=${TX_SECRET_ID},
api_key=${TX_SECRET_KEY}
)
# 使用方法 2
from transgpt.trans_tencent import TencentTranslation
client = TencentTranslation(api_id=${BD_APP_ID}, api_key=${BD_APP_KEY})
result = client.translate(${CONTENT}, from_lang='ja', to_lang='zh')
```
更多使用方法详见单元测试:
- [使用方法 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L109)
- [使用方法 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L127)
![](./imgs/tencent.jpg)
### ChatGPT AI 翻译
> 使用前需要先到 [OpenAI](https://platform.openai.com/account/api-keys) 生成 API Key
```python
# 使用方法 1
from transgpt.translate import trans, CHATGPT, CHATGPT_35_TURBO
result = trans(
${CONTENT},
platform=CHATGPT,
api_id='',
api_key=${GPT_API_KEY},
args={
ARG_ROLE: ${GPT_AI_ROLE}, # Option: 定义人设
ARG_OPENAI_MODEL: CHATGPT_35_TURBO,
ARG_PROXY_IP: '127.0.0.1',
ARG_PROXY_PORT: 8888
}
)
# 使用方法 2
from transgpt.trans_chatgpt import ChatgptTranslation, CHATGPT_35_TURBO, ARG_ROLE
client = ChatgptTranslation(${GPT_API_KEY}, CHATGPT_35_TURBO, '127.0.0.1', 8888)
result = client.translate(${CONTENT}, from_lang='日文', to_lang='中文') # 使用内置 AI 人设
result = client.translate(${CONTENT}, args={ ARG_ROLE: ${GPT_AI_ROLE} }) # 使用自定义 AI 人设
```
更多使用方法详见单元测试:
- [使用方法 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L156)
- [使用方法 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L176)
![](./imgs/chatgpt.jpg)
Raw data
{
"_id": null,
"home_page": "https://github.com/EXP-Codes/py-transgpt",
"name": "py-transgpt",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5, <4",
"maintainer_email": "",
"keywords": "translation,ChatGPT,Baidu,Tencent",
"author": "EXP",
"author_email": "exp.lqb@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/34/03/5c0126b76cd5aa32315ab8f7725875cdf186fd6fc0f416ee424eb42157ec/py-transgpt-1.4.tar.gz",
"platform": null,
"description": "# py-transgpt\n\n> python \u957f\u6587\u672c/\u591a\u5e73\u53f0\u7ffb\u8bd1\u5668\uff08\u76ee\u524d\u652f\u6301 baidu\u3001tencent\u3001chatgpt\uff09\n\n------\n\n## \u7b80\u4ecb\n\n\u5c01\u88c5\u4e86 baidu\u3001tencent\u3001chatgpt \u7ffb\u8bd1\u5e73\u53f0\u7684\u63a5\u53e3\u7684\u5dee\u5f02\u6027\uff0c\u53ea\u9700\u8981\u7b80\u5355\u51e0\u6b65\u914d\u7f6e\u5373\u53ef\u4f7f\u7528\u3002\n\n\u540c\u65f6\u652f\u6301\u957f\u6587\u672c\u7ffb\u8bd1\uff1a\u539f\u751f\u7684\u5e73\u53f0\u63a5\u53e3\u6709\u5b57\u6570\u9650\u5236\uff0c\u4f46\u662f [transgpt](https://github.com/EXP-Codes/py-transgpt) \u4f1a\u81ea\u52a8\u5207\u5272\u957f\u6587\u672c\u4e3a\u591a\u6bb5\u518d\u8c03\u7528\u63a5\u53e3\u7ffb\u8bd1\u3001\u7ffb\u8bd1\u7ed3\u679c\u81ea\u52a8\u62fc\u63a5\u4e3a\u957f\u6587\u672c\u3002\n\n\n## \u8fd0\u884c\u73af\u5883\n\n![](https://img.shields.io/badge/Python-3.8%2B-brightgreen.svg)\n\n\n## \u5b89\u88c5\u8bf4\u660e\n\n\u6267\u884c\u811a\u672c\uff1a\n\n```\npython -m pip install --upgrade pip\npython -m pip install py-transgpt\n```\n\n## \u4f7f\u7528\u8bf4\u660e\n\n### \u767e\u5ea6\u7ffb\u8bd1\n\n> \u4f7f\u7528\u524d\u9700\u8981\u5148\u5230 [\u767e\u5ea6\u7ffb\u8bd1\u5f00\u653e\u5e73\u53f0](https://fanyi-api.baidu.com/manage/developer) \u751f\u6210 API Key\n\n```python\n# \u4f7f\u7528\u65b9\u6cd5 1\nfrom transgpt.translate import trans, BAIDU\nresult = trans(\n ${CONTENT}, \n from_lang='jp', \n to_lang='zh', \n platform=BAIDU, \n api_id=${BD_APP_ID}, \n api_key=${BD_APP_KEY}\n)\n\n# \u4f7f\u7528\u65b9\u6cd5 2\nfrom transgpt.trans_baidu import BaiduTranslation\nclient = BaiduTranslation(api_id=${BD_APP_ID}, api_key=${BD_APP_KEY})\nresult = client.translate(${CONTENT}, from_lang='jp', to_lang='zh')\n```\n\n\u66f4\u591a\u4f7f\u7528\u65b9\u6cd5\u8be6\u89c1\u5355\u5143\u6d4b\u8bd5\uff1a\n\n- [\u4f7f\u7528\u65b9\u6cd5 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L70)\n- [\u4f7f\u7528\u65b9\u6cd5 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L84)\n\n![](./imgs/baidu.jpg)\n\n\n### \u817e\u8baf\u7ffb\u8bd1\n\n> \u4f7f\u7528\u524d\u9700\u8981\u5148\u5230 [\u817e\u8baf\u4e91\u673a\u5668\u7ffb\u8bd1](https://console.cloud.tencent.com/cam/capi) \u751f\u6210 API Key\n\n```python\n# \u4f7f\u7528\u65b9\u6cd5 1\nfrom transgpt.translate import trans, TENCENT\nresult = trans(\n ${CONTENT}, \n from_lang='ja', \n to_lang='zh', \n platform=TENCENT, \n api_id=${TX_SECRET_ID}, \n api_key=${TX_SECRET_KEY}\n)\n\n# \u4f7f\u7528\u65b9\u6cd5 2\nfrom transgpt.trans_tencent import TencentTranslation\nclient = TencentTranslation(api_id=${BD_APP_ID}, api_key=${BD_APP_KEY})\nresult = client.translate(${CONTENT}, from_lang='ja', to_lang='zh')\n```\n\n\u66f4\u591a\u4f7f\u7528\u65b9\u6cd5\u8be6\u89c1\u5355\u5143\u6d4b\u8bd5\uff1a\n\n- [\u4f7f\u7528\u65b9\u6cd5 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L109)\n- [\u4f7f\u7528\u65b9\u6cd5 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L127)\n\n![](./imgs/tencent.jpg)\n\n\n### ChatGPT AI \u7ffb\u8bd1\n\n> \u4f7f\u7528\u524d\u9700\u8981\u5148\u5230 [OpenAI](https://platform.openai.com/account/api-keys) \u751f\u6210 API Key\n\n```python\n# \u4f7f\u7528\u65b9\u6cd5 1\nfrom transgpt.translate import trans, CHATGPT, CHATGPT_35_TURBO\nresult = trans(\n ${CONTENT}, \n platform=CHATGPT, \n api_id='', \n api_key=${GPT_API_KEY}, \n args={\n ARG_ROLE: ${GPT_AI_ROLE}, # Option: \u5b9a\u4e49\u4eba\u8bbe\n ARG_OPENAI_MODEL: CHATGPT_35_TURBO, \n ARG_PROXY_IP: '127.0.0.1', \n ARG_PROXY_PORT: 8888\n }\n)\n\n# \u4f7f\u7528\u65b9\u6cd5 2\nfrom transgpt.trans_chatgpt import ChatgptTranslation, CHATGPT_35_TURBO, ARG_ROLE\nclient = ChatgptTranslation(${GPT_API_KEY}, CHATGPT_35_TURBO, '127.0.0.1', 8888)\nresult = client.translate(${CONTENT}, from_lang='\u65e5\u6587', to_lang='\u4e2d\u6587') # \u4f7f\u7528\u5185\u7f6e AI \u4eba\u8bbe\nresult = client.translate(${CONTENT}, args={ ARG_ROLE: ${GPT_AI_ROLE} }) # \u4f7f\u7528\u81ea\u5b9a\u4e49 AI \u4eba\u8bbe\n```\n\n\u66f4\u591a\u4f7f\u7528\u65b9\u6cd5\u8be6\u89c1\u5355\u5143\u6d4b\u8bd5\uff1a\n\n- [\u4f7f\u7528\u65b9\u6cd5 1](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L156)\n- [\u4f7f\u7528\u65b9\u6cd5 2](https://github.com/EXP-Codes/py-transgpt/blob/ae843092be17c53cfd40686129fa9e2976418042/test/test.py#L176)\n\n![](./imgs/chatgpt.jpg)\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Platform translation interface encapsulation: ChatGPT, Baidu, Tencent",
"version": "1.4",
"project_urls": {
"Bug Reports": "https://github.com/EXP-Codes/py-transgpt/issues",
"Funding": "https://github.com/EXP-Codes/py-transgpt/tree/master/imgs/donate-alipay.png",
"Homepage": "https://github.com/EXP-Codes/py-transgpt",
"Say Thanks!": "https://github.com/EXP-Codes/py-transgpt/tree/master/imgs/donate-wechat.png",
"Source": "https://github.com/EXP-Codes/py-transgpt"
},
"split_keywords": [
"translation",
"chatgpt",
"baidu",
"tencent"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fa052cdcd38a3a17e969026a66f214a7238d17daf636d2e81af671c2299396e9",
"md5": "5b44e8114aef4b7a2f82eecc03b4e613",
"sha256": "bc594bca3ff4dc57cb78556136d3308c3b417512f4b30a7b90d627e460782b46"
},
"downloads": -1,
"filename": "py_transgpt-1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5b44e8114aef4b7a2f82eecc03b4e613",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5, <4",
"size": 11120,
"upload_time": "2023-11-11T23:52:07",
"upload_time_iso_8601": "2023-11-11T23:52:07.134305Z",
"url": "https://files.pythonhosted.org/packages/fa/05/2cdcd38a3a17e969026a66f214a7238d17daf636d2e81af671c2299396e9/py_transgpt-1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34035c0126b76cd5aa32315ab8f7725875cdf186fd6fc0f416ee424eb42157ec",
"md5": "33bb04bbb0fcfbb75a7b689e4aec2d33",
"sha256": "93010184d7e3378ded9580c07592bf13ffa4a5e99426245468d7906782efd59c"
},
"downloads": -1,
"filename": "py-transgpt-1.4.tar.gz",
"has_sig": false,
"md5_digest": "33bb04bbb0fcfbb75a7b689e4aec2d33",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5, <4",
"size": 13517,
"upload_time": "2023-11-11T23:52:08",
"upload_time_iso_8601": "2023-11-11T23:52:08.703912Z",
"url": "https://files.pythonhosted.org/packages/34/03/5c0126b76cd5aa32315ab8f7725875cdf186fd6fc0f416ee424eb42157ec/py-transgpt-1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-11 23:52:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "EXP-Codes",
"github_project": "py-transgpt",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "py-transgpt"
}