一个开源可本地部署的英文翻译服务----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)
相关推荐
说私域4 小时前
基于开源AI大模型、AI智能名片与S2B2C商城小程序的购物中心精准零售数据架构研究
人工智能·小程序·开源
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2025-10-18)
ai·开源·大模型·github·ai教程
说私域5 小时前
开源链动2+1模式、AI智能名片与S2B2C商城小程序:社群经济的数字化重构路径
人工智能·小程序·开源
正在走向自律6 小时前
大数据背景下时序数据库选型指南:国产开源技术的突破与实践
大数据·开源·时序数据库
ajassi20006 小时前
开源 Linux 服务器与中间件(三)服务器--Nginx
linux·服务器·开源
万岳软件开发小城7 小时前
AI数字人系统源码+AI数字人小程序开发:2025年热门AI项目
人工智能·开源·软件开发·app开发·ai数字人小程序·ai数字人系统源码
Q_Q51100828510 小时前
python+django/flask婚纱摄影拍照管理系统
spring boot·python·django·flask·node.js·php
迦蓝叶10 小时前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
兆龙电子单片机设计11 小时前
【STM32项目开源】STM32单片机智能农业大棚控制系统
stm32·单片机·物联网·开源·自动化
AI分享猿11 小时前
MonkeyCode:开源AI编程助手的技术实践与应用价值
开源·ai编程