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

Google Vertex AI

开始使用

要开始使用,请按照 Vertex AI Gemini 集成教程 中 Get started 部分所列步骤,创建一个 Google Cloud Platform 账户,并建立可访问 Vertex AI API 的新项目。

添加依赖

将以下依赖添加到你的项目的 pom.xml:

xml
<dependency>
  <groupId>dev.langchain4j</groupId>
  <artifactId>langchain4j-vertex-ai</artifactId>
  <version>1.22.0-beta32</version>
</dependency>

或添加到项目的 build.gradle:

groovy
implementation 'dev.langchain4j:langchain4j-vertex-ai:1.22.0-beta32'

试用示例代码:

使用 Vertex AI 嵌入模型的示例

PROJECT_ID 字段代表你在创建新的 Google Cloud 项目时所设置的变量。

java
import dev.langchain4j.data.embedding.Embedding;
import dev.langchain4j.model.embedding.EmbeddingModel;
import dev.langchain4j.model.output.Response;
import dev.langchain4j.model.vertexai.VertexAiEmbeddingModel;

public class VertexAiEmbeddingModelExample {
    
    private static final String PROJECT_ID = "YOUR-PROJECT-ID";
    private static final String MODEL_NAME = "textembedding-gecko@latest";

    public static void main(String[] args) {

        EmbeddingModel embeddingModel = VertexAiEmbeddingModel.builder()
                .project(PROJECT_ID)
                .location("us-central1")
                .endpoint("us-central1-aiplatform.googleapis.com:443")
                .publisher("google")
                .modelName(MODEL_NAME)
                .build();

        Response<Embedding> response = embeddingModel.embed("Hello, how are you?");
        
        Embedding embedding = response.content();

        int dimension = embedding.dimension(); // 768
        float[] vector = embedding.vector(); // [-0.06050122, -0.046411075, ...

        System.out.println(dimension);
        System.out.println(embedding.vectorAsList());
    }
}

可用的嵌入模型

英文模型多语模型
textembedding-gecko@001textembedding-gecko-multilingual@001
textembedding-gecko@003text-multilingual-embedding-002
text-embedding-004

多语模型支持的语言列表

以 @latest 为后缀的模型名指向该模型的最新版本。

默认情况下,大多数嵌入模型输出 768 维的向量嵌入(接受可配置较低维度的 "Matryoshka" 模型除外)。 该 API 每个待嵌入片段最多接受 2,048 个输入词元。 你一次最多可发送 250 个文本片段。 当你一次要求嵌入超过 250 个片段时,VertexAiEmbeddingModel 类会自动且透明地将请求拆分为多个批次。 嵌入 API 每次调用(跨所有片段)总共限制为 20,000 个词元。达到该限制时,VertexAiEmbeddingModel 会再次分批请求以避免触及该上限。

配置嵌入模型

java
EmbeddingModel embeddingModel = VertexAiEmbeddingModel.builder()
    .project(PROJECT_ID)
    .location("us-central1")
    .endpoint("us-central1-aiplatform.googleapis.com:443") // optional
    .publisher("google")
    .modelName(MODEL_NAME)
    .maxRetries(2)             // 2 by default
    .maxSegmentsPerBatch(250)  // up to 250 segments per batch
    .maxTokensPerBatch(2048)   // up to 2048 tokens per segment
    .taskType()                // see below for the different task types
    .titleMetadataKey()        // for the RETRIEVAL_DOCUMENT task, you can specify a title  
                               // for the text segment to identify its document origin
    .autoTruncate(false)       // false by default: truncates segments longer than 2,048 input tokens
    .outputDimensionality(512) // for models that support different output vector dimensions
    .credentials(credentials)  // custom Google Cloud credentials    
    .build();

嵌入任务类型

嵌入模型可用于不同场景。 为获得更好的嵌入值,你可以指定以下某一 任务:

  • RETRIEVAL_QUERY
  • RETRIEVAL_DOCUMENT
  • SEMANTIC_SIMILARITY
  • CLASSIFICATION
  • CLUSTERING
  • QUESTION_ANSWERING
  • FACT_VERIFICATION
  • CODE_RETRIEVAL_QUERY

参见支持的模型列表。

参考

关于 Vertex AI 嵌入模型的 Google Codelab

可用的稳定嵌入模型

最新嵌入模型版本

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