一个开源可本地部署的英文翻译服务----EnToZhAPI

EnToZhAPI项目简介

项目背景

提供本地化的英文翻译服务API。支持单句翻译请求或者批量翻译请求。支持建立查询词汇表。

项目架构

前端:使用原生js,使用MDB作为CSS框架。django模板引擎渲染可视化界面。

后端:使用waitress作为后端服务器。django作为web应用框架。

翻译模型:Helsinki-NLP/opus-mt-en-zh

ps: 有效果更好的模型欢迎留言。

API:使用django-ninjaAPI实现RESTFUL API服务以及API文档。

数据库:默认使用sqlite。

缓存:使用redis进行缓存数据管理。

异步任务队列:使用celery进行异步任务处理。

反向代理:使用Nginx处理用户请求并完成分发。

项目构建:使用docker进行项目开发部署以及项目生产部署。

项目开源地址

https://gitee.com/chaofanat/EnToZhAPI

在线测试地址http://api.chaofan.online/

轻量服务器计算性能有限,翻译速度较慢。翻译效果取决于翻译的模型。

python调用API示例

python 复制代码
import httpx, json, time

translate_api = "http://api.chaofan.online/api/translate"

def batchtranslate(texts : list[str]):
    
    payload = {"text": texts}
    payload = json.dumps(payload)
    r = httpx.post(url = "http://api.chaofan.online/api/translate/batch/", data = payload).json()
    task_ids = r["task_ids"]
    print("已经获取任务ID:")
    print(task_ids)
    print("可以通过url:"+translate_api+"/{task_id} 获取任务执行结果。")
    print("任务执行中,等待获取结果(默认等待1分钟后获取任务结果)。。。")
    time.sleep(1*60)
    
    translate_res = []
    for task_id in task_ids: 
        res = httpx.get(url = f"{translate_api}/{task_id}").json()
        translate_res = translate_res+res["result"]

    print("获取任务结果成功:")
    print("##################")
    for res in translate_res:
        print(res)
    return translate_res


sentences = [
    "The quick brown fox jumps over the lazy dog.",
    "Every moment is a fresh beginning.",
    "Life is what happens when you're busy making other plans.",
    "Stars can't shine without darkness.",
    "Believe in yourself and all that you are.",
    "Success is not final, failure is not fatal: it is the courage to continue that counts.",
    "The best way to predict your future is to create it.",
    "Smile, because it confuses people.",
    "Dream big and dare to fail.",
    "Happiness is a direction, not a destination.",
    "You miss 100% of the shots you don't take.",
    "The only way to do great work is to love what you do.",
    "The future belongs to those who believe in the beauty of their dreams.",
    "Be the change you wish to see in the world.",
    "If you want to go fast, go alone. If you want to go far, go together.",
    "The only limit to our realization of tomorrow will be our doubts of today.",
    "The greatest glory in living lies not in never falling, but in rising every time we fall.",
    "Opportunity is missed by most people because it is dressed in overalls and looks like work.",
    "Life is 10% what happens to us and 90% how we react to it.",
    "The best time to plant a tree was 20 years ago. The second best time is now."
]

translate_res = batchtranslate(sentences)


for i in translate_res:
    print(i)
相关推荐
Doker 多克1 小时前
Python Django系列—入门实例
python·django
小白狮ww2 小时前
国产超强开源大语言模型 DeepSeek-R1-70B 一键部署教程
人工智能·深度学习·机器学习·语言模型·自然语言处理·开源·deepseek
信阳农夫2 小时前
python 3.6.8支持的Django版本是多少?
python·django·sqlite
时光追逐者3 小时前
推荐几款开源免费的 .NET MAUI 组件库
microsoft·开源·c#·.net·.net core·maui
2501_904447744 小时前
苹果确认iOS 18.4四月初推出:Apple Intelligence将迎来中文支持
华为·智能手机·django·virtualenv·pygame
kcarly5 小时前
Safari 插件开发流程
开源
蚝油菜花7 小时前
HealthGPT:你的AI医疗助手上线了:支持X光到病理切片,诊断建议+报告生成全自动
人工智能·开源
不一样的信息安全8 小时前
开启开源新时代:DeepSeek引领人工智能技术开放化
人工智能·开源
QQ3596773459 小时前
Github开源AI LLM大语言模型WebUI框架推荐
人工智能·开源·github
LCY1339 小时前
websocket与django
websocket·django·sqlite