You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LangChain链未按预期运行:仅改写文本未完成翻译求助

技术解决方案:LangChain链未执行翻译操作的问题

核心问题分析

你的链仅完成文本改写未执行翻译,核心原因是系统提示指令模糊,加上拼写错误、参数传递冗余导致LLM未接收到清晰的双重任务要求:

  1. 系统提示中的file_content可能仅包含改写规则,未明确要求将改写结果翻译成目标语言
  2. 第二个系统提示存在拼写错误(reprahsed→rephrased),且指令未明确“改写+翻译”的双重任务
  3. 传递给language参数的是带标注的语言名称(如Czech (CZ)),增加了LLM识别目标语言的额外负担

具体修复步骤

1. 修正系统提示,明确双重任务

改写系统提示,清晰告知LLM需要先完成文本改写,再将结果翻译成指定语言,同时修正拼写错误:

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", file_content),  # 确保file_content包含改写规则,比如"请先对汽车审计报告进行措辞优化,使其表达更专业流畅"
        ("system", "After rephrasing the car audit report, translate the rephrased content into {language}."),
        ("user", "\n{input}"),
    ]
)

如果file_content为英文指令,建议统一用英文表述,避免混合语言导致LLM混淆。

2. 优化语言参数传递

直接传递纯语言名称或代码,减少LLM识别冗余信息的成本:

# 修改language_options,值为纯语言名称
language_options = {
    "cs": "Czech",
    "sk": "Slovak",
    "en": "English",
    "de": "German",
    "it": "Italian",
    "pl": "Polish",
    "ro": "Romanian",
    "sq": "Albanian"
}

# 调用链时传递优化后的语言参数
answer = chain.invoke({"input": user_input, "language": selected_language})

3. 合并提示强化任务清晰度(可选)

若LLM仍未执行翻译,可合并系统提示,用更直白的方式明确任务:

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", """
        请完成以下两项任务:
        1. 对用户提供的汽车审计报告进行措辞改写,提升文本专业性与流畅度
        2. 将改写后的内容翻译成{language}语言
        最终仅需输出翻译完成的改写文本
        """),
        ("user", "\n{input}"),
    ]
)

4. 验证LLM语言支持能力

确认你使用的LLM(如GPT、Claude等)支持目标语言的翻译功能,避免因模型本身限制导致翻译未执行。

内容的提问来源于stack exchange,提问作者Stanislav Jirak CZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:45:57