不久前,国内的头部大模型厂商智谱 AI ,刚刚推出了 glm-4-0520
模型,该模型被认为是当前平台最先进的模型,具备 128k 的上下文长度,并且相较于前一代模型,指令遵从能力大幅提升 18.6%。可以看出,智谱AI对于该模型寄予厚望。
既然如此,我们基于“唐诗翻译”这项基础功能,对 glm-4-0520
模型进行一下简单的基准测试,并与前一代 glm-4-airx
模型和目前大火的OpenAI gpt-4o-mini
进行一下对比。话不多说,开始写代码。
为了方便进行多模型的开发和对比,我们采用 LangChain 框架和 LCEL 表达式来完成该功能。代码如下:
代码语言:javascript复制"""
@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复制【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-mini
,glm-4-0520
的翻译结果更符合中文的意境,同时对比 glm-4-airx
的结果也更加精炼。
除此之外,从性能的角度看,glm-4-0520
的生成结果耗时更低(LangSmith 平台观测结果,仅供参考):
综上所述:针对中文语料的翻译工作,glm-4-0520
应该是一个不错的选择。