网站搜索

node.js - 从 Langchain 导入 OpenAI 导致 jest 错误(TypeScript)


我正在尝试按照他们的文档说明从 langchain 库中导入 OpenAI:import { OpenAI } from "langchain/llms/openai";

当我在本地运行我的 NodeJS 服务器并尝试请求时,这工作正常。然而,当我使用 jest 运行测试时,我得到这个错误:

    /(my_directories)/server/node_modules/langchain/llms/openai.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from '../dist/llms/openai.js'
                                                                                             ^^^^^^

    SyntaxError: Unexpected token 'export'

    > 1 | import { OpenAI } from "langchain/llms/openai";

我一直在尝试解决它,但似乎弄不明白。

这是我的 jest.config.json:

{
  "preset": "ts-jest",
  "rootDir": "../../",
  "testEnvironment": "<rootDir>/src/tests/mongoEnvironment.ts",
  "setupFilesAfterEnv": [
    "<rootDir>/src/tests/setupFile.ts",
    "<rootDir>/src/tests/jestMocks.ts"
  ],
  "globals": {
    "ts-jest": {
      "tsconfig": "<rootDir>/tsconfig.json",
      "isolatedModules": true
    }
  }
}

有什么修复的办法吗?谢谢!!

答案#1

你需要将这一行添加到你的 jest.config 文件中

transformIgnorePatterns: ['node_modules/(?!(langchain|langsmith))']

这将告诉 Jest 在转译操作中忽略除 langchain 或 langsmith 之外的所有内容。