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

Azure Functions部署异常:引入LangChain OpenAI后函数未部署

Azure Function部署成功但函数未生效(含LangChain ChatOpenAI引入场景)

以下是针对该问题的排查与解决步骤:

  • 验证依赖部署状态
    本地package.json存在依赖不代表部署到Azure后依赖安装成功。可通过Azure门户进入函数应用的「高级工具(Kudu)」→「调试控制台」→「CMD」,进入site/wwwroot目录执行npm list,检查LangChain相关依赖是否已正确安装。若缺失,可手动执行npm install,或确认部署配置是否开启自动构建(如Zip部署时设置SCM_DO_BUILD_DURING_DEPLOYMENT=true)。

  • 排查模块导入兼容性
    LangChain v0.2+版本拆分了核心包,原langchain/chat_models/openai路径已迁移至@langchain/openai。若使用新版本,需修改导入语句:

    const { ChatOpenAI } = require("@langchain/openai");
    

    同时更新package.json中的依赖为"@langchain/openai": "^0.2.0"及以上版本。

  • 检查Node.js版本匹配度
    LangChain部分版本要求Node.js 18+运行环境。进入Azure函数应用的「配置」→「常规设置」→「运行时堆栈」,确认Node.js版本为18.x或20.x,若版本过低则调整后重新部署。

  • 查看运行时错误日志
    进入函数应用的「监控」→「日志流」,查看部署后的运行时输出,重点排查是否存在模块加载失败、未捕获异常等报错。也可在代码中添加导入错误捕获,便于定位问题:

    const { app } = require('@azure/functions');
    let ChatOpenAI;
    try {
      ChatOpenAI = require("@langchain/openai").ChatOpenAI;
    } catch (err) {
      console.error("加载ChatOpenAI失败:", err);
    }
    
    app.http('recommendation', {
        methods: ['GET', 'POST'],
        authLevel: 'anonymous',
        handler: async (request, context) => {
            context.log(`Http function processed request for url "${request.url}"`);
    
            const name = request.query.get('name') || await request.text() || 'world';
    
            return { body: `Hello, ${name}!` };
        }
    });
    
  • 确认部署包完整性
    检查部署包是否包含函数文件、package.json、package-lock.json,以及完整的node_modules目录(本地构建后部署场景)。若使用自动构建部署,需确认构建过程未遗漏依赖安装步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:27:05