UNPKG

genkitx-cloud-sql-pg

Version:

Genkit AI framework plugin for Cloud SQL for PostgreSQL.

142 lines (138 loc) 5.64 kB
import * as _genkit_ai_ai_retriever from '@genkit-ai/ai/retriever'; import { z, Genkit } from 'genkit'; import { EmbedderArgument } from 'genkit/embedder'; import { GenkitPlugin } from 'genkit/plugin'; import { PostgresEngine } from './engine.mjs'; export { Column } from './engine.mjs'; import { DistanceStrategy, QueryOptions } from './indexes.mjs'; export { ExactNearestNeighbor, HNSWIndex, HNSWQueryOptions, IVFFlatIndex, IVFFlatQueryOptions } from './indexes.mjs'; import '@google-cloud/cloud-sql-connector'; import 'knex'; /** * postgresRetrieverRef function creates a retriever for Postgres. * @param params The params for the new Postgres retriever * @param params.tableName The table name for the postgres retriever If not specified, the default label will be `Postgres - <tableName>` * @returns A reference to a Postgres retriever. */ declare const postgresRetrieverRef: (params: { tableName: string; }) => _genkit_ai_ai_retriever.RetrieverReference<z.ZodObject<{} & { k: z.ZodNumber; filter: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { k: number; filter?: string | undefined; }, { k: number; filter?: string | undefined; }>>; /** * postgresIndexerRef function creates an indexer for Postgres. * @param params The params for the new Postgres indexer. * @param params.tableName The table name for the Postgres indexer. If not specified, the default label will be `Postgres - <tableName>` * @returns A reference to a Postgres indexer. */ declare const postgresIndexerRef: (params: { tableName: string; }) => _genkit_ai_ai_retriever.IndexerReference<z.ZodOptional<z.ZodObject<{ batchSize: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { batchSize: number; }, { batchSize?: number | undefined; }>>>; /** * Postgres plugin that provides a Postgres retriever and indexer * @param params An array of params to set up Postgres retrievers and indexers * @param params.tableName The name of the table * @param params.embedder The embedder to use for the indexer and retriever * @param params.embedderOptions Options to customize the embedder * @returns The Postgres Genkit plugin */ declare function postgres<EmbedderCustomOptions extends z.ZodTypeAny>(params: { tableName: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; engine: PostgresEngine; schemaName?: string; contentColumn?: string; embeddingColumn?: string; metadataColumns?: string[]; ignoreMetadataColumns?: string[]; idColumn?: string; metadataJsonColumn?: string; distanceStrategy?: DistanceStrategy; indexQueryOptions?: QueryOptions; }[]): GenkitPlugin; /** * Configures a Postgres retriever. * @param ai A Genkit instance * @param params The params for the retriever * @param params.tableName The name of the table * @param params.embedder The embedder to use for the retriever * @param params.embedderOptions Options to customize the embedder * @returns A Postgres retriever */ declare function configurePostgresRetriever<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: { tableName: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; engine: PostgresEngine; schemaName?: string; contentColumn?: string; embeddingColumn?: string; metadataColumns?: string[]; ignoreMetadataColumns?: string[]; idColumn?: string; metadataJsonColumn?: string; distanceStrategy?: DistanceStrategy; indexQueryOptions?: QueryOptions; }): Promise<_genkit_ai_ai_retriever.RetrieverAction<z.ZodObject<{} & { k: z.ZodNumber; filter: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { k: number; filter?: string | undefined; }, { k: number; filter?: string | undefined; }>>>; /** * Configures a Postgres indexer. * @param ai A Genkit instance * @param params The params for the indexer * @param params.tableName The name of the indexer * @param params.engine The engine to use for the indexer * @param params.embedder The embedder to use for the retriever * @param params.embedderOptions Options to customize the embedder * @param params.metadataColumns The metadata columns to use for the indexer * @param params.idColumn The id column to use for the indexer * @param params.metadataJsonColumn The metadata json column to use for the indexer * @param params.contentColumn The content column to use for the indexer * @param params.embeddingColumn The embedding column to use for the indexer * @param params.schemaName The schema name to use for the indexer * @param params.chunkSize The chunk size to use for the indexer * @returns Add documents to vector store */ declare function configurePostgresIndexer<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: { tableName: string; engine: PostgresEngine; schemaName?: string; contentColumn?: string; embeddingColumn?: string; metadataColumns?: string[]; ignoreMetadataColumns?: string[]; idColumn?: string; metadataJsonColumn?: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; }): _genkit_ai_ai_retriever.IndexerAction<z.ZodOptional<z.ZodObject<{ batchSize: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { batchSize: number; }, { batchSize?: number | undefined; }>>>; export { DistanceStrategy, PostgresEngine, configurePostgresIndexer, configurePostgresRetriever, postgres as default, postgres, postgresIndexerRef, postgresRetrieverRef };