Class PostgresEmbeddingStore.Builder

java.lang.Object
dev.langchain4j.community.store.embedding.cloudsql.PostgresEmbeddingStore.Builder
Enclosing class:
PostgresEmbeddingStore

public static class PostgresEmbeddingStore.Builder extends Object
Builder which configures and creates instances of PostgresEmbeddingStore.
  • Constructor Details

    • Builder

      public Builder(PostgresEngine engine, String tableName)
      Constructor for Builder
      Parameters:
      engine - required PostgresEngine
      tableName - table to be used as embedding store
  • Method Details

    • schemaName

      public PostgresEmbeddingStore.Builder schemaName(String schemaName)
      Schema Name
      Parameters:
      schemaName - The schema name (Default: "public")
      Returns:
      this builder
    • contentColumn

      public PostgresEmbeddingStore.Builder contentColumn(String contentColumn)
      Content Column
      Parameters:
      contentColumn - create the content column (Default: "content") with custom name
      Returns:
      this builder
    • embeddingColumn

      public PostgresEmbeddingStore.Builder embeddingColumn(String embeddingColumn)
      Embedding Column
      Parameters:
      embeddingColumn - create the embedding (Default: "embedding") column with custom name
      Returns:
      this builder
    • idColumn

      public PostgresEmbeddingStore.Builder idColumn(String idColumn)
      Id Column
      Parameters:
      idColumn - (Optional, Default: "langchain4j_id") Column to store ids.
      Returns:
      this builder
    • metadataColumns

      public PostgresEmbeddingStore.Builder metadataColumns(List<String> metadataColumns)
      Metadata Columns
      Parameters:
      metadataColumns - list of SQLAlchemy Columns to create for custom metadata
      Returns:
      this builder
    • metadataJsonColumn

      public PostgresEmbeddingStore.Builder metadataJsonColumn(String metadataJsonColumn)
      Metadata JSON Column
      Parameters:
      metadataJsonColumn - (Default: "langchain4j_metadata") the column to store extra metadata in
      Returns:
      this builder
    • ignoreMetadataColumnNames

      public PostgresEmbeddingStore.Builder ignoreMetadataColumnNames(List<String> ignoreMetadataColumnNames)
      Ignore Columns
      Parameters:
      ignoreMetadataColumnNames - (Optional) Column(s) to ignore in pre-existing tables for a document’s
      Returns:
      this builder
    • distanceStrategy

      public PostgresEmbeddingStore.Builder distanceStrategy(DistanceStrategy distanceStrategy)
      Distance Strategy
      Parameters:
      distanceStrategy - (Defaults: COSINE_DISTANCE) Distance strategy to use for vector similarity search
      Returns:
      this builder
    • queryOptions

      public PostgresEmbeddingStore.Builder queryOptions(QueryOptions queryOptions)
      Query Options
      Parameters:
      queryOptions - (Optional) QueryOptions class with vector search parameters
      Returns:
      this builder
    • build

      public PostgresEmbeddingStore build()
      Builds an PostgresEmbeddingStore store with the configuration applied to this builder.
      Returns:
      A new PostgresEmbeddingStore instance