UNPKG

@langchain/openai

Version:
1 lines 6.4 kB
{"version":3,"file":"embeddings.cjs","names":["OpenAIEmbeddings","fields?: Partial<OpenAIEmbeddingsParams> &\n Partial<AzureOpenAIInput> & {\n verbose?: boolean;\n /** The OpenAI API key to use. */\n apiKey?: string;\n configuration?: ClientOptions;\n deploymentName?: string;\n openAIApiVersion?: string;\n }","request: OpenAIClient.EmbeddingCreateParams","openAIEndpointConfig: OpenAIEndpointConfig","getEndpoint","params: Omit<ClientOptions, \"apiKey\"> & { apiKey?: string }","getHeadersWithUserAgent","AzureOpenAIClient","requestOptions: OpenAICoreRequestOptions","wrapOpenAIClientError"],"sources":["../../src/azure/embeddings.ts"],"sourcesContent":["import {\n type ClientOptions,\n AzureOpenAI as AzureOpenAIClient,\n OpenAI as OpenAIClient,\n} from \"openai\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport { OpenAIEmbeddings, OpenAIEmbeddingsParams } from \"../embeddings.js\";\nimport { AzureOpenAIInput, OpenAICoreRequestOptions } from \"../types.js\";\nimport {\n getEndpoint,\n OpenAIEndpointConfig,\n getHeadersWithUserAgent,\n} from \"../utils/azure.js\";\nimport { wrapOpenAIClientError } from \"../utils/client.js\";\n\nexport class AzureOpenAIEmbeddings extends OpenAIEmbeddings {\n azureOpenAIApiVersion?: string;\n\n azureOpenAIApiKey?: string;\n\n azureADTokenProvider?: () => Promise<string>;\n\n azureOpenAIApiInstanceName?: string;\n\n azureOpenAIApiDeploymentName?: string;\n\n azureOpenAIBasePath?: string;\n\n constructor(\n fields?: Partial<OpenAIEmbeddingsParams> &\n Partial<AzureOpenAIInput> & {\n verbose?: boolean;\n /** The OpenAI API key to use. */\n apiKey?: string;\n configuration?: ClientOptions;\n deploymentName?: string;\n openAIApiVersion?: string;\n }\n ) {\n super(fields);\n this.batchSize = fields?.batchSize ?? 1;\n this.azureOpenAIApiKey =\n fields?.azureOpenAIApiKey ??\n (typeof fields?.apiKey === \"string\" ? fields?.apiKey : undefined) ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_KEY\");\n\n this.azureOpenAIApiVersion =\n fields?.azureOpenAIApiVersion ??\n fields?.openAIApiVersion ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_VERSION\");\n\n this.azureOpenAIBasePath =\n fields?.azureOpenAIBasePath ??\n getEnvironmentVariable(\"AZURE_OPENAI_BASE_PATH\");\n\n this.azureOpenAIApiInstanceName =\n fields?.azureOpenAIApiInstanceName ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_INSTANCE_NAME\");\n\n this.azureOpenAIApiDeploymentName =\n (fields?.azureOpenAIApiEmbeddingsDeploymentName ||\n fields?.azureOpenAIApiDeploymentName) ??\n (getEnvironmentVariable(\"AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME\") ||\n getEnvironmentVariable(\"AZURE_OPENAI_API_DEPLOYMENT_NAME\"));\n\n this.azureADTokenProvider = fields?.azureADTokenProvider;\n }\n\n protected async embeddingWithRetry(\n request: OpenAIClient.EmbeddingCreateParams\n ) {\n if (!this.client) {\n const openAIEndpointConfig: OpenAIEndpointConfig = {\n azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,\n azureOpenAIApiKey: this.azureOpenAIApiKey,\n azureOpenAIBasePath: this.azureOpenAIBasePath,\n azureADTokenProvider: this.azureADTokenProvider,\n baseURL: this.clientConfig.baseURL,\n };\n\n const endpoint = getEndpoint(openAIEndpointConfig);\n\n const { apiKey: existingApiKey, ...clientConfigRest } = this.clientConfig;\n const params: Omit<ClientOptions, \"apiKey\"> & { apiKey?: string } = {\n ...clientConfigRest,\n baseURL: endpoint,\n timeout: this.timeout,\n maxRetries: 0,\n };\n\n if (!this.azureADTokenProvider) {\n params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;\n }\n\n if (!params.baseURL) {\n delete params.baseURL;\n }\n\n params.defaultHeaders = getHeadersWithUserAgent(\n params.defaultHeaders,\n true,\n \"2.0.0\"\n );\n\n this.client = new AzureOpenAIClient({\n apiVersion: this.azureOpenAIApiVersion,\n azureADTokenProvider: this.azureADTokenProvider,\n deployment: this.azureOpenAIApiDeploymentName,\n ...params,\n });\n }\n const requestOptions: OpenAICoreRequestOptions = {};\n if (this.azureOpenAIApiKey) {\n requestOptions.headers = {\n \"api-key\": this.azureOpenAIApiKey,\n ...requestOptions.headers,\n };\n requestOptions.query = {\n \"api-version\": this.azureOpenAIApiVersion,\n ...requestOptions.query,\n };\n }\n return this.caller.call(async () => {\n try {\n const res = await this.client.embeddings.create(\n request,\n requestOptions\n );\n return res;\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAa,wBAAb,cAA2CA,oCAAiB;CAC1D;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,YACEC,QASA;EACA,MAAM,OAAO;EACb,KAAK,YAAY,QAAQ,aAAa;EACtC,KAAK,oBACH,QAAQ,sBACP,OAAO,QAAQ,WAAW,WAAW,QAAQ,SAAS,kEAChC,uBAAuB;EAEhD,KAAK,wBACH,QAAQ,yBACR,QAAQ,2EACe,2BAA2B;EAEpD,KAAK,sBACH,QAAQ,8EACe,yBAAyB;EAElD,KAAK,6BACH,QAAQ,qFACe,iCAAiC;EAE1D,KAAK,gCACF,QAAQ,0CACP,QAAQ,yFACc,8CAA8C,2DAC7C,mCAAmC;EAE9D,KAAK,uBAAuB,QAAQ;CACrC;CAED,MAAgB,mBACdC,SACA;AACA,MAAI,CAAC,KAAK,QAAQ;GAChB,MAAMC,uBAA6C;IACjD,8BAA8B,KAAK;IACnC,4BAA4B,KAAK;IACjC,mBAAmB,KAAK;IACxB,qBAAqB,KAAK;IAC1B,sBAAsB,KAAK;IAC3B,SAAS,KAAK,aAAa;GAC5B;GAED,MAAM,WAAWC,0BAAY,qBAAqB;GAElD,MAAM,EAAE,QAAQ,eAAgB,GAAG,kBAAkB,GAAG,KAAK;GAC7D,MAAMC,SAA8D;IAClE,GAAG;IACH,SAAS;IACT,SAAS,KAAK;IACd,YAAY;GACb;AAED,OAAI,CAAC,KAAK,sBACR,OAAO,SAAS,qBAAqB;AAGvC,OAAI,CAAC,OAAO,SACV,OAAO,OAAO;GAGhB,OAAO,iBAAiBC,sCACtB,OAAO,gBACP,MACA,QACD;GAED,KAAK,SAAS,IAAIC,mBAAkB;IAClC,YAAY,KAAK;IACjB,sBAAsB,KAAK;IAC3B,YAAY,KAAK;IACjB,GAAG;GACJ;EACF;EACD,MAAMC,iBAA2C,CAAE;AACnD,MAAI,KAAK,mBAAmB;GAC1B,eAAe,UAAU;IACvB,WAAW,KAAK;IAChB,GAAG,eAAe;GACnB;GACD,eAAe,QAAQ;IACrB,eAAe,KAAK;IACpB,GAAG,eAAe;GACnB;EACF;AACD,SAAO,KAAK,OAAO,KAAK,YAAY;AAClC,OAAI;IACF,MAAM,MAAM,MAAM,KAAK,OAAO,WAAW,OACvC,SACA,eACD;AACD,WAAO;GACR,SAAQ,GAAG;IACV,MAAM,QAAQC,qCAAsB,EAAE;AACtC,UAAM;GACP;EACF,EAAC;CACH;AACF"}