首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用 LangChain 实现简单的翻译功能

使用 LangChain 实现简单的翻译功能

作者头像
张申傲
发布于 2024-09-07 04:57:18
发布于 2024-09-07 04:57:18
16610
代码可运行
举报
文章被收录于专栏:漫漫架构路漫漫架构路
运行总次数:0
代码可运行

不久前,国内的头部大模型厂商智谱 AI ,刚刚推出了 glm-4-0520 模型,该模型被认为是当前平台最先进的模型,具备 128k 的上下文长度,并且相较于前一代模型,指令遵从能力大幅提升 18.6%。可以看出,智谱AI对于该模型寄予厚望。

既然如此,我们基于“唐诗翻译”这项基础功能,对 glm-4-0520 模型进行一下简单的基准测试,并与前一代 glm-4-airx 模型和目前大火的OpenAI gpt-4o-mini 进行一下对比。话不多说,开始写代码。

为了方便进行多模型的开发和对比,我们采用 LangChain 框架和 LCEL 表达式来完成该功能。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
@Time    : 2024/8/30 15:20 
@Author  : ZhangShenao 
@File    : 使用LangChain实现简单的翻译功能.py
@Desc    : 
"""

import os
from typing import List

import dotenv
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.language_models import BaseChatModel
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI

# 加载环境变量
dotenv.load_dotenv()

# 构造Prompt
prompt = ChatPromptTemplate.from_messages([
    ("system",
     "你是一个智能翻译专家,请将用户输入的唐诗,生成{language}的准确翻译,要求做到信达雅,尽可能保留原文的韵味和意境。"),
    ("human", "{poem}")
])

# 创建多个LLM进行对比
llms: List[BaseChatModel] = [
    ChatZhipuAI(model="glm-4-0520", temperature=0),
    ChatZhipuAI(model="glm-4-airx", temperature=0),
    ChatOpenAI(model="gpt-4o-mini", temperature=0, openai_api_base=os.getenv("OPENAI_API_BASE"))
]
parser = StrOutputParser()

poem = """床前明月光,
疑似地上霜。
举头望明月,
低头思故乡。"""

for llm in llms:
    chain = prompt | llm | parser
    translation = chain.invoke({"poem": poem, "language": "英语"})
    print(f"【{llm.model_name}】的翻译结果")
    print(f"{translation}")
    print("----------------------------------------------")

输出结果对比如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
【glm-4-0520】的翻译结果
Moonlight shines before my bed,
Like frost on the ground it spreads.
I raise my head to the bright moon above,
Then bow it down, my hometown to think of.
----------------------------------------------
【glm-4-airx】的翻译结果
Beneath my bed, the moonlight shines bright,
Like frost on ground, it brings a silent sight.
I raise my head to gaze at the moon so fair,
And bow it down, my hometown I recall.
----------------------------------------------
【gpt-4o-mini】的翻译结果
The bright moonlight before my bed,  
It seems like frost upon the ground.  
I raise my head to gaze at the moon,  
And lower it to think of my hometown.
----------------------------------------------

从翻译结果可以看出,相较于 gpt-4o-miniglm-4-0520 的翻译结果更符合中文的意境,同时对比 glm-4-airx 的结果也更加精炼。

除此之外,从性能的角度看,glm-4-0520 的生成结果耗时更低(LangSmith 平台观测结果,仅供参考):

OpenAI耗时
OpenAI耗时
智谱AI耗时
智谱AI耗时

综上所述:针对中文语料的翻译工作,glm-4-0520 应该是一个不错的选择。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
可以,大佬,互粉一下
可以,大佬,互粉一下
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
AIOps系列 | 大模型入门实战
!! 大家好,我是乔克,一个爱折腾的运维工程,一个睡觉都被自己丑醒的云原生爱好者。
没有故事的陈师傅
2025/07/16
2000
AIOps系列 | 大模型入门实战
我为什么放弃了 LangChain?
如果你关注了过去几个月中人工智能的爆炸式发展,那你大概率听说过 LangChain。
机器之心
2023/08/08
1.4K0
我为什么放弃了 LangChain?
一文带你了解RAG(检索增强生成) | 概念理论介绍+ 代码实操(含源码)
针对大型语言模型效果不好的问题,之前人们主要关注大模型再训练、大模型微调、大模型的Prompt增强,但对于专有、快速更新的数据却并没有较好的解决方法,为此检索增强生成(RAG)的出现,弥合了LLM常识和专有数据之间的差距。
ShuYini
2023/12/21
42.9K82
一文带你了解RAG(检索增强生成) | 概念理论介绍+ 代码实操(含源码)
从API到Agent:万字长文洞悉LangChain工程化设计
我想做一个尝试,看看能不能用尽量清晰的逻辑,给“AI外行人士”(当然,我也是……)引入一下LangChain,试着从工程角度去理解LangChain的设计和使用。同时大家也可以将此文档作为LangChain的“10分钟快速上手”手册,本意是希望帮助需要的同学实现AI工程的Bootstrap。
GeaFlow
2024/03/18
1.4K1
从API到Agent:万字长文洞悉LangChain工程化设计
【LangChain系列7】【LangChain实战—客服机器人项目】
总结: LangChain是一个用于开发由LLM支持的应用程序的框架,通过提供标准化且丰富的模块抽象,构建LLM的输入输出规范,主要是利用其核心概念chains,可以灵活地链接整个应用开发流程。(即,其中的每个模块抽象,都是源于对大模型的深入理解和实践经验,由许多开发者提供出来的标准化流程和解决方案的抽象,再通过灵活的模块化组合,才得到了langchain)
Alice师傅的好宝宝
2025/01/14
8730
LangChain 完整指南:使用大语言模型构建强大的应用程序
嗨,你好!让我向你介绍LangChain,这是一个非常棒的库,它能让开发者利用大型语言模型(LLMs)和其他计算资源来构建强大的应用。在这份指南中,我将快速概述LangChain的工作原理,并探讨一些很酷的使用案例,例如问答系统、聊天机器人和智能代理。我还会带你走过一个快速启动指南,帮助你开始使用。让我们开始吧!
山行AI
2023/06/14
3.6K0
LangChain 完整指南:使用大语言模型构建强大的应用程序
通过4个任务比较LangChain和LlamaIndex
我们在本地使用大模型的时候,尤其是构建RAG应用的时候,一般会有2个成熟的框架可以使用
deephub
2024/01/29
2.1K0
通过4个任务比较LangChain和LlamaIndex
一百行代码实现自己的RAG知识库
本人日常工作需要对接各种第三方合作方,对接过程中的文档繁多、沟通不及时、问题排查繁琐以及工作具有重复性等问题愈发明显。合作方遇到对接问题需要提工单经门户网站-->产品部门接口人-->开发人员问题排查/修复-->产品部门接口人-->合作方收到回复,这种模式联调、验收流程较长。
CoderJia
2024/10/18
5070
一百行代码实现自己的RAG知识库
【LangChain系列1】【LangChain表达式 (LCEL)】
总结: LangChain是一个用于开发由LLM支持的应用程序的框架,通过提供标准化且丰富的模块抽象,构建LLM的输入输出规范,主要是利用其核心概念chains,可以灵活地链接整个应用开发流程。(即,其中的每个模块抽象,都是源于对大模型的深入理解和实践经验,由许多开发者提供出来的标准化流程和解决方案的抽象,再通过灵活的模块化组合,才得到了langchain)
Alice师傅的好宝宝
2025/01/03
3780
使用​​langchain​​搭建自己的本地知识库系统
RAG 是retrieval-augmented-generation的缩写,翻译为中文的意思就检索增强,以基于最新,最准确的数据建立LLM 的语料知识库。
用户1418987
2024/09/06
9610
使用​​langchain​​搭建自己的本地知识库系统
直观易用的大模型开发框架LangChain,你会了没?
目前LangChain框架在集团大模型接入手册中的学习案例有限,为了让大家可以快速系统地了解LangChain大模型框架并开发,产出此文章。本文章包含了LangChain的简介、基本组件和可跑的代码案例(包含Embedding、Completion、Chat三种功能模型声明)。
京东技术
2024/04/18
8710
直观易用的大模型开发框架LangChain,你会了没?
洞悉LangChain:LangChain工程化设计,从API到智能Agent的全面探索
LangChain 是 2022 年 10 月底,由哈佛大学的 Harrison Chase 发起的基于开源大语言模型的 AI 工程开发框架。当然也可以问一下 AI:
汀丶人工智能
2024/07/25
1.7K0
洞悉LangChain:LangChain工程化设计,从API到智能Agent的全面探索
使用RAGAs评估基于Milvus的RAG应用
现在,我们很容易构建一个基于检索增强生成(RAG)的应用,但将其投入生产却非常困难,因为RAG的性能很难达到令人满意的状态。
Zilliz RDS
2024/07/10
6830
使用RAGAs评估基于Milvus的RAG应用
LangChain基础知识入门
LangChain由 Harrison Chase 创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架,LLMs使用机器学习算法和海量数据来分析和理解自然语言,GPT3.5、GPT4是LLMs最先进的代表,国内百度的文心一言、阿里的通义千问也属于LLMs。LangChain自身并不开发LLMs,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件“链接”在一起,简化LLMs应用的开发难度,方便开发者快速地开发复杂的LLMs应用。LangChain目前有两个语言的实现:Python和Node.js
@小森
2024/06/10
6540
LangChain基础知识入门
AI大模型全栈工程师课程笔记 - LangChain
LangChain 也是面向LLM的开发框架SDK,有 python 和 js 版的 https://python.langchain.com/docs/get_started
Michael阿明
2023/12/21
1.7K0
AI大模型全栈工程师课程笔记 - LangChain
AI 大模型企业应用实战(10)-LLMs和Chat Models
来看两种不同类型的模型--LLM 和聊天模型。然后,它将介绍如何使用提示模板来格式化这些模型的输入,以及如何使用输出解析器来处理输出。
JavaEdge
2025/06/01
1380
拥抱 AI 时代:LangChain 框架快速入门指南
使用 LangChain 通常需要与一个或多个模型提供商、数据存储、API等集成。对于这个例子,我们将使用OpenAI的模型API。
朝雾轻寒
2023/09/06
1.8K0
拥抱 AI 时代:LangChain 框架快速入门指南
手把手教你在 JavaScript 中使用 LangChain,解锁 AI 应用能力
JS 版的 LangChain,是一个功能丰富的 JavaScript 框架。不管你是开发者还是研究人员都可以利用该框架通过创建语言分析模型和 Agents 来开展各项实验。该框架还提供了十分丰富的功能设置,基于这些功能设置,NLP 爱好者可以通过构建自定义模型来提高文本数据的处理效率。与此同时,作为一个 JS 框架,开发人员可以轻松的将他们的 AI 应用集成到自己的 Web 应用中。
深度学习与Python
2023/12/04
1.8K0
手把手教你在 JavaScript 中使用 LangChain,解锁 AI 应用能力
我让gpt4o给我推荐了一千多次书 得到了这些数据
  事情是这样的,我们公司不是有个读书小组嘛,但是今年大家都忙于工作,忽视了读书这件事,所以我就想着搞个群机器人,让它明天定时向群里推荐一本书,用来唤起大家对读书的兴趣。但在调试的过程中就发现gpt4o老喜欢推荐同样的几本书,这可就勾起我的好奇心了,是不是gpt4o就只知道推荐那几本,正好周末有空,我就斥巨资调用gpt4o的接口让它给我推荐书,调用1000次+,发现gpt4o最喜欢的书是…… 具体让我们来看下推荐结果的简单分析。
xindoo
2024/08/07
1530
我让gpt4o给我推荐了一千多次书 得到了这些数据
langchain中的召回增强生成(RAG)一览
RAG是一种通过额外的、通常是私有或实时的数据来增强LLM知识的技术。LLM能够推理各种广泛的主题,但它们的知识仅限于它们训练时的公共数据,到达其特定时间节点为止。如果你想构建可以推理私人数据或在模型截止日期之后引入的数据的人工智能应用程序,你需要用特定信息增强模型的知识。将适当的信息带入并插入到模型提示中的过程被称为“检索增强生成”(RAG)。
山行AI
2023/12/12
4.9K0
langchain中的召回增强生成(RAG)一览
推荐阅读
相关推荐
AIOps系列 | 大模型入门实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验