UNPKG

genkitx-pinecone

Version:

Genkit AI framework plugin for Pinecone vector database.

226 lines (222 loc) 8.58 kB
import * as _pinecone_database_pinecone from '@pinecone-database/pinecone'; import { PineconeConfiguration, CreateIndexOptions } from '@pinecone-database/pinecone'; import * as _genkit_ai_ai_retriever from '@genkit-ai/ai/retriever'; import { z, Genkit } from 'genkit'; import { GenkitPlugin } from 'genkit/plugin'; import { EmbedderArgument } from 'genkit/embedder'; /** * pineconeRetrieverRef function creates a retriever for Pinecone. * @param params The params for the new Pinecone retriever * @param params.indexId The indexId for the Pinecone retriever * @param params.displayName A display name for the retriever. If not specified, the default label will be `Pinecone - <indexId>` * @returns A reference to a Pinecone retriever. */ declare const pineconeRetrieverRef: (params: { indexId: string; displayName?: string; }) => _genkit_ai_ai_retriever.RetrieverReference<z.ZodObject<z.objectUtil.extendShape<{ k: z.ZodOptional<z.ZodNumber>; }, { k: z.ZodNumber; namespace: z.ZodOptional<z.ZodString>; filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; sparseVector: z.ZodOptional<z.ZodEffects<z.ZodObject<{ indices: z.ZodArray<z.ZodNumber, "many">; values: z.ZodArray<z.ZodNumber, "many">; }, "strip", z.ZodTypeAny, { indices: number[]; values: number[]; }, { indices: number[]; values: number[]; }>, { indices: number[]; values: number[]; }, { indices: number[]; values: number[]; }>>; }>, "strip", z.ZodTypeAny, { k: number; filter?: Record<string, any> | undefined; namespace?: string | undefined; sparseVector?: { indices: number[]; values: number[]; } | undefined; }, { k: number; filter?: Record<string, any> | undefined; namespace?: string | undefined; sparseVector?: { indices: number[]; values: number[]; } | undefined; }>>; /** * pineconeIndexerRef function creates an indexer for Pinecone. * @param params The params for the new Pinecone indexer. * @param params.indexId The indexId for the Pinecone indexer. * @param params.displayName A display name for the indexer. If not specified, the default label will be `Pinecone - <indexId>` * @returns A reference to a Pinecone indexer. */ declare const pineconeIndexerRef: (params: { indexId: string; displayName?: string; }) => _genkit_ai_ai_retriever.IndexerReference<z.ZodOptional<z.ZodObject<{ namespace: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { namespace?: string | undefined; }, { namespace?: string | undefined; }>>>; /** * Pinecone plugin that provides a Pinecone retriever and indexer * @param params An array of params to set up Pinecone retrievers and indexers * @param params.clientParams PineconeConfiguration containing the PINECONE_API_KEY. If not set, the PINECONE_API_KEY environment variable will be used instead. * @param params.indexId The name of the index * @param params.embedder The embedder to use for the indexer and retriever * @param params.embedderOptions Options to customize the embedder * @returns The Pinecone Genkit plugin */ declare function pinecone<EmbedderCustomOptions extends z.ZodTypeAny>(params: { clientParams?: PineconeConfiguration; indexId: string; contentKey?: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; }[]): GenkitPlugin; /** * Configures a Pinecone retriever. * @param ai A Genkit instance * @param params The params for the retriever * @param params.indexId The name of the retriever * @param params.clientParams PineconeConfiguration containing the PINECONE_API_KEY. If not set, the PINECONE_API_KEY environment variable will be used instead. * @param params.textKey Deprecated. Please use contentKey. * @param params.contentKey The metadata key that contains the content. If not specified, the value '_content' is used by default. * @param params.embedder The embedder to use for the retriever * @param params.embedderOptions Options to customize the embedder * @returns A Pinecone retriever */ declare function configurePineconeRetriever<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: { indexId: string; clientParams?: PineconeConfiguration; /** * @deprecated use contentKey instead. */ textKey?: string; contentKey?: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; }): _genkit_ai_ai_retriever.RetrieverAction<z.ZodObject<z.objectUtil.extendShape<{ k: z.ZodOptional<z.ZodNumber>; }, { k: z.ZodNumber; namespace: z.ZodOptional<z.ZodString>; filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; sparseVector: z.ZodOptional<z.ZodEffects<z.ZodObject<{ indices: z.ZodArray<z.ZodNumber, "many">; values: z.ZodArray<z.ZodNumber, "many">; }, "strip", z.ZodTypeAny, { indices: number[]; values: number[]; }, { indices: number[]; values: number[]; }>, { indices: number[]; values: number[]; }, { indices: number[]; values: number[]; }>>; }>, "strip", z.ZodTypeAny, { k: number; filter?: Record<string, any> | undefined; namespace?: string | undefined; sparseVector?: { indices: number[]; values: number[]; } | undefined; }, { k: number; filter?: Record<string, any> | undefined; namespace?: string | undefined; sparseVector?: { indices: number[]; values: number[]; } | undefined; }>>; /** * Configures a Pinecone indexer. * @param ai A Genkit instance * @param params The params for the indexer * @param params.indexId The name of the indexer * @param params.clientParams PineconeConfiguration containing the PINECONE_API_KEY. If not set, the PINECONE_API_KEY environment variable will be used instead. * @param params.textKey Deprecated. Please use contentKey. * @param params.contentKey The metadata key that contains the content. If not specified, the value '_content' is used by default. * @param params.embedder The embedder to use for the retriever * @param params.embedderOptions Options to customize the embedder * @returns A Genkit indexer */ declare function configurePineconeIndexer<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: { indexId: string; clientParams?: PineconeConfiguration; /** * @deprecated use contentKey instead. */ textKey?: string; contentKey?: string; embedder: EmbedderArgument<EmbedderCustomOptions>; embedderOptions?: z.infer<EmbedderCustomOptions>; }): _genkit_ai_ai_retriever.IndexerAction<z.ZodOptional<z.ZodObject<{ namespace: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { namespace?: string | undefined; }, { namespace?: string | undefined; }>>>; /** * Helper function for creating a Pinecone index. * @param params The params for creating a Pinecone index * @param params.clientParams The params to initialize Pinecone. * @param params.options The options for creating the index. * @returns A Pinecone index. */ declare function createPineconeIndex(params: { clientParams?: PineconeConfiguration; options: CreateIndexOptions; }): Promise<void | _pinecone_database_pinecone.IndexModel>; /** * Helper function to describe a Pinecone index. Use it to check if a newly created index is ready for use. * @param params The params for describing a Pinecone index. * @param params.clientParams The params to initialize Pinecone. * @param params.name The name of the Pinecone index to describe. * @return A description of the Pinecone index. */ declare function describePineconeIndex(params: { clientParams?: PineconeConfiguration; name: string; }): Promise<_pinecone_database_pinecone.IndexModel>; /** * Helper function for deleting pinecone indices. * @param params The params for deleting a Pinecone index. * @param params.clientParams The params to initialize Pinecone. * @param params.name The name of the Pinecone index to delete. * @returns a void Promise that is fulfilled when the index has been deleted. */ declare function deletePineconeIndex(params: { clientParams?: PineconeConfiguration; name: string; }): Promise<void>; export { configurePineconeIndexer, configurePineconeRetriever, createPineconeIndex, pinecone as default, deletePineconeIndex, describePineconeIndex, pinecone, pineconeIndexerRef, pineconeRetrieverRef };