genkitx-pinecone
Version:
Genkit AI framework plugin for Pinecone vector database.
226 lines (222 loc) • 8.58 kB
TypeScript
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 };