Skip to content
LangChain4j 文档版本 1.22.0 源快照 9bb3b531 更新于 2026-10-14

GraalVM Polyglot/Truffle

DANGER

⚠️ 安全警告:高风险代码执行

该模块通过 GraalVM 执行任意 Python/JavaScript 代码,本质上具有危险性。

❗ 请勿在生产环境中使用!

Maven 依赖

xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-code-execution-engine-graalvm-polyglot</artifactId>
    <version>1.22.0-beta32</version>
</dependency>

API

  • GraalVmJavaScriptExecutionEngine
  • GraalVmJavaScriptExecutionTool
  • GraalVmPythonExecutionEngine
  • GraalVmPythonExecutionTool

返回值

execute(String code) 返回单个字符串,其中同时包含代码打印到 标准输出(stdout)和标准错误(stderr)的内容,以及代码求值所得的值。

只求值为一个值的代码会返回该值:

java
engine.execute("40 + 2");
// 42

只有打印输出的代码会返回所打印的内容,并以 Output: 为前缀:

java
engine.execute("print('hello')");
// Output:
// hello

既有打印又有求值的代码会先返回打印内容,再返回该值:

java
engine.execute("print('hello')\n42");
// Output:
// hello
// Result:
// 42

既无打印也无求值的代码返回空字符串:

java
engine.execute("x = 1");
// (empty string)

如果代码执行失败,会抛出 PolyglotException, 且失败前打印的任何内容都会丢失。

示例

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。