@langchain/google-common 0.2.17 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +6 -6
- package/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/auth.cjs +82 -116
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.d.cts +46 -0
- package/dist/auth.d.cts.map +1 -0
- package/dist/auth.d.ts +41 -36
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +80 -110
- package/dist/auth.js.map +1 -0
- package/dist/chat_models.cjs +251 -466
- package/dist/chat_models.cjs.map +1 -0
- package/dist/chat_models.d.cts +98 -0
- package/dist/chat_models.d.cts.map +1 -0
- package/dist/chat_models.d.ts +87 -73
- package/dist/chat_models.d.ts.map +1 -0
- package/dist/chat_models.js +245 -457
- package/dist/chat_models.js.map +1 -0
- package/dist/connection.cjs +321 -466
- package/dist/connection.cjs.map +1 -0
- package/dist/connection.d.cts +109 -0
- package/dist/connection.d.cts.map +1 -0
- package/dist/connection.d.ts +98 -91
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +317 -459
- package/dist/connection.js.map +1 -0
- package/dist/embeddings.cjs +135 -186
- package/dist/embeddings.cjs.map +1 -0
- package/dist/embeddings.d.cts +44 -0
- package/dist/embeddings.d.cts.map +1 -0
- package/dist/embeddings.d.ts +38 -32
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +133 -181
- package/dist/embeddings.js.map +1 -0
- package/dist/experimental/media.cjs +380 -482
- package/dist/experimental/media.cjs.map +1 -0
- package/dist/experimental/media.d.cts +198 -0
- package/dist/experimental/media.d.cts.map +1 -0
- package/dist/experimental/media.d.ts +190 -202
- package/dist/experimental/media.d.ts.map +1 -0
- package/dist/experimental/media.js +369 -468
- package/dist/experimental/media.js.map +1 -0
- package/dist/experimental/utils/media_core.cjs +403 -517
- package/dist/experimental/utils/media_core.cjs.map +1 -0
- package/dist/experimental/utils/media_core.d.cts +215 -0
- package/dist/experimental/utils/media_core.d.cts.map +1 -0
- package/dist/experimental/utils/media_core.d.ts +171 -165
- package/dist/experimental/utils/media_core.d.ts.map +1 -0
- package/dist/experimental/utils/media_core.js +395 -506
- package/dist/experimental/utils/media_core.js.map +1 -0
- package/dist/index.cjs +58 -27
- package/dist/index.d.cts +13 -0
- package/dist/index.d.ts +13 -11
- package/dist/index.js +13 -11
- package/dist/llms.cjs +157 -244
- package/dist/llms.cjs.map +1 -0
- package/dist/llms.d.cts +72 -0
- package/dist/llms.d.cts.map +1 -0
- package/dist/llms.d.ts +64 -54
- package/dist/llms.d.ts.map +1 -0
- package/dist/llms.js +154 -238
- package/dist/llms.js.map +1 -0
- package/dist/output_parsers.cjs +148 -173
- package/dist/output_parsers.cjs.map +1 -0
- package/dist/output_parsers.d.cts +53 -0
- package/dist/output_parsers.d.cts.map +1 -0
- package/dist/output_parsers.d.ts +46 -42
- package/dist/output_parsers.d.ts.map +1 -0
- package/dist/output_parsers.js +146 -168
- package/dist/output_parsers.js.map +1 -0
- package/dist/types-anthropic.d.cts +229 -0
- package/dist/types-anthropic.d.cts.map +1 -0
- package/dist/types-anthropic.d.ts +221 -215
- package/dist/types-anthropic.d.ts.map +1 -0
- package/dist/types.cjs +51 -62
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +748 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +669 -656
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +46 -45
- package/dist/types.js.map +1 -0
- package/dist/utils/anthropic.cjs +598 -821
- package/dist/utils/anthropic.cjs.map +1 -0
- package/dist/utils/anthropic.js +597 -818
- package/dist/utils/anthropic.js.map +1 -0
- package/dist/utils/common.cjs +130 -211
- package/dist/utils/common.cjs.map +1 -0
- package/dist/utils/common.d.cts +13 -0
- package/dist/utils/common.d.cts.map +1 -0
- package/dist/utils/common.d.ts +12 -7
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/common.js +128 -207
- package/dist/utils/common.js.map +1 -0
- package/dist/utils/failed_handler.cjs +28 -30
- package/dist/utils/failed_handler.cjs.map +1 -0
- package/dist/utils/failed_handler.d.cts +9 -0
- package/dist/utils/failed_handler.d.cts.map +1 -0
- package/dist/utils/failed_handler.d.ts +8 -2
- package/dist/utils/failed_handler.d.ts.map +1 -0
- package/dist/utils/failed_handler.js +28 -28
- package/dist/utils/failed_handler.js.map +1 -0
- package/dist/utils/gemini.cjs +1020 -1488
- package/dist/utils/gemini.cjs.map +1 -0
- package/dist/utils/gemini.d.cts +51 -0
- package/dist/utils/gemini.d.cts.map +1 -0
- package/dist/utils/gemini.d.ts +51 -48
- package/dist/utils/gemini.d.ts.map +1 -0
- package/dist/utils/gemini.js +1015 -1479
- package/dist/utils/gemini.js.map +1 -0
- package/dist/utils/index.cjs +38 -23
- package/dist/utils/index.d.cts +8 -0
- package/dist/utils/index.d.ts +8 -7
- package/dist/utils/index.js +8 -7
- package/dist/utils/palm.d.cts +11 -0
- package/dist/utils/palm.d.cts.map +1 -0
- package/dist/utils/palm.d.ts +9 -4
- package/dist/utils/palm.d.ts.map +1 -0
- package/dist/utils/safety.cjs +13 -22
- package/dist/utils/safety.cjs.map +1 -0
- package/dist/utils/safety.d.cts +12 -0
- package/dist/utils/safety.d.cts.map +1 -0
- package/dist/utils/safety.d.ts +10 -4
- package/dist/utils/safety.d.ts.map +1 -0
- package/dist/utils/safety.js +13 -19
- package/dist/utils/safety.js.map +1 -0
- package/dist/utils/stream.cjs +296 -475
- package/dist/utils/stream.cjs.map +1 -0
- package/dist/utils/stream.d.cts +165 -0
- package/dist/utils/stream.d.cts.map +1 -0
- package/dist/utils/stream.d.ts +156 -131
- package/dist/utils/stream.d.ts.map +1 -0
- package/dist/utils/stream.js +293 -469
- package/dist/utils/stream.js.map +1 -0
- package/dist/utils/zod_to_gemini_parameters.cjs +43 -81
- package/dist/utils/zod_to_gemini_parameters.cjs.map +1 -0
- package/dist/utils/zod_to_gemini_parameters.d.cts +22 -0
- package/dist/utils/zod_to_gemini_parameters.d.cts.map +1 -0
- package/dist/utils/zod_to_gemini_parameters.d.ts +21 -6
- package/dist/utils/zod_to_gemini_parameters.d.ts.map +1 -0
- package/dist/utils/zod_to_gemini_parameters.js +40 -76
- package/dist/utils/zod_to_gemini_parameters.js.map +1 -0
- package/package.json +69 -85
- package/dist/types-anthropic.cjs +0 -2
- package/dist/types-anthropic.js +0 -1
- package/dist/utils/anthropic.d.ts +0 -4
- package/dist/utils/palm.cjs +0 -2
- package/dist/utils/palm.js +0 -1
- package/experimental/media.cjs +0 -1
- package/experimental/media.d.cts +0 -1
- package/experimental/media.d.ts +0 -1
- package/experimental/media.js +0 -1
- package/experimental/utils/media_core.cjs +0 -1
- package/experimental/utils/media_core.d.cts +0 -1
- package/experimental/utils/media_core.d.ts +0 -1
- package/experimental/utils/media_core.js +0 -1
- package/index.cjs +0 -1
- package/index.d.cts +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/types.cjs +0 -1
- package/types.d.cts +0 -1
- package/types.d.ts +0 -1
- package/types.js +0 -1
- package/utils.cjs +0 -1
- package/utils.d.cts +0 -1
- package/utils.d.ts +0 -1
- package/utils.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","names":["caller: AsyncCaller","client: GoogleAbstractedClient","streaming?: boolean","data: unknown | undefined","_options: CallOptions","requestHeaders: Record<string, string>","opts: GoogleAbstractedClientOps","options: CallOptions","response: unknown","fields: GoogleConnectionParams<AuthOptions> | undefined","fields: GoogleConnectionParams<any> | undefined","fields: GoogleAIBaseLLMInput<AuthOptions> | undefined","input: InputType","parameters: GoogleAIModelRequestParams","runManager?: BaseRunManager","streamingParameters: GoogleAIModelRequestParams","input: MessageType","eventName: string","data: any","runId: string","tags?: string[]","metadata?: Record<string, any>","_eventInfo: GoogleCustomEventInfo","_runId: string","_metadata?: Record<string, any>","_eventName: string","_tags?: string[]"],"sources":["../src/connection.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport {\n AsyncCaller,\n AsyncCallerCallOptions,\n} from \"@langchain/core/utils/async_caller\";\nimport { getRuntimeEnvironment } from \"@langchain/core/utils/env\";\nimport { BaseRunManager } from \"@langchain/core/callbacks/manager\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type {\n GoogleAIBaseLLMInput,\n GoogleConnectionParams,\n GooglePlatformType,\n GoogleResponse,\n GoogleLLMResponse,\n GoogleAIModelRequestParams,\n GoogleRawResponse,\n GoogleAIAPI,\n VertexModelFamily,\n GoogleAIAPIConfig,\n AnthropicAPIConfig,\n GeminiAPIConfig,\n GoogleModelParams,\n} from \"./types.js\";\nimport {\n GoogleAbstractedClient,\n GoogleAbstractedClientOps,\n GoogleAbstractedClientOpsMethod,\n} from \"./auth.js\";\nimport {\n getGeminiAPI,\n modelToFamily,\n modelToPublisher,\n} from \"./utils/index.js\";\nimport { getAnthropicAPI } from \"./utils/anthropic.js\";\n\nexport abstract class GoogleConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse\n> {\n caller: AsyncCaller;\n\n client: GoogleAbstractedClient;\n\n streaming: boolean;\n\n constructor(\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n this.caller = caller;\n this.client = client;\n this.streaming = streaming ?? false;\n }\n\n abstract buildUrl(): Promise<string>;\n\n abstract buildMethod(): GoogleAbstractedClientOpsMethod;\n\n async _clientInfoHeaders(): Promise<Record<string, string>> {\n const { userAgent, clientLibraryVersion } = await this._getClientInfo();\n return {\n \"User-Agent\": userAgent,\n \"Client-Info\": clientLibraryVersion,\n };\n }\n\n async _getClientInfo(): Promise<{\n userAgent: string;\n clientLibraryVersion: string;\n }> {\n const env = await getRuntimeEnvironment();\n const langchain = env?.library ?? \"langchain-js\";\n // TODO: Add an API for getting the current LangChain version\n const langchainVersion = \"0\";\n const moduleName = await this._moduleName();\n let clientLibraryVersion = `${langchain}/${langchainVersion}`;\n if (moduleName && moduleName.length) {\n clientLibraryVersion = `${clientLibraryVersion}-${moduleName}`;\n }\n return {\n userAgent: clientLibraryVersion,\n clientLibraryVersion: `${langchainVersion}-${moduleName}`,\n };\n }\n\n async _moduleName(): Promise<string> {\n return this.constructor.name;\n }\n\n async additionalHeaders(): Promise<Record<string, string>> {\n return {};\n }\n\n async _buildOpts(\n data: unknown | undefined,\n _options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const url = await this.buildUrl();\n const method = this.buildMethod();\n const infoHeaders = (await this._clientInfoHeaders()) ?? {};\n const additionalHeaders = (await this.additionalHeaders()) ?? {};\n const headers = {\n ...infoHeaders,\n ...additionalHeaders,\n ...requestHeaders,\n };\n\n const opts: GoogleAbstractedClientOps = {\n url,\n method,\n headers,\n };\n if (data && method === \"POST\") {\n opts.data = data;\n }\n if (this.streaming) {\n opts.responseType = \"stream\";\n } else {\n opts.responseType = \"json\";\n }\n return opts;\n }\n\n async _request(\n data: unknown | undefined,\n options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<ResponseType> {\n const opts = await this._buildOpts(data, options, requestHeaders);\n const callResponse = await this.caller.callWithOptions(\n { signal: options?.signal },\n async () => this.client.request(opts)\n );\n const response: unknown = callResponse; // Done for typecast safety, I guess\n return <ResponseType>response;\n }\n}\n\nexport abstract class GoogleHostConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions\n >\n extends GoogleConnection<CallOptions, ResponseType>\n implements GoogleConnectionParams<AuthOptions>\n{\n // This does not default to a value intentionally.\n // Use the \"platform\" getter if you need this.\n platformType: GooglePlatformType | undefined;\n\n _endpoint: string | undefined;\n\n _location: string | undefined;\n\n _apiVersion: string | undefined;\n\n constructor(\n fields: GoogleConnectionParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(caller, client, streaming);\n this.caller = caller;\n\n this.platformType = this.fieldPlatformType(fields);\n this._endpoint = fields?.endpoint;\n this._location = fields?.location;\n this._apiVersion = fields?.apiVersion;\n this.client = client;\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n if (typeof fields === \"undefined\") {\n return undefined;\n }\n if (typeof fields.platformType !== \"undefined\") {\n return fields.platformType;\n }\n if (fields.vertexai === true) {\n return \"gcp\";\n }\n return undefined;\n }\n\n get platform(): GooglePlatformType {\n return this.platformType ?? this.computedPlatformType;\n }\n\n get computedPlatformType(): GooglePlatformType {\n return \"gcp\";\n }\n\n get computedApiVersion(): string {\n return \"v1\";\n }\n\n get apiVersion(): string {\n return this._apiVersion ?? this.computedApiVersion;\n }\n\n get location(): string {\n return this._location ?? this.computedLocation;\n }\n\n get computedLocation(): string {\n return \"us-central1\";\n }\n\n get endpoint(): string {\n return this._endpoint ?? this.computedEndpoint;\n }\n\n get computedEndpoint(): string {\n if (this.location === \"global\") {\n return \"aiplatform.googleapis.com\";\n } else {\n return `${this.location}-aiplatform.googleapis.com`;\n }\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return \"POST\";\n }\n}\n\nexport abstract class GoogleRawConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions\n> extends GoogleHostConnection<CallOptions, GoogleRawResponse, AuthOptions> {\n async _buildOpts(\n data: unknown | undefined,\n _options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const opts = await super._buildOpts(data, _options, requestHeaders);\n opts.responseType = \"blob\";\n return opts;\n }\n}\n\nexport abstract class GoogleAIConnection<\n CallOptions extends AsyncCallerCallOptions,\n InputType,\n AuthOptions,\n ResponseType extends GoogleResponse\n >\n extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions>\n implements GoogleAIBaseLLMInput<AuthOptions>\n{\n model: string;\n\n modelName: string;\n\n client: GoogleAbstractedClient;\n\n _apiName?: string;\n\n apiConfig?: GoogleAIAPIConfig;\n\n constructor(\n fields: GoogleAIBaseLLMInput<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(fields, caller, client, streaming);\n this.client = client;\n this.modelName = fields?.model ?? fields?.modelName ?? this.model;\n this.model = this.modelName;\n\n this._apiName = fields?.apiName;\n this.apiConfig = {\n safetyHandler: fields?.safetyHandler, // For backwards compatibility\n ...fields?.apiConfig,\n };\n }\n\n get modelFamily(): VertexModelFamily {\n return modelToFamily(this.model);\n }\n\n get modelPublisher(): string {\n return modelToPublisher(this.model);\n }\n\n get computedAPIName(): string {\n // At least at the moment, model publishers and APIs map the same\n return this.modelPublisher;\n }\n\n get apiName(): string {\n return this._apiName ?? this.computedAPIName;\n }\n\n get api(): GoogleAIAPI {\n switch (this.apiName) {\n case \"google\":\n case \"gemma\": // TODO: Is this true?\n return getGeminiAPI(this.apiConfig as GeminiAPIConfig);\n case \"anthropic\":\n return getAnthropicAPI(this.apiConfig as AnthropicAPIConfig);\n default:\n throw new Error(`Unknown API: ${this.apiName}`);\n }\n }\n\n get isApiKey(): boolean {\n return this.client.clientType === \"apiKey\";\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n const ret = super.fieldPlatformType(fields);\n if (typeof ret !== \"undefined\") {\n return ret;\n }\n if (fields?.vertexai === false) {\n return \"gai\";\n }\n return undefined;\n }\n\n get computedPlatformType(): GooglePlatformType {\n // This is not a completely correct assumption, since GCP can\n // have an API Key. But if so, then people need to set the platform\n // type explicitly.\n if (this.isApiKey) {\n return \"gai\";\n } else {\n return \"gcp\";\n }\n }\n\n get computedApiVersion(): string {\n switch (this.platform) {\n case \"gai\":\n return \"v1beta\";\n default:\n return \"v1\";\n }\n }\n\n get computedLocation(): string {\n switch (this.apiName) {\n case \"google\":\n return super.computedLocation;\n case \"anthropic\":\n return \"us-east5\";\n default:\n throw new Error(\n `Unknown apiName: ${this.apiName}. Can't get location.`\n );\n }\n }\n\n abstract buildUrlMethod(): Promise<string>;\n\n async buildUrlGenerativeLanguage(): Promise<string> {\n const method = await this.buildUrlMethod();\n const url = `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexExpress(): Promise<string> {\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexLocation(): Promise<string> {\n const projectId = await this.client.getProjectId();\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertex(): Promise<string> {\n if (this.isApiKey) {\n return this.buildUrlVertexExpress();\n } else {\n return this.buildUrlVertexLocation();\n }\n }\n\n async buildUrl(): Promise<string> {\n switch (this.platform) {\n case \"gai\":\n return this.buildUrlGenerativeLanguage();\n default:\n return this.buildUrlVertex();\n }\n }\n\n abstract formatData(\n input: InputType,\n parameters: GoogleModelParams\n ): Promise<unknown>;\n\n async request(\n input: InputType,\n parameters: GoogleAIModelRequestParams,\n\n options: CallOptions,\n runManager?: BaseRunManager\n ): Promise<ResponseType> {\n const moduleName = this.constructor.name;\n const streamingParameters: GoogleAIModelRequestParams = {\n ...parameters,\n streaming: this.streaming,\n };\n const data = await this.formatData(input, streamingParameters);\n\n await runManager?.handleCustomEvent(`google-request-${moduleName}`, {\n data,\n parameters: streamingParameters,\n options,\n connection: {\n ...this,\n url: await this.buildUrl(),\n urlMethod: await this.buildUrlMethod(),\n modelFamily: this.modelFamily,\n modelPublisher: this.modelPublisher,\n computedPlatformType: this.computedPlatformType,\n },\n });\n\n const response = await this._request(data, options);\n\n await runManager?.handleCustomEvent(`google-response-${moduleName}`, {\n response,\n });\n\n return response;\n }\n}\n\nexport abstract class AbstractGoogleLLMConnection<\n MessageType,\n AuthOptions\n> extends GoogleAIConnection<\n BaseLanguageModelCallOptions,\n MessageType,\n AuthOptions,\n GoogleLLMResponse\n> {\n async buildUrlMethodGemini(): Promise<string> {\n return this.streaming ? \"streamGenerateContent\" : \"generateContent\";\n }\n\n async buildUrlMethodClaude(): Promise<string> {\n return this.streaming ? \"streamRawPredict\" : \"rawPredict\";\n }\n\n async buildUrlMethod(): Promise<string> {\n switch (this.modelFamily) {\n case \"gemini\":\n case \"gemma\": // TODO: Is this true?\n return this.buildUrlMethodGemini();\n case \"claude\":\n return this.buildUrlMethodClaude();\n default:\n throw new Error(`Unknown model family: ${this.modelFamily}`);\n }\n }\n\n async formatData(\n input: MessageType,\n parameters: GoogleAIModelRequestParams\n ): Promise<unknown> {\n // Filter out labels for non-Vertex AI platforms (labels are only supported on Vertex AI)\n let filteredParameters = parameters;\n if (parameters.labels && this.platform !== \"gcp\") {\n const { labels, ...paramsWithoutLabels } = parameters;\n filteredParameters = paramsWithoutLabels;\n }\n\n return this.api.formatData(input, filteredParameters);\n }\n}\n\nexport interface GoogleCustomEventInfo {\n subEvent: string;\n module: string;\n}\n\nexport abstract class GoogleRequestCallbackHandler extends BaseCallbackHandler {\n customEventInfo(eventName: string): GoogleCustomEventInfo {\n const names = eventName.split(\"-\");\n return {\n subEvent: names[1],\n module: names[2],\n };\n }\n\n abstract handleCustomRequestEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomResponseEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomChunkEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n handleCustomEvent(\n eventName: string,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any {\n if (!eventName) {\n return undefined;\n }\n const eventInfo = this.customEventInfo(eventName);\n switch (eventInfo.subEvent) {\n case \"request\":\n return this.handleCustomRequestEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"response\":\n return this.handleCustomResponseEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"chunk\":\n return this.handleCustomChunkEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n default:\n console.error(\n `Unexpected eventInfo for ${eventName} ${JSON.stringify(\n eventInfo,\n null,\n 1\n )}`\n );\n }\n }\n}\n\nexport class GoogleRequestLogger extends GoogleRequestCallbackHandler {\n name: string = \"GoogleRequestLogger\";\n\n log(eventName: string, data: any, tags?: string[]): undefined {\n const tagStr = tags ? `[${tags}]` : \"[]\";\n console.log(`${eventName} ${tagStr} ${JSON.stringify(data, null, 1)}`);\n }\n\n handleCustomRequestEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomResponseEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomChunkEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n}\n\nexport class GoogleRequestRecorder extends GoogleRequestCallbackHandler {\n name = \"GoogleRequestRecorder\";\n\n request: any = {};\n\n response: any = {};\n\n chunk: any[] = [];\n\n handleCustomRequestEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.request = data;\n }\n\n handleCustomResponseEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.response = data;\n }\n\n handleCustomChunkEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.chunk.push(data);\n }\n}\n"],"mappings":"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"}
|
package/dist/embeddings.cjs
CHANGED
|
@@ -1,188 +1,137 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return ret;
|
|
59
|
-
}
|
|
60
|
-
formatDataVertex(input, parameters) {
|
|
61
|
-
return {
|
|
62
|
-
instances: input,
|
|
63
|
-
parameters,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
async formatData(input, parameters) {
|
|
67
|
-
switch (this.platform) {
|
|
68
|
-
case "gcp":
|
|
69
|
-
return this.formatDataVertex(input, parameters);
|
|
70
|
-
case "gai":
|
|
71
|
-
return this.formatDataAiStudio(input, parameters);
|
|
72
|
-
default:
|
|
73
|
-
throw new Error(`Unknown platform to format embeddings ${this.platform}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
1
|
+
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_connection = require('./connection.cjs');
|
|
3
|
+
const require_auth = require('./auth.cjs');
|
|
4
|
+
const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
|
|
5
|
+
const __langchain_core_embeddings = require_rolldown_runtime.__toESM(require("@langchain/core/embeddings"));
|
|
6
|
+
const __langchain_core_utils_chunk_array = require_rolldown_runtime.__toESM(require("@langchain/core/utils/chunk_array"));
|
|
7
|
+
|
|
8
|
+
//#region src/embeddings.ts
|
|
9
|
+
var EmbeddingsConnection = class extends require_connection.GoogleAIConnection {
|
|
10
|
+
convertSystemMessageToHumanContent;
|
|
11
|
+
constructor(fields, caller, client, streaming) {
|
|
12
|
+
super(fields, caller, client, streaming);
|
|
13
|
+
}
|
|
14
|
+
buildUrlMethodAiStudio() {
|
|
15
|
+
return "embedContent";
|
|
16
|
+
}
|
|
17
|
+
buildUrlMethodVertex() {
|
|
18
|
+
return "predict";
|
|
19
|
+
}
|
|
20
|
+
async buildUrlMethod() {
|
|
21
|
+
switch (this.platform) {
|
|
22
|
+
case "gcp": return this.buildUrlMethodVertex();
|
|
23
|
+
case "gai": return this.buildUrlMethodAiStudio();
|
|
24
|
+
default: throw new Error(`Unknown platform when building method: ${this.platform}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get modelPublisher() {
|
|
28
|
+
return "google";
|
|
29
|
+
}
|
|
30
|
+
formatDataAiStudio(input, parameters) {
|
|
31
|
+
const parts = input.map((instance) => ({ text: instance.content }));
|
|
32
|
+
const content = { parts };
|
|
33
|
+
const outputDimensionality = parameters?.outputDimensionality;
|
|
34
|
+
const ret = {
|
|
35
|
+
content,
|
|
36
|
+
outputDimensionality
|
|
37
|
+
};
|
|
38
|
+
let key;
|
|
39
|
+
for (key in ret) if (ret[key] === void 0) delete ret[key];
|
|
40
|
+
return ret;
|
|
41
|
+
}
|
|
42
|
+
formatDataVertex(input, parameters) {
|
|
43
|
+
return {
|
|
44
|
+
instances: input,
|
|
45
|
+
parameters
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
async formatData(input, parameters) {
|
|
49
|
+
switch (this.platform) {
|
|
50
|
+
case "gcp": return this.formatDataVertex(input, parameters);
|
|
51
|
+
case "gai": return this.formatDataAiStudio(input, parameters);
|
|
52
|
+
default: throw new Error(`Unknown platform to format embeddings ${this.platform}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
77
56
|
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
* @param documents An array of documents to be embedded.
|
|
158
|
-
* @returns A promise that resolves to a 2D array of embeddings for each document.
|
|
159
|
-
*/
|
|
160
|
-
async embedDocuments(documents) {
|
|
161
|
-
// Vertex "text-" models could do up 5 documents at once,
|
|
162
|
-
// but the "gemini-embedding-001" can only do 1.
|
|
163
|
-
// AI Studio can only do a chunk size of 1.
|
|
164
|
-
// TODO: Make this configurable
|
|
165
|
-
const chunkSize = 1;
|
|
166
|
-
const instanceChunks = (0, chunk_array_1.chunkArray)(documents.map((document) => ({
|
|
167
|
-
content: document,
|
|
168
|
-
})), chunkSize);
|
|
169
|
-
const parameters = this.buildParameters();
|
|
170
|
-
const options = {};
|
|
171
|
-
const responses = await Promise.all(instanceChunks.map((instances) => this.connection.request(instances, parameters, options)));
|
|
172
|
-
const result = responses?.map((response) => this.responseToValues(response)).flat() ??
|
|
173
|
-
[];
|
|
174
|
-
return result;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Takes a document as input and returns a promise that resolves to an
|
|
178
|
-
* embedding for the document. It calls the embedDocuments method with the
|
|
179
|
-
* document as the input.
|
|
180
|
-
* @param document A document to be embedded.
|
|
181
|
-
* @returns A promise that resolves to an embedding for the document.
|
|
182
|
-
*/
|
|
183
|
-
async embedQuery(document) {
|
|
184
|
-
const data = await this.embedDocuments([document]);
|
|
185
|
-
return data[0];
|
|
186
|
-
}
|
|
187
|
-
}
|
|
57
|
+
* Enables calls to Google APIs for generating
|
|
58
|
+
* text embeddings.
|
|
59
|
+
*/
|
|
60
|
+
var BaseGoogleEmbeddings = class extends __langchain_core_embeddings.Embeddings {
|
|
61
|
+
model;
|
|
62
|
+
dimensions;
|
|
63
|
+
connection;
|
|
64
|
+
constructor(fields) {
|
|
65
|
+
super(fields);
|
|
66
|
+
this.model = fields.model;
|
|
67
|
+
this.dimensions = fields.dimensions ?? fields.outputDimensionality;
|
|
68
|
+
this.connection = new EmbeddingsConnection({
|
|
69
|
+
...fields,
|
|
70
|
+
...this
|
|
71
|
+
}, this.caller, this.buildClient(fields), false);
|
|
72
|
+
}
|
|
73
|
+
buildApiKeyClient(apiKey) {
|
|
74
|
+
return new require_auth.ApiKeyGoogleAuth(apiKey);
|
|
75
|
+
}
|
|
76
|
+
buildApiKey(fields) {
|
|
77
|
+
return fields?.apiKey ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("GOOGLE_API_KEY");
|
|
78
|
+
}
|
|
79
|
+
buildClient(fields) {
|
|
80
|
+
const apiKey = this.buildApiKey(fields);
|
|
81
|
+
if (apiKey) return this.buildApiKeyClient(apiKey);
|
|
82
|
+
else return this.buildAbstractedClient(fields);
|
|
83
|
+
}
|
|
84
|
+
buildParameters() {
|
|
85
|
+
const ret = { outputDimensionality: this.dimensions };
|
|
86
|
+
let key;
|
|
87
|
+
for (key in ret) if (ret[key] === void 0) delete ret[key];
|
|
88
|
+
return ret;
|
|
89
|
+
}
|
|
90
|
+
vertexResponseToValues(response) {
|
|
91
|
+
const predictions = response?.data?.predictions ?? [];
|
|
92
|
+
return predictions.map((prediction) => prediction.embeddings.values);
|
|
93
|
+
}
|
|
94
|
+
aiStudioResponseToValues(response) {
|
|
95
|
+
const value = response?.data?.embedding?.values ?? [];
|
|
96
|
+
return [value];
|
|
97
|
+
}
|
|
98
|
+
responseToValues(response) {
|
|
99
|
+
switch (this.connection.platform) {
|
|
100
|
+
case "gcp": return this.vertexResponseToValues(response);
|
|
101
|
+
case "gai": return this.aiStudioResponseToValues(response);
|
|
102
|
+
default: throw new Error(`Unknown response platform: ${this.connection.platform}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Takes an array of documents as input and returns a promise that
|
|
107
|
+
* resolves to a 2D array of embeddings for each document. It splits the
|
|
108
|
+
* documents into chunks and makes requests to the Google Vertex AI API to
|
|
109
|
+
* generate embeddings.
|
|
110
|
+
* @param documents An array of documents to be embedded.
|
|
111
|
+
* @returns A promise that resolves to a 2D array of embeddings for each document.
|
|
112
|
+
*/
|
|
113
|
+
async embedDocuments(documents) {
|
|
114
|
+
const chunkSize = 1;
|
|
115
|
+
const instanceChunks = (0, __langchain_core_utils_chunk_array.chunkArray)(documents.map((document) => ({ content: document })), chunkSize);
|
|
116
|
+
const parameters = this.buildParameters();
|
|
117
|
+
const options = {};
|
|
118
|
+
const responses = await Promise.all(instanceChunks.map((instances) => this.connection.request(instances, parameters, options)));
|
|
119
|
+
const result = responses?.map((response) => this.responseToValues(response)).flat() ?? [];
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Takes a document as input and returns a promise that resolves to an
|
|
124
|
+
* embedding for the document. It calls the embedDocuments method with the
|
|
125
|
+
* document as the input.
|
|
126
|
+
* @param document A document to be embedded.
|
|
127
|
+
* @returns A promise that resolves to an embedding for the document.
|
|
128
|
+
*/
|
|
129
|
+
async embedQuery(document) {
|
|
130
|
+
const data = await this.embedDocuments([document]);
|
|
131
|
+
return data[0];
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
//#endregion
|
|
188
136
|
exports.BaseGoogleEmbeddings = BaseGoogleEmbeddings;
|
|
137
|
+
//# sourceMappingURL=embeddings.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.cjs","names":["GoogleAIConnection","fields: BaseGoogleEmbeddingsParams<AuthOptions> | undefined","caller: AsyncCaller","client: GoogleAbstractedClient","streaming: boolean","input: VertexEmbeddingsInstance[]","parameters: VertexEmbeddingsParameters","parts: GeminiPartText[]","instance: VertexEmbeddingsInstance","ret: AIStudioEmbeddingsRequest","key: keyof AIStudioEmbeddingsRequest","Embeddings","fields: BaseGoogleEmbeddingsParams<AuthOptions>","apiKey: string","ApiKeyGoogleAuth","fields?: GoogleConnectionParams<AuthOptions>","ret: VertexEmbeddingsParameters","key: keyof VertexEmbeddingsParameters","response: VertexEmbeddingsResponse","predictions: VertexEmbeddingsResponsePrediction[]","prediction: VertexEmbeddingsResponsePrediction","response: AIStudioEmbeddingsResponse","value: number[]","response: GoogleEmbeddingsResponse","documents: string[]","instanceChunks: VertexEmbeddingsInstance[][]","result: number[][]","document: string"],"sources":["../src/embeddings.ts"],"sourcesContent":["import { Embeddings } from \"@langchain/core/embeddings\";\nimport {\n AsyncCaller,\n AsyncCallerCallOptions,\n} from \"@langchain/core/utils/async_caller\";\nimport { chunkArray } from \"@langchain/core/utils/chunk_array\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\n\nimport { GoogleAIConnection } from \"./connection.js\";\nimport { ApiKeyGoogleAuth, GoogleAbstractedClient } from \"./auth.js\";\nimport {\n BaseGoogleEmbeddingsOptions,\n BaseGoogleEmbeddingsParams,\n GoogleConnectionParams,\n VertexEmbeddingsInstance,\n GoogleEmbeddingsResponse,\n VertexEmbeddingsParameters,\n GoogleEmbeddingsRequest,\n VertexEmbeddingsResponse,\n AIStudioEmbeddingsResponse,\n VertexEmbeddingsResponsePrediction,\n AIStudioEmbeddingsRequest,\n GeminiPartText,\n VertexEmbeddingsRequest,\n} from \"./types.js\";\n\nclass EmbeddingsConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions\n> extends GoogleAIConnection<\n CallOptions,\n VertexEmbeddingsInstance[],\n AuthOptions,\n GoogleEmbeddingsResponse\n> {\n convertSystemMessageToHumanContent: boolean | undefined;\n\n constructor(\n fields: BaseGoogleEmbeddingsParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming: boolean\n ) {\n super(fields, caller, client, streaming);\n }\n\n buildUrlMethodAiStudio(): string {\n return \"embedContent\";\n }\n\n buildUrlMethodVertex(): string {\n return \"predict\";\n }\n\n async buildUrlMethod(): Promise<string> {\n switch (this.platform) {\n case \"gcp\":\n return this.buildUrlMethodVertex();\n case \"gai\":\n return this.buildUrlMethodAiStudio();\n default:\n throw new Error(\n `Unknown platform when building method: ${this.platform}`\n );\n }\n }\n\n get modelPublisher(): string {\n // All the embedding models are currently published by \"google\"\n return \"google\";\n }\n\n formatDataAiStudio(\n input: VertexEmbeddingsInstance[],\n parameters: VertexEmbeddingsParameters\n ): AIStudioEmbeddingsRequest {\n const parts: GeminiPartText[] = input.map(\n (instance: VertexEmbeddingsInstance) => ({\n text: instance.content,\n })\n );\n const content = {\n parts,\n };\n const outputDimensionality = parameters?.outputDimensionality;\n\n const ret: AIStudioEmbeddingsRequest = {\n content,\n outputDimensionality,\n };\n\n // Remove undefined attributes\n let key: keyof AIStudioEmbeddingsRequest;\n for (key in ret) {\n if (ret[key] === undefined) {\n delete ret[key];\n }\n }\n\n return ret;\n }\n\n formatDataVertex(\n input: VertexEmbeddingsInstance[],\n parameters: VertexEmbeddingsParameters\n ): VertexEmbeddingsRequest {\n return {\n instances: input,\n parameters,\n };\n }\n\n async formatData(\n input: VertexEmbeddingsInstance[],\n parameters: VertexEmbeddingsParameters\n ): Promise<GoogleEmbeddingsRequest> {\n switch (this.platform) {\n case \"gcp\":\n return this.formatDataVertex(input, parameters);\n case \"gai\":\n return this.formatDataAiStudio(input, parameters);\n default:\n throw new Error(\n `Unknown platform to format embeddings ${this.platform}`\n );\n }\n }\n}\n\n/**\n * Enables calls to Google APIs for generating\n * text embeddings.\n */\nexport abstract class BaseGoogleEmbeddings<AuthOptions>\n extends Embeddings\n implements BaseGoogleEmbeddingsParams<AuthOptions>\n{\n model: string;\n\n dimensions?: number;\n\n private connection: EmbeddingsConnection<\n BaseGoogleEmbeddingsOptions,\n AuthOptions\n >;\n\n constructor(fields: BaseGoogleEmbeddingsParams<AuthOptions>) {\n super(fields);\n\n this.model = fields.model;\n this.dimensions = fields.dimensions ?? fields.outputDimensionality;\n\n this.connection = new EmbeddingsConnection(\n { ...fields, ...this },\n this.caller,\n this.buildClient(fields),\n false\n );\n }\n\n abstract buildAbstractedClient(\n fields?: GoogleConnectionParams<AuthOptions>\n ): GoogleAbstractedClient;\n\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient {\n return new ApiKeyGoogleAuth(apiKey);\n }\n\n buildApiKey(\n fields?: GoogleConnectionParams<AuthOptions>\n ): string | undefined {\n return fields?.apiKey ?? getEnvironmentVariable(\"GOOGLE_API_KEY\");\n }\n\n buildClient(\n fields?: GoogleConnectionParams<AuthOptions>\n ): GoogleAbstractedClient {\n const apiKey = this.buildApiKey(fields);\n if (apiKey) {\n return this.buildApiKeyClient(apiKey);\n } else {\n return this.buildAbstractedClient(fields);\n }\n }\n\n buildParameters(): VertexEmbeddingsParameters {\n const ret: VertexEmbeddingsParameters = {\n outputDimensionality: this.dimensions,\n };\n\n // Remove undefined attributes\n let key: keyof VertexEmbeddingsParameters;\n for (key in ret) {\n if (ret[key] === undefined) {\n delete ret[key];\n }\n }\n\n return ret;\n }\n\n vertexResponseToValues(response: VertexEmbeddingsResponse): number[][] {\n const predictions: VertexEmbeddingsResponsePrediction[] =\n response?.data?.predictions ?? [];\n return predictions.map(\n (prediction: VertexEmbeddingsResponsePrediction): number[] =>\n prediction.embeddings.values\n );\n }\n\n aiStudioResponseToValues(response: AIStudioEmbeddingsResponse): number[][] {\n const value: number[] = response?.data?.embedding?.values ?? [];\n return [value];\n }\n\n responseToValues(response: GoogleEmbeddingsResponse): number[][] {\n switch (this.connection.platform) {\n case \"gcp\":\n return this.vertexResponseToValues(\n response as VertexEmbeddingsResponse\n );\n case \"gai\":\n return this.aiStudioResponseToValues(\n response as AIStudioEmbeddingsResponse\n );\n default:\n throw new Error(\n `Unknown response platform: ${this.connection.platform}`\n );\n }\n }\n\n /**\n * Takes an array of documents as input and returns a promise that\n * resolves to a 2D array of embeddings for each document. It splits the\n * documents into chunks and makes requests to the Google Vertex AI API to\n * generate embeddings.\n * @param documents An array of documents to be embedded.\n * @returns A promise that resolves to a 2D array of embeddings for each document.\n */\n async embedDocuments(documents: string[]): Promise<number[][]> {\n // Vertex \"text-\" models could do up 5 documents at once,\n // but the \"gemini-embedding-001\" can only do 1.\n // AI Studio can only do a chunk size of 1.\n // TODO: Make this configurable\n const chunkSize = 1;\n const instanceChunks: VertexEmbeddingsInstance[][] = chunkArray(\n documents.map((document) => ({\n content: document,\n })),\n chunkSize\n );\n const parameters: VertexEmbeddingsParameters = this.buildParameters();\n const options = {};\n const responses = await Promise.all(\n instanceChunks.map((instances) =>\n this.connection.request(instances, parameters, options)\n )\n );\n const result: number[][] =\n responses?.map((response) => this.responseToValues(response)).flat() ??\n [];\n return result;\n }\n\n /**\n * Takes a document as input and returns a promise that resolves to an\n * embedding for the document. It calls the embedDocuments method with the\n * document as the input.\n * @param document A document to be embedded.\n * @returns A promise that resolves to an embedding for the document.\n */\n async embedQuery(document: string): Promise<number[]> {\n const data = await this.embedDocuments([document]);\n return data[0];\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AIStudioEmbeddingsResponse, BaseGoogleEmbeddingsParams, GoogleConnectionParams, GoogleEmbeddingsResponse, VertexEmbeddingsParameters, VertexEmbeddingsResponse } from "./types.cjs";
|
|
2
|
+
import { GoogleAbstractedClient } from "./auth.cjs";
|
|
3
|
+
import { Embeddings } from "@langchain/core/embeddings";
|
|
4
|
+
|
|
5
|
+
//#region src/embeddings.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Enables calls to Google APIs for generating
|
|
9
|
+
* text embeddings.
|
|
10
|
+
*/
|
|
11
|
+
declare abstract class BaseGoogleEmbeddings<AuthOptions> extends Embeddings implements BaseGoogleEmbeddingsParams<AuthOptions> {
|
|
12
|
+
model: string;
|
|
13
|
+
dimensions?: number;
|
|
14
|
+
private connection;
|
|
15
|
+
constructor(fields: BaseGoogleEmbeddingsParams<AuthOptions>);
|
|
16
|
+
abstract buildAbstractedClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;
|
|
17
|
+
buildApiKeyClient(apiKey: string): GoogleAbstractedClient;
|
|
18
|
+
buildApiKey(fields?: GoogleConnectionParams<AuthOptions>): string | undefined;
|
|
19
|
+
buildClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;
|
|
20
|
+
buildParameters(): VertexEmbeddingsParameters;
|
|
21
|
+
vertexResponseToValues(response: VertexEmbeddingsResponse): number[][];
|
|
22
|
+
aiStudioResponseToValues(response: AIStudioEmbeddingsResponse): number[][];
|
|
23
|
+
responseToValues(response: GoogleEmbeddingsResponse): number[][];
|
|
24
|
+
/**
|
|
25
|
+
* Takes an array of documents as input and returns a promise that
|
|
26
|
+
* resolves to a 2D array of embeddings for each document. It splits the
|
|
27
|
+
* documents into chunks and makes requests to the Google Vertex AI API to
|
|
28
|
+
* generate embeddings.
|
|
29
|
+
* @param documents An array of documents to be embedded.
|
|
30
|
+
* @returns A promise that resolves to a 2D array of embeddings for each document.
|
|
31
|
+
*/
|
|
32
|
+
embedDocuments(documents: string[]): Promise<number[][]>;
|
|
33
|
+
/**
|
|
34
|
+
* Takes a document as input and returns a promise that resolves to an
|
|
35
|
+
* embedding for the document. It calls the embedDocuments method with the
|
|
36
|
+
* document as the input.
|
|
37
|
+
* @param document A document to be embedded.
|
|
38
|
+
* @returns A promise that resolves to an embedding for the document.
|
|
39
|
+
*/
|
|
40
|
+
embedQuery(document: string): Promise<number[]>;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { BaseGoogleEmbeddings };
|
|
44
|
+
//# sourceMappingURL=embeddings.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.cts","names":["Embeddings","GoogleAbstractedClient","BaseGoogleEmbeddingsParams","GoogleConnectionParams","GoogleEmbeddingsResponse","VertexEmbeddingsParameters","VertexEmbeddingsResponse","AIStudioEmbeddingsResponse","BaseGoogleEmbeddings","AuthOptions","Promise"],"sources":["../src/embeddings.d.ts"],"sourcesContent":["import { Embeddings } from \"@langchain/core/embeddings\";\nimport { GoogleAbstractedClient } from \"./auth.js\";\nimport { BaseGoogleEmbeddingsParams, GoogleConnectionParams, GoogleEmbeddingsResponse, VertexEmbeddingsParameters, VertexEmbeddingsResponse, AIStudioEmbeddingsResponse } from \"./types.js\";\n/**\n * Enables calls to Google APIs for generating\n * text embeddings.\n */\nexport declare abstract class BaseGoogleEmbeddings<AuthOptions> extends Embeddings implements BaseGoogleEmbeddingsParams<AuthOptions> {\n model: string;\n dimensions?: number;\n private connection;\n constructor(fields: BaseGoogleEmbeddingsParams<AuthOptions>);\n abstract buildAbstractedClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient;\n buildApiKey(fields?: GoogleConnectionParams<AuthOptions>): string | undefined;\n buildClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;\n buildParameters(): VertexEmbeddingsParameters;\n vertexResponseToValues(response: VertexEmbeddingsResponse): number[][];\n aiStudioResponseToValues(response: AIStudioEmbeddingsResponse): number[][];\n responseToValues(response: GoogleEmbeddingsResponse): number[][];\n /**\n * Takes an array of documents as input and returns a promise that\n * resolves to a 2D array of embeddings for each document. It splits the\n * documents into chunks and makes requests to the Google Vertex AI API to\n * generate embeddings.\n * @param documents An array of documents to be embedded.\n * @returns A promise that resolves to a 2D array of embeddings for each document.\n */\n embedDocuments(documents: string[]): Promise<number[][]>;\n /**\n * Takes a document as input and returns a promise that resolves to an\n * embedding for the document. It calls the embedDocuments method with the\n * document as the input.\n * @param document A document to be embedded.\n * @returns A promise that resolves to an embedding for the document.\n */\n embedQuery(document: string): Promise<number[]>;\n}\n"],"mappings":";;;;;;;;AAOA;;AAAyHS,uBAA3FD,oBAA2FC,CAAAA,WAAAA,CAAAA,SAAjDT,UAAAA,YAAsBE,0BAA2BO,CAAAA,WAAAA,CAAAA,CAAAA;EAAW,KAIjFA,EAAAA,MAAAA;EAAW,UAAtCP,CAAAA,EAAAA,MAAAA;EAA0B,QACiBO,UAAAA;EAAW,WAAlCN,CAAAA,MAAAA,EADpBD,0BACoBC,CADOM,WACPN,CAAAA;EAAsB,SAAgBF,qBAAAA,CAAAA,MAAAA,CAAAA,EAAtCE,sBAAsCF,CAAfQ,WAAeR,CAAAA,CAAAA,EAAAA,sBAAAA;EAAsB,iBACjEA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA,EAAAA,sBAAAA;EAAsB,WACbQ,CAAAA,MAAAA,CAAAA,EAAvBN,sBAAuBM,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAW,WAAlCN,CAAAA,MAAAA,CAAAA,EACAA,sBADAA,CACuBM,WADvBN,CAAAA,CAAAA,EACsCF,sBADtCE;EAAsB,eACCM,CAAAA,CAAAA,EACzBJ,0BADyBI;EAAW,sBAAlCN,CAAAA,QAAAA,EAEYG,wBAFZH,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAAsB,wBAAgBF,CAAAA,QAAAA,EAGxBM,0BAHwBN,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAAsB,gBAC9DI,CAAAA,QAAAA,EAGQD,wBAHRC,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAA0B;;;;;;;AATuE;uCAqB/EK;;;;;;;;gCAQPA"}
|
package/dist/embeddings.d.ts
CHANGED
|
@@ -1,38 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AIStudioEmbeddingsResponse, BaseGoogleEmbeddingsParams, GoogleConnectionParams, GoogleEmbeddingsResponse, VertexEmbeddingsParameters, VertexEmbeddingsResponse } from "./types.js";
|
|
2
2
|
import { GoogleAbstractedClient } from "./auth.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Embeddings } from "@langchain/core/embeddings";
|
|
4
|
+
|
|
5
|
+
//#region src/embeddings.d.ts
|
|
6
|
+
|
|
4
7
|
/**
|
|
5
8
|
* Enables calls to Google APIs for generating
|
|
6
9
|
* text embeddings.
|
|
7
10
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
11
|
+
declare abstract class BaseGoogleEmbeddings<AuthOptions> extends Embeddings implements BaseGoogleEmbeddingsParams<AuthOptions> {
|
|
12
|
+
model: string;
|
|
13
|
+
dimensions?: number;
|
|
14
|
+
private connection;
|
|
15
|
+
constructor(fields: BaseGoogleEmbeddingsParams<AuthOptions>);
|
|
16
|
+
abstract buildAbstractedClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;
|
|
17
|
+
buildApiKeyClient(apiKey: string): GoogleAbstractedClient;
|
|
18
|
+
buildApiKey(fields?: GoogleConnectionParams<AuthOptions>): string | undefined;
|
|
19
|
+
buildClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;
|
|
20
|
+
buildParameters(): VertexEmbeddingsParameters;
|
|
21
|
+
vertexResponseToValues(response: VertexEmbeddingsResponse): number[][];
|
|
22
|
+
aiStudioResponseToValues(response: AIStudioEmbeddingsResponse): number[][];
|
|
23
|
+
responseToValues(response: GoogleEmbeddingsResponse): number[][];
|
|
24
|
+
/**
|
|
25
|
+
* Takes an array of documents as input and returns a promise that
|
|
26
|
+
* resolves to a 2D array of embeddings for each document. It splits the
|
|
27
|
+
* documents into chunks and makes requests to the Google Vertex AI API to
|
|
28
|
+
* generate embeddings.
|
|
29
|
+
* @param documents An array of documents to be embedded.
|
|
30
|
+
* @returns A promise that resolves to a 2D array of embeddings for each document.
|
|
31
|
+
*/
|
|
32
|
+
embedDocuments(documents: string[]): Promise<number[][]>;
|
|
33
|
+
/**
|
|
34
|
+
* Takes a document as input and returns a promise that resolves to an
|
|
35
|
+
* embedding for the document. It calls the embedDocuments method with the
|
|
36
|
+
* document as the input.
|
|
37
|
+
* @param document A document to be embedded.
|
|
38
|
+
* @returns A promise that resolves to an embedding for the document.
|
|
39
|
+
*/
|
|
40
|
+
embedQuery(document: string): Promise<number[]>;
|
|
38
41
|
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { BaseGoogleEmbeddings };
|
|
44
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","names":["Embeddings","GoogleAbstractedClient","BaseGoogleEmbeddingsParams","GoogleConnectionParams","GoogleEmbeddingsResponse","VertexEmbeddingsParameters","VertexEmbeddingsResponse","AIStudioEmbeddingsResponse","BaseGoogleEmbeddings","AuthOptions","Promise"],"sources":["../src/embeddings.d.ts"],"sourcesContent":["import { Embeddings } from \"@langchain/core/embeddings\";\nimport { GoogleAbstractedClient } from \"./auth.js\";\nimport { BaseGoogleEmbeddingsParams, GoogleConnectionParams, GoogleEmbeddingsResponse, VertexEmbeddingsParameters, VertexEmbeddingsResponse, AIStudioEmbeddingsResponse } from \"./types.js\";\n/**\n * Enables calls to Google APIs for generating\n * text embeddings.\n */\nexport declare abstract class BaseGoogleEmbeddings<AuthOptions> extends Embeddings implements BaseGoogleEmbeddingsParams<AuthOptions> {\n model: string;\n dimensions?: number;\n private connection;\n constructor(fields: BaseGoogleEmbeddingsParams<AuthOptions>);\n abstract buildAbstractedClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient;\n buildApiKey(fields?: GoogleConnectionParams<AuthOptions>): string | undefined;\n buildClient(fields?: GoogleConnectionParams<AuthOptions>): GoogleAbstractedClient;\n buildParameters(): VertexEmbeddingsParameters;\n vertexResponseToValues(response: VertexEmbeddingsResponse): number[][];\n aiStudioResponseToValues(response: AIStudioEmbeddingsResponse): number[][];\n responseToValues(response: GoogleEmbeddingsResponse): number[][];\n /**\n * Takes an array of documents as input and returns a promise that\n * resolves to a 2D array of embeddings for each document. It splits the\n * documents into chunks and makes requests to the Google Vertex AI API to\n * generate embeddings.\n * @param documents An array of documents to be embedded.\n * @returns A promise that resolves to a 2D array of embeddings for each document.\n */\n embedDocuments(documents: string[]): Promise<number[][]>;\n /**\n * Takes a document as input and returns a promise that resolves to an\n * embedding for the document. It calls the embedDocuments method with the\n * document as the input.\n * @param document A document to be embedded.\n * @returns A promise that resolves to an embedding for the document.\n */\n embedQuery(document: string): Promise<number[]>;\n}\n"],"mappings":";;;;;;;;AAOA;;AAAyHS,uBAA3FD,oBAA2FC,CAAAA,WAAAA,CAAAA,SAAjDT,UAAAA,YAAsBE,0BAA2BO,CAAAA,WAAAA,CAAAA,CAAAA;EAAW,KAIjFA,EAAAA,MAAAA;EAAW,UAAtCP,CAAAA,EAAAA,MAAAA;EAA0B,QACiBO,UAAAA;EAAW,WAAlCN,CAAAA,MAAAA,EADpBD,0BACoBC,CADOM,WACPN,CAAAA;EAAsB,SAAgBF,qBAAAA,CAAAA,MAAAA,CAAAA,EAAtCE,sBAAsCF,CAAfQ,WAAeR,CAAAA,CAAAA,EAAAA,sBAAAA;EAAsB,iBACjEA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA,EAAAA,sBAAAA;EAAsB,WACbQ,CAAAA,MAAAA,CAAAA,EAAvBN,sBAAuBM,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAW,WAAlCN,CAAAA,MAAAA,CAAAA,EACAA,sBADAA,CACuBM,WADvBN,CAAAA,CAAAA,EACsCF,sBADtCE;EAAsB,eACCM,CAAAA,CAAAA,EACzBJ,0BADyBI;EAAW,sBAAlCN,CAAAA,QAAAA,EAEYG,wBAFZH,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAAsB,wBAAgBF,CAAAA,QAAAA,EAGxBM,0BAHwBN,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAAsB,gBAC9DI,CAAAA,QAAAA,EAGQD,wBAHRC,CAAAA,EAAAA,MAAAA,EAAAA,EAAAA;EAA0B;;;;;;;AATuE;uCAqB/EK;;;;;;;;gCAQPA"}
|