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

Ollama 图像生成

WARNING

Ollama 图像生成尚处于实验阶段。Ollama API 与 LangChain4j 集成在未来版本中可能发生变化。

Maven 依赖

xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-ollama</artifactId>
    <version>${latest version here}</version>
</dependency>

API

  • OllamaImageModel

OllamaImageModel 实现了 ImageModel,并通过 Ollama 标准的 /api/generate 端点支持文本到图像的生成。不支持图像编辑以及由同一提示词生成多张图像。

这需要支持实验性图像生成能力的 Ollama 版本与模型。 普通文本模型会返回文本而非图像,并会以 OllamaImageGenerationException 失败。

用量

java
ImageModel imageModel = OllamaImageModel.builder()
        .baseUrl("http://localhost:11434")
        .modelName("x/z-image-turbo")
        .width(1024)
        .height(768)
        .steps(20)
        .seed(42)
        .build();

Response<Image> response = imageModel.generate("a sunset over mountains");
Image image = response.content();
byte[] imageBytes = Base64.getDecoder().decode(image.base64Data());
Files.write(Path.of("ollama-image.png"), imageBytes);

参数

参数描述类型
httpClientBuilder参见可定制 HTTP 客户端HttpClientBuilder
baseUrlOllama 服务器的基础 URL。String
modelName从 Ollama 服务器使用的图像生成模型。String
width生成图像的宽度(像素)。使用 0 或不设置以采用 Ollama/模型默认值。设置时须介于 0 与 4096 之间。Integer
height生成图像的高度(像素)。使用 0 或不设置以采用 Ollama/模型默认值。设置时须介于 0 与 4096 之间。Integer
steps扩散步数。使用 0 或不设置以采用 Ollama/模型默认值。不得为负。Integer
seed通过 Ollama options.seed 发送的随机种子。Integer
timeoutAPI 调用允许的最长耗时。Duration
customHeaders自定义 HTTP 头。Map<String, String>
logRequests是否记录请求。Boolean
logResponses是否记录响应。Boolean
maxRetriesAPI 调用失败时的最大重试次数。Integer

目前没有针对 OllamaImageModel 的 Spring Boot starter 配置。

生成的图像以 Base64 编码的 PNG 数据返回。URL 输出、词元用量,以及 Ollama 流式进度字段(如 completed 与 total)均不暴露。

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