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

文档翻译代码突发报错:LLMChain的aapply调用出现OpenAIObject运算错误

问题

原本一套可正常运行的文档(pdf、docx、文本)翻译代码,近期未做任何改动,但近几日突然出现报错:

Error in doc_translate_openai of openai i.e unsupported operand type(s) for +=: 'OpenAIObject' and 'OpenAIObject'
Traceback (most recent call last):
  File "/home/site/wwwroot/translation_services/gpt.py", line 773, in doc_translate_openai
    await doc_translator.translate_document(
  File "/home/site/wwwroot/translation_services/gpt.py", line 313, in translate_document
    await self._translate_docx(docx_file)
  File "/home/site/wwwroot/translation_services/gpt.py", line 189, in _translate_docx
    await self._translate_xml()
  File "/home/site/wwwroot/translation_services/gpt.py", line 211, in _translate_xml
    translated_texts = await self._batch_translate(texts)
  File "/home/site/wwwroot/translation_services/gpt.py", line 236, in _batch_translate
    results = await self.translation_chain.aapply(inputs)
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chains/llm.py", line 206, in aapply
    raise e
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chains/llm.py", line 203, in aapply
    response = await self.agenerate(input_list, run_manager=run_manager)
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chains/llm.py", line 116, in agenerate
    return await self.llm.agenerate_prompt(
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chat_models/base.py", line 245, in agenerate_prompt
    return await self.agenerate(
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chat_models/base.py", line 210, in agenerate
    llm_output = self._combine_llm_outputs([res.llm_output for res in results])
  File "/home/site/wwwroot/.python_packages/lib/site-packages/langchain/chat_models/openai.py", line 311, in _combine_llm_outputs
    overall_token_usage[k] += v
TypeError: unsupported operand type(s) for +=: 'OpenAIObject' and 'OpenAIObject'

报错发生在调用results = await self.translation_chain.aapply(inputs)方法并传入字典时。

解决方案
  • 版本兼容调整:该错误源于Langchain与OpenAI SDK版本不匹配,OpenAI SDK返回的token_usage从普通字典变为OpenAIObject类型,旧版Langchain仍用字典累加逻辑处理。可选择:
    • 降级Langchain到兼容版本,比如指定安装langchain==0.0.286及以下;
    • 升级Langchain到修复该问题的新版本(如0.1.x系列)。
  • 临时源码修复:若无法调整包版本,可手动修改langchain/chat_models/openai.py中的_combine_llm_outputs方法,先将OpenAIObject转为字典再累加:
    def _combine_llm_outputs(self, llm_outputs: List[Dict]) -> Dict:
        overall_token_usage = {}
        for output in llm_outputs:
            token_usage = output.get("token_usage", {})
            # 转换OpenAIObject为字典
            if hasattr(token_usage, 'dict'):
                token_usage = token_usage.dict()
            for k, v in token_usage.items():
                if k in overall_token_usage:
                    overall_token_usage[k] += v
                else:
                    overall_token_usage[k] = v
        return {"token_usage": overall_token_usage}
    
  • 排查依赖自动更新:用pip freeze查看当前langchain和openai版本,确认是否有依赖包自动更新导致版本冲突,必要时锁定依赖版本。

内容的提问来源于stack exchange,提问作者Aniruddha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:33:18