UNPKG

@langchain/openai

Version:
1 lines 5.46 kB
{"version":3,"file":"embeddings.d.cts","names":["ClientOptions","OpenAI","OpenAIClient","Embeddings","EmbeddingsParams","OpenAIApiKey","OpenAIEmbeddingModelId","EmbeddingModel","NonNullable","OpenAIEmbeddingsParams","OpenAIEmbeddings","TOutput","Partial","Promise","EmbeddingCreateParams","CreateEmbeddingResponse"],"sources":["../src/embeddings.d.ts"],"sourcesContent":["import { type ClientOptions, OpenAI as OpenAIClient } from \"openai\";\nimport { Embeddings, type EmbeddingsParams } from \"@langchain/core/embeddings\";\nimport type { OpenAIApiKey } from \"./types.js\";\n/**\n * @see https://platform.openai.com/docs/guides/embeddings#embedding-models\n */\nexport type OpenAIEmbeddingModelId = OpenAIClient.EmbeddingModel | (string & NonNullable<unknown>);\n/**\n * Interface for OpenAIEmbeddings parameters. Extends EmbeddingsParams and\n * defines additional parameters specific to the OpenAIEmbeddings class.\n */\nexport interface OpenAIEmbeddingsParams extends EmbeddingsParams {\n /**\n * Model name to use\n * Alias for `model`\n * @deprecated Use \"model\" instead.\n */\n modelName: OpenAIEmbeddingModelId;\n /** Model name to use */\n model: OpenAIEmbeddingModelId;\n /**\n * The number of dimensions the resulting output embeddings should have.\n * Only supported in `text-embedding-3` and later models.\n */\n dimensions?: number;\n /**\n * Timeout to use when making requests to OpenAI.\n */\n timeout?: number;\n /**\n * The maximum number of documents to embed in a single request. This is\n * limited by the OpenAI API to a maximum of 2048.\n */\n batchSize?: number;\n /**\n * Whether to strip new lines from the input text. This is recommended by\n * OpenAI for older models, but may not be suitable for all use cases.\n * See: https://github.com/openai/openai-python/issues/418#issuecomment-1525939500\n */\n stripNewLines?: boolean;\n /**\n * The format to return the embeddings in. Can be either 'float' or 'base64'.\n */\n encodingFormat?: \"float\" | \"base64\";\n}\n/**\n * Class for generating embeddings using the OpenAI API.\n *\n * To use with Azure, import the `AzureOpenAIEmbeddings` class.\n *\n * @example\n * ```typescript\n * // Embed a query using OpenAIEmbeddings to generate embeddings for a given text\n * const model = new OpenAIEmbeddings();\n * const res = await model.embedQuery(\n * \"What would be a good company name for a company that makes colorful socks?\",\n * );\n * console.log({ res });\n *\n * ```\n */\nexport declare class OpenAIEmbeddings<TOutput = number[]> extends Embeddings<TOutput> implements Partial<OpenAIEmbeddingsParams> {\n model: string;\n /** @deprecated Use \"model\" instead */\n modelName: string;\n batchSize: number;\n stripNewLines: boolean;\n /**\n * The number of dimensions the resulting output embeddings should have.\n * Only supported in `text-embedding-3` and later models.\n */\n dimensions?: number;\n timeout?: number;\n organization?: string;\n encodingFormat?: \"float\" | \"base64\";\n protected client: OpenAIClient;\n protected clientConfig: ClientOptions;\n protected apiKey?: OpenAIApiKey;\n constructor(fields?: Partial<OpenAIEmbeddingsParams> & {\n verbose?: boolean;\n /**\n * The OpenAI API key to use.\n * Alias for `apiKey`.\n */\n openAIApiKey?: OpenAIApiKey;\n /** The OpenAI API key to use. */\n apiKey?: OpenAIApiKey;\n configuration?: ClientOptions;\n });\n /**\n * Method to generate embeddings for an array of documents. Splits the\n * documents into batches and makes requests to the OpenAI API to generate\n * embeddings.\n * @param texts Array of documents to generate embeddings for.\n * @returns Promise that resolves to a 2D array of embeddings for each document.\n */\n embedDocuments(texts: string[]): Promise<TOutput[]>;\n /**\n * Method to generate an embedding for a single document. Calls the\n * embeddingWithRetry method with the document as the input.\n * @param text Document to generate an embedding for.\n * @returns Promise that resolves to an embedding for the document.\n */\n embedQuery(text: string): Promise<TOutput>;\n /**\n * Private method to make a request to the OpenAI API to generate\n * embeddings. Handles the retry logic and returns the response from the\n * API.\n * @param request Request to send to the OpenAI API.\n * @returns Promise that resolves to the response from the API.\n */\n protected embeddingWithRetry(request: OpenAIClient.EmbeddingCreateParams): Promise<OpenAIClient.CreateEmbeddingResponse & {\n _request_id?: string | null | undefined;\n }>;\n}\n//# sourceMappingURL=embeddings.d.ts.map"],"mappings":";;;;;;;;AAMA;AAKiBS,KALLH,sBAAAA,GAAyBJ,QAAAA,CAAaK,cAKX,GAAA,CAAA,MAAA,GALsCC,WAKtC,CAAA,OAAA,CAAA,CAAA;;;;AAAyB;AAkD3CE,UAlDJD,sBAAAA,SAA+BL,gBAkDX,CAAA;EAAwCO;;;;;EAiB5CF,SAAAA,EA7DlBH,sBA6DkBG;EAARG;EAMFP,KAAAA,EAjEZC,sBAiEYD;EAENA;;;;EAiBqBM,UAAAA,CAAAA,EAAAA,MAAAA;EAARE;;;EAQiDA,OAAAA,CAAAA,EAAAA,MAAAA;EAlDbV;;AAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAnFO,6CAA6CP,WAAWQ,oBAAoBC,QAAQH;;;;;;;;;;;;;;oBAcnFP;0BACMF;qBACLK;uBACEO,QAAQH;;;;;;mBAMVJ;;aAENA;oBACOL;;;;;;;;;mCASaa,QAAQF;;;;;;;4BAOfE,QAAQF;;;;;;;;wCAQIT,QAAAA,CAAaY,wBAAwBD,QAAQX,QAAAA,CAAaa"}