首页 > 其他分享 >开源免费翻译API实现英译中 - 含详细可运行代码样例

开源免费翻译API实现英译中 - 含详细可运行代码样例

时间:2024-11-14 09:44:47浏览次数:3  
标签:英译中 Spring 样例 Alibaba AI ai API spring

大模型提升翻译质量拓宽应用

过去我们主要依赖百度或其他团队提供的翻译API来实现中英、英中、日中、中日等多种语言间的翻译。如今,随着大模型技术的发展,其在内容理解方面的能力已经远远超过了上一代的翻译软件。这意味着我们现在可以完全依靠大模型来提供更加精准流畅的翻译服务,不仅提升了翻译质量,也拓宽了应用场景。

本例子使用spring ai alibaba + QWen千问 api 完成,你可以跑通以后换自己的实现。

QWen 目前 有100万免费Token额度,可以快速实现需求。同时,因为qwen 也是个开源的模型,我们可以自己搭建模型来实现免费使用

Spring AI Alibaba详解:轻松接入阿里云AI服务

Spring AI Alibaba是Spring AI的一个实现,它基于Spring AI的API完成了阿里云百炼系列云产品的接入。如同Spring Cloud Alibaba整合了阿里巴巴的最佳实践一样,Spring AI Alibaba也代表着国内对Spring AI框架最优秀的落地应用之一。通过Spring AI Alibaba,开发者可以轻松地利用阿里云提供的大模型服务,包括但不限于对话、文生图、文生语音等功能。Spring AI Alibaba的一大优势在于其良好的抽象层设计,这使得用户可以在不同AI提供者间灵活切换,只需更改配置即可,极大地减少了迁移成本。此外,Spring AI Alibaba还提供了诸如Prompt模板、RAG(检索增强生成)等高级特性,进一步丰富了开发者的工具箱。本文将重点介绍如何使用Spring AI Alibaba中的Prompt模板和模型调用能力来快速为项目添加强大的AI功能。

阿里巴巴云开发的预训练语言模型Qwen介绍

通义千问Qwen是阿里巴巴云开发的预训练语言模型,在MMLU、TheoremQA、GPQA等基准测评中表现出色,超越了Llama 3 70B。它在Hugging Face开源大模型排行榜Open LLM Leaderboard上荣登榜首,展示了其卓越的能力和广泛的应用潜力。

使用SpringBoot整合Spring AI Alibaba实现英译中功能

为了基于Spring Boot集成Spring AI Alibaba构建一个英文翻译成中文的项目,并且使用prompt能力与chatClient能力,以及通过流返回接口支持CORS跨域请求,可以按照以下步骤进行配置和编码:

一、环境准备

  1. JDK版本:确保你的开发环境中安装了JDK17或以上版本。
  1. Spring Boot版本:保证你的Spring Boot项目版本为3.3.x系列。

二、获取API Key

访问阿里云百炼页面并登录您的账号。在服务列表中找到“百炼大模型推理”服务并开通。成功后创建一个新的API Key用于后续接入通义千问等AI功能。

三、设置环境变量

将获得的API Key设置为环境变量,或者直接在application.properties文件中配置:

spring.ai.dashscope.api-key=这里填写你的API_KEY

四、添加依赖及仓库配置

由于Spring AI Alibaba的相关库还未正式发布到Maven中央仓库,我们需要手动添加Spring官方提供的仓库地址来获取最新版本的库。请在项目的pom.xml文件中加入如下内容:

<repositories>
    <repository>
        <id>sonatype-snapshots</id>

        <url>https://oss.sonatype.org/content/repositories/snapshots</url>

        <snapshots>
            <enabled>true</enabled>

        </snapshots>

    </repository>

    <repository>
        <id>spring-milestones</id>

        <name>Spring Milestones</name>

        <url>https://repo.spring.io/milestone</url>

        <snapshots>
            <enabled>false</enabled>

        </snapshots>

    </repository>

    <repository>
        <id>spring-snapshots</id>

        <name>Spring Snapshots</name>

        <url>https://repo.spring.io/snapshot</url>

        <releases>
            <enabled>false</enabled>

        </releases>

    </repository>

</repositories>

<dependencies>
    <dependency>
        <groupId>com.alibaba.cloud.ai</groupId>

        <artifactId>spring-ai-alibaba-starter</artifactId>

        <version>1.0.0-M3.1</version> <!-- 确保使用的是最新版 -->
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-webflux</artifactId>

    </dependency>

    <!-- 其他必要的依赖项 -->
</dependencies>

这里特别指出了spring-ai-alibaba-starterspring-boot-starter-webflux,前者用于接入AI功能,后者则提供了对Reactive编程的支持,包括处理Flux类型的响应。

五、编写Controller类

接下来,我们将创建一个简单的控制器类来处理翻译请求。这个控制器将接收英文文本作为输入,并利用ChatClient生成中文翻译结果。同时,它还启用了CORS以允许跨源请求。

@RestController
@RequestMapping("/ai")
@CrossOrigin(origins = "*") // 启用CORS
public class TranslationController {

    private final ChatClient chatClient;

    public TranslationController(ChatClient.Builder builder) {
        this.chatClient = builder.build();
    }

    @GetMapping(value = "/steamChat")
    public Flux<String> steamChat(@RequestParam String input) {
        Prompt prompt = new Prompt("Translate the following English text to Chinese: " + input);
        return chatClient.prompt(prompt).stream().content();
    }
}

在这个例子中,我们定义了一个名为TranslationController的控制器,它有一个GET方法/steamChat接受input参数作为要翻译的英文文本。然后构造一个提示给ChatClient,告诉它这是一条需要被翻译成中文的信息。最后,使用stream().content()方法异步地返回翻译结果。

六、启动应用

完成上述所有步骤后,就可以运行你的Spring Boot应用程序了。访问 http://localhost:8080/ai/steamChat?input=Hello%20World 测试是否能正确返回中文翻译的结果"你好 世界"。

以上就是基于Spring Boot集成Spring AI Alibaba实现英文至中文翻译服务的全部过程。希望对你有所帮助!

标签:英译中,Spring,样例,Alibaba,AI,ai,API,spring
From: https://blog.csdn.net/whisperzzza/article/details/143754544

相关文章

  • Java API笔记
    JavaAPI(ApplicationProgrammingInterface)是一组预先定义好的类和接口,帮助开发者快速开发应用程序。常用的packagejava.lang:包含了一些基础类,如Object、String、System等。java.util:提供了许多实用工具类,如集合框架(List、Set、Map)、日期/时间处理等。javafx:用于创建富客......
  • 如何使用PHP开发API接口?
    在当今数字化时代,API(ApplicationProgrammingInterface,应用程序编程接口)成为前后端交互的核心桥梁。PHP作为一种流行的服务器端脚本语言,被广泛用于开发API接口。本文将详细介绍如何使用PHP开发API接口,从基础概念到实战步骤,帮助读者掌握这一重要技能。一、API接口基础介绍AP......
  • API接口对淘宝的深远影响有什么?
    在数字化时代,API(ApplicationProgrammingInterface)接口已经成为连接不同系统和应用的重要桥梁。对于电商巨头淘宝而言,API接口更是其实现自动化运营、优化用户体验、拓展业务范围、促进数据分析和精准营销的关键工具。本文将深入探讨API接口对淘宝的深远影响,揭示其在电商新时......
  • API接口对电商的深远影响
    在当今数字化商业时代,电子商务行业竞争日益激烈,创新和效率成为企业成功的关键因素。应用程序编程接口(API)在电商领域的应用正逐渐改变着企业的运营模式,为其带来了众多的机遇与显著的收益。一、API接口在电商中的应用概述API接口是一种允许不同软件系统之间相互通信和交互的......
  • 电影票api调用接口如何使用?
    使用电影票API调用接口一般需要以下步骤:1.选择API服务提供商:市场上有许多提供电影票API的服务商,包括电影院线、票务平台或第三方服务公司。要综合考虑其数据准确性、接口稳定性、响应速度、覆盖影院范围以及价格等因素,选择可靠的API服务提供商。2.注册并获取API......
  • Fastapi使用redis
    异步版本rediss.pyfromfastapiimportFastAPI,Depends,APIRouterimportredis.asyncioasaioredisimportuvicornfromcontextlibimportasynccontextmanagerapp=FastAPI()#Redis连接池配置REDIS_URL="redis://192.168.252.128:6379/0"@asyncconte......
  • 计算引擎engine2x的枚举获取api
    直接代码:API=>:POST'http://ip:port/api/portal/operat'Content-Type:application/x-www-form-urlencodedac=get_enum_items_by_idid=d6bf6e1bf7f34a59b9a8bca61a7ef9f9//ajaxvarsettings={"url":"http://ip:port/api/portal/ope......
  • 使用wxpython开发跨平台桌面应用,对WebAPI调用接口的封装
    我在前面介绍的系统界面功能,包括菜单工具栏、业务表的数据,开始的时候,都是基于模拟的数据进行测试,数据采用JSON格式处理,通过辅助类的方式模拟实现数据的加载及处理,这在开发初期是一个比较好的测试方式,不过实际业务的数据肯定是来自后端,包括本地数据库,SqlServer、Mysql、Oracle、Sql......
  • 关于Java API的正则表达和try-catch的使用方法
    文章目录Java包装类的概述对应包装类包装类的转换方法(parse)Integer.parseInt(Strings)Long.parseLong(Strings)Byte.parseByte(Strings)Short.parseShort(Strings)Float.parseFloat(Strings)Double.parseDouble(Strings)正则表达式常用方法字符规则`.`匹配除换......
  • python-27-Python ORM系列之彻底搞明白ORM概念,对ORM进行封装结合FastAPI实现数据库的
    python-27-PythonORM系列之彻底搞明白ORM概念,对ORM进行封装结合FastAPI实现数据库的增删改查,联表查询等接口一.简介在Python基础系列ORM部分为大家介绍了如何搭建MySQL数据和MySQL一些访问配置,同时也介绍了pymysql库的封装来实现对数据库的增删改查功能,但是截止以上都没......