@langchain/google-common 0.1.0 → 0.1.2

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/dist/types.cjs CHANGED
@@ -1,2 +1,56 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.GoogleAISafetyMethod = exports.GoogleAISafetyThreshold = exports.GoogleAISafetyCategory = void 0;
18
+ __exportStar(require("./types-anthropic.cjs"), exports);
19
+ exports.GoogleAISafetyCategory = {
20
+ Harassment: "HARM_CATEGORY_HARASSMENT",
21
+ HARASSMENT: "HARM_CATEGORY_HARASSMENT",
22
+ HARM_CATEGORY_HARASSMENT: "HARM_CATEGORY_HARASSMENT",
23
+ HateSpeech: "HARM_CATEGORY_HATE_SPEECH",
24
+ HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH",
25
+ HARM_CATEGORY_HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH",
26
+ SexuallyExplicit: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
27
+ SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
28
+ HARM_CATEGORY_SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
29
+ Dangerous: "HARM_CATEGORY_DANGEROUS",
30
+ DANGEROUS: "HARM_CATEGORY_DANGEROUS",
31
+ HARM_CATEGORY_DANGEROUS: "HARM_CATEGORY_DANGEROUS",
32
+ CivicIntegrity: "HARM_CATEGORY_CIVIC_INTEGRITY",
33
+ CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY",
34
+ HARM_CATEGORY_CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY",
35
+ };
36
+ exports.GoogleAISafetyThreshold = {
37
+ None: "BLOCK_NONE",
38
+ NONE: "BLOCK_NONE",
39
+ BLOCK_NONE: "BLOCK_NONE",
40
+ Few: "BLOCK_ONLY_HIGH",
41
+ FEW: "BLOCK_ONLY_HIGH",
42
+ BLOCK_ONLY_HIGH: "BLOCK_ONLY_HIGH",
43
+ Some: "BLOCK_MEDIUM_AND_ABOVE",
44
+ SOME: "BLOCK_MEDIUM_AND_ABOVE",
45
+ BLOCK_MEDIUM_AND_ABOVE: "BLOCK_MEDIUM_AND_ABOVE",
46
+ Most: "BLOCK_LOW_AND_ABOVE",
47
+ MOST: "BLOCK_LOW_AND_ABOVE",
48
+ BLOCK_LOW_AND_ABOVE: "BLOCK_LOW_AND_ABOVE",
49
+ Off: "OFF",
50
+ OFF: "OFF",
51
+ BLOCK_OFF: "OFF",
52
+ };
53
+ exports.GoogleAISafetyMethod = {
54
+ Severity: "SEVERITY",
55
+ Probability: "PROBABILITY",
56
+ };
package/dist/types.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import type { BaseLLMParams } from "@langchain/core/language_models/llms";
2
2
  import type { BaseChatModelCallOptions, BindToolsInput } from "@langchain/core/language_models/chat_models";
3
+ import { BaseMessage, BaseMessageChunk, MessageContent } from "@langchain/core/messages";
4
+ import { ChatGenerationChunk, ChatResult } from "@langchain/core/outputs";
3
5
  import type { JsonStream } from "./utils/stream.js";
4
6
  import { MediaManager } from "./experimental/utils/media_core.js";
7
+ import { AnthropicResponseData, AnthropicAPIConfig } from "./types-anthropic.js";
8
+ export * from "./types-anthropic.js";
5
9
  /**
6
10
  * Parameters needed to setup the client connection.
7
11
  * AuthOptions are something like GoogleAuthOptions (from google-auth-library)
@@ -33,10 +37,51 @@ export interface GoogleConnectionParams<AuthOptions> extends GoogleClientParams<
33
37
  */
34
38
  platformType?: GooglePlatformType;
35
39
  }
40
+ export declare const GoogleAISafetyCategory: {
41
+ readonly Harassment: "HARM_CATEGORY_HARASSMENT";
42
+ readonly HARASSMENT: "HARM_CATEGORY_HARASSMENT";
43
+ readonly HARM_CATEGORY_HARASSMENT: "HARM_CATEGORY_HARASSMENT";
44
+ readonly HateSpeech: "HARM_CATEGORY_HATE_SPEECH";
45
+ readonly HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH";
46
+ readonly HARM_CATEGORY_HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH";
47
+ readonly SexuallyExplicit: "HARM_CATEGORY_SEXUALLY_EXPLICIT";
48
+ readonly SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT";
49
+ readonly HARM_CATEGORY_SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT";
50
+ readonly Dangerous: "HARM_CATEGORY_DANGEROUS";
51
+ readonly DANGEROUS: "HARM_CATEGORY_DANGEROUS";
52
+ readonly HARM_CATEGORY_DANGEROUS: "HARM_CATEGORY_DANGEROUS";
53
+ readonly CivicIntegrity: "HARM_CATEGORY_CIVIC_INTEGRITY";
54
+ readonly CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY";
55
+ readonly HARM_CATEGORY_CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY";
56
+ };
57
+ export type GoogleAISafetyCategory = (typeof GoogleAISafetyCategory)[keyof typeof GoogleAISafetyCategory];
58
+ export declare const GoogleAISafetyThreshold: {
59
+ readonly None: "BLOCK_NONE";
60
+ readonly NONE: "BLOCK_NONE";
61
+ readonly BLOCK_NONE: "BLOCK_NONE";
62
+ readonly Few: "BLOCK_ONLY_HIGH";
63
+ readonly FEW: "BLOCK_ONLY_HIGH";
64
+ readonly BLOCK_ONLY_HIGH: "BLOCK_ONLY_HIGH";
65
+ readonly Some: "BLOCK_MEDIUM_AND_ABOVE";
66
+ readonly SOME: "BLOCK_MEDIUM_AND_ABOVE";
67
+ readonly BLOCK_MEDIUM_AND_ABOVE: "BLOCK_MEDIUM_AND_ABOVE";
68
+ readonly Most: "BLOCK_LOW_AND_ABOVE";
69
+ readonly MOST: "BLOCK_LOW_AND_ABOVE";
70
+ readonly BLOCK_LOW_AND_ABOVE: "BLOCK_LOW_AND_ABOVE";
71
+ readonly Off: "OFF";
72
+ readonly OFF: "OFF";
73
+ readonly BLOCK_OFF: "OFF";
74
+ };
75
+ export type GoogleAISafetyThreshold = (typeof GoogleAISafetyThreshold)[keyof typeof GoogleAISafetyThreshold];
76
+ export declare const GoogleAISafetyMethod: {
77
+ readonly Severity: "SEVERITY";
78
+ readonly Probability: "PROBABILITY";
79
+ };
80
+ export type GoogleAISafetyMethod = (typeof GoogleAISafetyMethod)[keyof typeof GoogleAISafetyMethod];
36
81
  export interface GoogleAISafetySetting {
37
- category: string;
38
- threshold: string;
39
- method?: string;
82
+ category: GoogleAISafetyCategory | string;
83
+ threshold: GoogleAISafetyThreshold | string;
84
+ method?: GoogleAISafetyMethod | string;
40
85
  }
41
86
  export type GoogleAIResponseMimeType = "text/plain" | "application/json";
42
87
  export interface GoogleAIModelParams {
@@ -117,7 +162,7 @@ export interface GoogleAIModelRequestParams extends GoogleAIModelParams {
117
162
  */
118
163
  allowed_function_names?: string[];
119
164
  }
120
- export interface GoogleAIBaseLLMInput<AuthOptions> extends BaseLLMParams, GoogleConnectionParams<AuthOptions>, GoogleAIModelParams, GoogleAISafetyParams, GeminiAPIConfig {
165
+ export interface GoogleAIBaseLLMInput<AuthOptions> extends BaseLLMParams, GoogleConnectionParams<AuthOptions>, GoogleAIModelParams, GoogleAISafetyParams, GoogleAIAPIParams {
121
166
  }
122
167
  export interface GoogleAIBaseLanguageModelCallOptions extends BaseChatModelCallOptions, GoogleAIModelRequestParams, GoogleAISafetyParams {
123
168
  /**
@@ -240,9 +285,10 @@ export interface GenerateContentResponseData {
240
285
  usageMetadata: Record<string, unknown>;
241
286
  }
242
287
  export type GoogleLLMModelFamily = null | "palm" | "gemini";
288
+ export type VertexModelFamily = GoogleLLMModelFamily | "claude";
243
289
  export type GoogleLLMResponseData = JsonStream | GenerateContentResponseData | GenerateContentResponseData[];
244
290
  export interface GoogleLLMResponse extends GoogleResponse {
245
- data: GoogleLLMResponseData;
291
+ data: GoogleLLMResponseData | AnthropicResponseData;
246
292
  }
247
293
  export interface GoogleAISafetyHandler {
248
294
  /**
@@ -265,7 +311,23 @@ export interface GeminiJsonSchemaDirty extends GeminiJsonSchema {
265
311
  properties?: Record<string, GeminiJsonSchemaDirty>;
266
312
  additionalProperties?: boolean;
267
313
  }
314
+ export type GoogleAIAPI = {
315
+ messageContentToParts?: (content: MessageContent) => Promise<GeminiPart[]>;
316
+ baseMessageToContent?: (message: BaseMessage, prevMessage: BaseMessage | undefined, useSystemInstruction: boolean) => Promise<GeminiContent[]>;
317
+ responseToString: (response: GoogleLLMResponse) => string;
318
+ responseToChatGeneration: (response: GoogleLLMResponse) => ChatGenerationChunk | null;
319
+ chunkToString: (chunk: BaseMessageChunk) => string;
320
+ responseToBaseMessage: (response: GoogleLLMResponse) => BaseMessage;
321
+ responseToChatResult: (response: GoogleLLMResponse) => ChatResult;
322
+ formatData: (input: unknown, parameters: GoogleAIModelRequestParams) => Promise<unknown>;
323
+ };
268
324
  export interface GeminiAPIConfig {
325
+ safetyHandler?: GoogleAISafetyHandler;
269
326
  mediaManager?: MediaManager;
327
+ useSystemInstruction?: boolean;
328
+ }
329
+ export type GoogleAIAPIConfig = GeminiAPIConfig | AnthropicAPIConfig;
330
+ export interface GoogleAIAPIParams {
331
+ apiName?: string;
332
+ apiConfig?: GoogleAIAPIConfig;
270
333
  }
271
- export {};
package/dist/types.js CHANGED
@@ -1 +1,39 @@
1
- export {};
1
+ export * from "./types-anthropic.js";
2
+ export const GoogleAISafetyCategory = {
3
+ Harassment: "HARM_CATEGORY_HARASSMENT",
4
+ HARASSMENT: "HARM_CATEGORY_HARASSMENT",
5
+ HARM_CATEGORY_HARASSMENT: "HARM_CATEGORY_HARASSMENT",
6
+ HateSpeech: "HARM_CATEGORY_HATE_SPEECH",
7
+ HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH",
8
+ HARM_CATEGORY_HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH",
9
+ SexuallyExplicit: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
10
+ SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
11
+ HARM_CATEGORY_SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
12
+ Dangerous: "HARM_CATEGORY_DANGEROUS",
13
+ DANGEROUS: "HARM_CATEGORY_DANGEROUS",
14
+ HARM_CATEGORY_DANGEROUS: "HARM_CATEGORY_DANGEROUS",
15
+ CivicIntegrity: "HARM_CATEGORY_CIVIC_INTEGRITY",
16
+ CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY",
17
+ HARM_CATEGORY_CIVIC_INTEGRITY: "HARM_CATEGORY_CIVIC_INTEGRITY",
18
+ };
19
+ export const GoogleAISafetyThreshold = {
20
+ None: "BLOCK_NONE",
21
+ NONE: "BLOCK_NONE",
22
+ BLOCK_NONE: "BLOCK_NONE",
23
+ Few: "BLOCK_ONLY_HIGH",
24
+ FEW: "BLOCK_ONLY_HIGH",
25
+ BLOCK_ONLY_HIGH: "BLOCK_ONLY_HIGH",
26
+ Some: "BLOCK_MEDIUM_AND_ABOVE",
27
+ SOME: "BLOCK_MEDIUM_AND_ABOVE",
28
+ BLOCK_MEDIUM_AND_ABOVE: "BLOCK_MEDIUM_AND_ABOVE",
29
+ Most: "BLOCK_LOW_AND_ABOVE",
30
+ MOST: "BLOCK_LOW_AND_ABOVE",
31
+ BLOCK_LOW_AND_ABOVE: "BLOCK_LOW_AND_ABOVE",
32
+ Off: "OFF",
33
+ OFF: "OFF",
34
+ BLOCK_OFF: "OFF",
35
+ };
36
+ export const GoogleAISafetyMethod = {
37
+ Severity: "SEVERITY",
38
+ Probability: "PROBABILITY",
39
+ };