@librechat/agents 3.1.28 → 3.1.29
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/cjs/common/enum.cjs +1 -0
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +277 -1
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/providers.cjs +14 -13
- package/dist/cjs/llm/providers.cjs.map +1 -1
- package/dist/esm/common/enum.mjs +1 -0
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +277 -2
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/providers.mjs +2 -1
- package/dist/esm/llm/providers.mjs.map +1 -1
- package/dist/types/common/enum.d.ts +2 -1
- package/dist/types/llm/openai/index.d.ts +13 -0
- package/dist/types/types/llm.d.ts +3 -1
- package/package.json +1 -1
- package/src/common/enum.ts +1 -0
- package/src/llm/openai/index.ts +347 -1
- package/src/llm/providers.ts +2 -0
- package/src/specs/deepseek.simple.test.ts +283 -0
- package/src/specs/moonshot.simple.test.ts +358 -0
- package/src/types/llm.ts +3 -0
- package/src/utils/llmConfig.ts +10 -0
package/dist/cjs/common/enum.cjs
CHANGED
|
@@ -70,6 +70,7 @@ exports.Providers = void 0;
|
|
|
70
70
|
Providers["DEEPSEEK"] = "deepseek";
|
|
71
71
|
Providers["OPENROUTER"] = "openrouter";
|
|
72
72
|
Providers["XAI"] = "xai";
|
|
73
|
+
Providers["MOONSHOT"] = "moonshot";
|
|
73
74
|
})(exports.Providers || (exports.Providers = {}));
|
|
74
75
|
exports.GraphNodeKeys = void 0;
|
|
75
76
|
(function (GraphNodeKeys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.cjs","sources":["../../../src/common/enum.ts"],"sourcesContent":["/**\n * Enum representing the various event types emitted during the execution of runnables.\n * These events provide real-time information about the progress and state of different components.\n *\n * @enum {string}\n */\nexport enum GraphEvents {\n /* Custom Events */\n\n /** [Custom] Agent update event in multi-agent graph/workflow */\n ON_AGENT_UPDATE = 'on_agent_update',\n /** [Custom] Delta event for run steps (message creation and tool calls) */\n ON_RUN_STEP = 'on_run_step',\n /** [Custom] Delta event for run steps (tool calls) */\n ON_RUN_STEP_DELTA = 'on_run_step_delta',\n /** [Custom] Completed event for run steps (tool calls) */\n ON_RUN_STEP_COMPLETED = 'on_run_step_completed',\n /** [Custom] Delta events for messages */\n ON_MESSAGE_DELTA = 'on_message_delta',\n /** [Custom] Reasoning Delta events for messages */\n ON_REASONING_DELTA = 'on_reasoning_delta',\n /** [Custom] Request to execute tools - dispatched by ToolNode, handled by host */\n ON_TOOL_EXECUTE = 'on_tool_execute',\n\n /* Official Events */\n\n /** Custom event, emitted by system */\n ON_CUSTOM_EVENT = 'on_custom_event',\n /** Emitted when a chat model starts processing. */\n CHAT_MODEL_START = 'on_chat_model_start',\n\n /** Emitted when a chat model streams a chunk of its response. */\n CHAT_MODEL_STREAM = 'on_chat_model_stream',\n\n /** Emitted when a chat model completes its processing. */\n CHAT_MODEL_END = 'on_chat_model_end',\n\n /** Emitted when a language model starts processing. */\n LLM_START = 'on_llm_start',\n\n /** Emitted when a language model streams a chunk of its response. */\n LLM_STREAM = 'on_llm_stream',\n\n /** Emitted when a language model completes its processing. */\n LLM_END = 'on_llm_end',\n\n /** Emitted when a chain starts processing. */\n CHAIN_START = 'on_chain_start',\n\n /** Emitted when a chain streams a chunk of its output. */\n CHAIN_STREAM = 'on_chain_stream',\n\n /** Emitted when a chain completes its processing. */\n CHAIN_END = 'on_chain_end',\n\n /** Emitted when a tool starts its operation. */\n TOOL_START = 'on_tool_start',\n\n /** Emitted when a tool completes its operation. */\n TOOL_END = 'on_tool_end',\n\n /** Emitted when a retriever starts its operation. */\n RETRIEVER_START = 'on_retriever_start',\n\n /** Emitted when a retriever completes its operation. */\n RETRIEVER_END = 'on_retriever_end',\n\n /** Emitted when a prompt starts processing. */\n PROMPT_START = 'on_prompt_start',\n\n /** Emitted when a prompt completes its processing. */\n PROMPT_END = 'on_prompt_end',\n}\n\nexport enum Providers {\n OPENAI = 'openAI',\n VERTEXAI = 'vertexai',\n BEDROCK = 'bedrock',\n ANTHROPIC = 'anthropic',\n MISTRALAI = 'mistralai',\n MISTRAL = 'mistral',\n GOOGLE = 'google',\n AZURE = 'azureOpenAI',\n DEEPSEEK = 'deepseek',\n OPENROUTER = 'openrouter',\n XAI = 'xai',\n}\n\nexport enum GraphNodeKeys {\n TOOLS = 'tools=',\n AGENT = 'agent=',\n ROUTER = 'router',\n PRE_TOOLS = 'pre_tools',\n POST_TOOLS = 'post_tools',\n}\n\nexport enum GraphNodeActions {\n TOOL_NODE = 'tool_node',\n CALL_MODEL = 'call_model',\n ROUTE_MESSAGE = 'route_message',\n}\n\nexport enum CommonEvents {\n LANGGRAPH = 'LangGraph',\n}\n\nexport enum StepTypes {\n TOOL_CALLS = 'tool_calls',\n MESSAGE_CREATION = 'message_creation',\n}\n\nexport enum ContentTypes {\n TEXT = 'text',\n ERROR = 'error',\n THINK = 'think',\n TOOL_CALL = 'tool_call',\n IMAGE_URL = 'image_url',\n IMAGE_FILE = 'image_file',\n /** Anthropic */\n THINKING = 'thinking',\n /** Vertex AI / Google Common */\n REASONING = 'reasoning',\n /** Multi-Agent Switch */\n AGENT_UPDATE = 'agent_update',\n /** Bedrock */\n REASONING_CONTENT = 'reasoning_content',\n}\n\nexport enum ToolCallTypes {\n FUNCTION = 'function',\n RETRIEVAL = 'retrieval',\n FILE_SEARCH = 'file_search',\n CODE_INTERPRETER = 'code_interpreter',\n /* Agents Tool Call */\n TOOL_CALL = 'tool_call',\n}\n\nexport enum Callback {\n TOOL_ERROR = 'handleToolError',\n TOOL_START = 'handleToolStart',\n TOOL_END = 'handleToolEnd',\n CUSTOM_EVENT = 'handleCustomEvent',\n /*\n LLM_START = 'handleLLMStart',\n LLM_NEW_TOKEN = 'handleLLMNewToken',\n LLM_ERROR = 'handleLLMError',\n LLM_END = 'handleLLMEnd',\n CHAT_MODEL_START = 'handleChatModelStart',\n CHAIN_START = 'handleChainStart',\n CHAIN_ERROR = 'handleChainError',\n CHAIN_END = 'handleChainEnd',\n TEXT = 'handleText',\n AGENT_ACTION = 'handleAgentAction',\n AGENT_END = 'handleAgentEnd',\n RETRIEVER_START = 'handleRetrieverStart',\n RETRIEVER_END = 'handleRetrieverEnd',\n RETRIEVER_ERROR = 'handleRetrieverError',\n */\n}\n\nexport enum Constants {\n OFFICIAL_CODE_BASEURL = 'https://api.librechat.ai/v1',\n EXECUTE_CODE = 'execute_code',\n TOOL_SEARCH = 'tool_search',\n PROGRAMMATIC_TOOL_CALLING = 'run_tools_with_code',\n WEB_SEARCH = 'web_search',\n CONTENT_AND_ARTIFACT = 'content_and_artifact',\n LC_TRANSFER_TO_ = 'lc_transfer_to_',\n /** Delimiter for MCP tools: toolName_mcp_serverName */\n MCP_DELIMITER = '_mcp_',\n}\n\nexport enum TitleMethod {\n STRUCTURED = 'structured',\n FUNCTIONS = 'functions',\n COMPLETION = 'completion',\n}\n\nexport enum EnvVar {\n CODE_API_KEY = 'LIBRECHAT_CODE_API_KEY',\n CODE_BASEURL = 'LIBRECHAT_CODE_BASEURL',\n}\n"],"names":["GraphEvents","Providers","GraphNodeKeys","GraphNodeActions","CommonEvents","StepTypes","ContentTypes","ToolCallTypes","Callback","Constants","TitleMethod","EnvVar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enum.cjs","sources":["../../../src/common/enum.ts"],"sourcesContent":["/**\n * Enum representing the various event types emitted during the execution of runnables.\n * These events provide real-time information about the progress and state of different components.\n *\n * @enum {string}\n */\nexport enum GraphEvents {\n /* Custom Events */\n\n /** [Custom] Agent update event in multi-agent graph/workflow */\n ON_AGENT_UPDATE = 'on_agent_update',\n /** [Custom] Delta event for run steps (message creation and tool calls) */\n ON_RUN_STEP = 'on_run_step',\n /** [Custom] Delta event for run steps (tool calls) */\n ON_RUN_STEP_DELTA = 'on_run_step_delta',\n /** [Custom] Completed event for run steps (tool calls) */\n ON_RUN_STEP_COMPLETED = 'on_run_step_completed',\n /** [Custom] Delta events for messages */\n ON_MESSAGE_DELTA = 'on_message_delta',\n /** [Custom] Reasoning Delta events for messages */\n ON_REASONING_DELTA = 'on_reasoning_delta',\n /** [Custom] Request to execute tools - dispatched by ToolNode, handled by host */\n ON_TOOL_EXECUTE = 'on_tool_execute',\n\n /* Official Events */\n\n /** Custom event, emitted by system */\n ON_CUSTOM_EVENT = 'on_custom_event',\n /** Emitted when a chat model starts processing. */\n CHAT_MODEL_START = 'on_chat_model_start',\n\n /** Emitted when a chat model streams a chunk of its response. */\n CHAT_MODEL_STREAM = 'on_chat_model_stream',\n\n /** Emitted when a chat model completes its processing. */\n CHAT_MODEL_END = 'on_chat_model_end',\n\n /** Emitted when a language model starts processing. */\n LLM_START = 'on_llm_start',\n\n /** Emitted when a language model streams a chunk of its response. */\n LLM_STREAM = 'on_llm_stream',\n\n /** Emitted when a language model completes its processing. */\n LLM_END = 'on_llm_end',\n\n /** Emitted when a chain starts processing. */\n CHAIN_START = 'on_chain_start',\n\n /** Emitted when a chain streams a chunk of its output. */\n CHAIN_STREAM = 'on_chain_stream',\n\n /** Emitted when a chain completes its processing. */\n CHAIN_END = 'on_chain_end',\n\n /** Emitted when a tool starts its operation. */\n TOOL_START = 'on_tool_start',\n\n /** Emitted when a tool completes its operation. */\n TOOL_END = 'on_tool_end',\n\n /** Emitted when a retriever starts its operation. */\n RETRIEVER_START = 'on_retriever_start',\n\n /** Emitted when a retriever completes its operation. */\n RETRIEVER_END = 'on_retriever_end',\n\n /** Emitted when a prompt starts processing. */\n PROMPT_START = 'on_prompt_start',\n\n /** Emitted when a prompt completes its processing. */\n PROMPT_END = 'on_prompt_end',\n}\n\nexport enum Providers {\n OPENAI = 'openAI',\n VERTEXAI = 'vertexai',\n BEDROCK = 'bedrock',\n ANTHROPIC = 'anthropic',\n MISTRALAI = 'mistralai',\n MISTRAL = 'mistral',\n GOOGLE = 'google',\n AZURE = 'azureOpenAI',\n DEEPSEEK = 'deepseek',\n OPENROUTER = 'openrouter',\n XAI = 'xai',\n MOONSHOT = 'moonshot',\n}\n\nexport enum GraphNodeKeys {\n TOOLS = 'tools=',\n AGENT = 'agent=',\n ROUTER = 'router',\n PRE_TOOLS = 'pre_tools',\n POST_TOOLS = 'post_tools',\n}\n\nexport enum GraphNodeActions {\n TOOL_NODE = 'tool_node',\n CALL_MODEL = 'call_model',\n ROUTE_MESSAGE = 'route_message',\n}\n\nexport enum CommonEvents {\n LANGGRAPH = 'LangGraph',\n}\n\nexport enum StepTypes {\n TOOL_CALLS = 'tool_calls',\n MESSAGE_CREATION = 'message_creation',\n}\n\nexport enum ContentTypes {\n TEXT = 'text',\n ERROR = 'error',\n THINK = 'think',\n TOOL_CALL = 'tool_call',\n IMAGE_URL = 'image_url',\n IMAGE_FILE = 'image_file',\n /** Anthropic */\n THINKING = 'thinking',\n /** Vertex AI / Google Common */\n REASONING = 'reasoning',\n /** Multi-Agent Switch */\n AGENT_UPDATE = 'agent_update',\n /** Bedrock */\n REASONING_CONTENT = 'reasoning_content',\n}\n\nexport enum ToolCallTypes {\n FUNCTION = 'function',\n RETRIEVAL = 'retrieval',\n FILE_SEARCH = 'file_search',\n CODE_INTERPRETER = 'code_interpreter',\n /* Agents Tool Call */\n TOOL_CALL = 'tool_call',\n}\n\nexport enum Callback {\n TOOL_ERROR = 'handleToolError',\n TOOL_START = 'handleToolStart',\n TOOL_END = 'handleToolEnd',\n CUSTOM_EVENT = 'handleCustomEvent',\n /*\n LLM_START = 'handleLLMStart',\n LLM_NEW_TOKEN = 'handleLLMNewToken',\n LLM_ERROR = 'handleLLMError',\n LLM_END = 'handleLLMEnd',\n CHAT_MODEL_START = 'handleChatModelStart',\n CHAIN_START = 'handleChainStart',\n CHAIN_ERROR = 'handleChainError',\n CHAIN_END = 'handleChainEnd',\n TEXT = 'handleText',\n AGENT_ACTION = 'handleAgentAction',\n AGENT_END = 'handleAgentEnd',\n RETRIEVER_START = 'handleRetrieverStart',\n RETRIEVER_END = 'handleRetrieverEnd',\n RETRIEVER_ERROR = 'handleRetrieverError',\n */\n}\n\nexport enum Constants {\n OFFICIAL_CODE_BASEURL = 'https://api.librechat.ai/v1',\n EXECUTE_CODE = 'execute_code',\n TOOL_SEARCH = 'tool_search',\n PROGRAMMATIC_TOOL_CALLING = 'run_tools_with_code',\n WEB_SEARCH = 'web_search',\n CONTENT_AND_ARTIFACT = 'content_and_artifact',\n LC_TRANSFER_TO_ = 'lc_transfer_to_',\n /** Delimiter for MCP tools: toolName_mcp_serverName */\n MCP_DELIMITER = '_mcp_',\n}\n\nexport enum TitleMethod {\n STRUCTURED = 'structured',\n FUNCTIONS = 'functions',\n COMPLETION = 'completion',\n}\n\nexport enum EnvVar {\n CODE_API_KEY = 'LIBRECHAT_CODE_API_KEY',\n CODE_BASEURL = 'LIBRECHAT_CODE_BASEURL',\n}\n"],"names":["GraphEvents","Providers","GraphNodeKeys","GraphNodeActions","CommonEvents","StepTypes","ContentTypes","ToolCallTypes","Callback","Constants","TitleMethod","EnvVar"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var openai$1 = require('openai');
|
|
4
|
-
var messages = require('@langchain/core/messages');
|
|
5
4
|
var xai = require('@langchain/xai');
|
|
6
5
|
var outputs = require('@langchain/core/outputs');
|
|
6
|
+
var messages = require('@langchain/core/messages');
|
|
7
7
|
require('@langchain/core/utils/function_calling');
|
|
8
8
|
var deepseek = require('@langchain/deepseek');
|
|
9
9
|
var openai = require('@langchain/openai');
|
|
@@ -428,6 +428,88 @@ class ChatDeepSeek extends deepseek.ChatDeepSeek {
|
|
|
428
428
|
static lc_name() {
|
|
429
429
|
return 'LibreChatDeepSeek';
|
|
430
430
|
}
|
|
431
|
+
_convertMessages(messages) {
|
|
432
|
+
return index._convertMessagesToOpenAIParams(messages, this.model, {
|
|
433
|
+
includeReasoningContent: true,
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
async _generate(messages, options, runManager) {
|
|
437
|
+
const params = this.invocationParams(options);
|
|
438
|
+
if (params.stream === true) {
|
|
439
|
+
return super._generate(messages, options ?? {}, runManager);
|
|
440
|
+
}
|
|
441
|
+
const messagesMapped = this._convertMessages(messages);
|
|
442
|
+
const data = await this.completionWithRetry({
|
|
443
|
+
...params,
|
|
444
|
+
stream: false,
|
|
445
|
+
messages: messagesMapped,
|
|
446
|
+
}, {
|
|
447
|
+
signal: options?.signal,
|
|
448
|
+
...options?.options,
|
|
449
|
+
});
|
|
450
|
+
const { completion_tokens, prompt_tokens, total_tokens } = data.usage ?? {};
|
|
451
|
+
const generations = [];
|
|
452
|
+
for (const part of data.choices ?? []) {
|
|
453
|
+
const text = part.message.content ?? '';
|
|
454
|
+
const generation = {
|
|
455
|
+
text: typeof text === 'string' ? text : '',
|
|
456
|
+
message: this._convertResponseToMessage(part, data),
|
|
457
|
+
};
|
|
458
|
+
generation.generationInfo = {
|
|
459
|
+
...(part.finish_reason != null
|
|
460
|
+
? { finish_reason: part.finish_reason }
|
|
461
|
+
: {}),
|
|
462
|
+
...(part.logprobs ? { logprobs: part.logprobs } : {}),
|
|
463
|
+
};
|
|
464
|
+
generations.push(generation);
|
|
465
|
+
}
|
|
466
|
+
return {
|
|
467
|
+
generations,
|
|
468
|
+
llmOutput: {
|
|
469
|
+
tokenUsage: {
|
|
470
|
+
completionTokens: completion_tokens,
|
|
471
|
+
promptTokens: prompt_tokens,
|
|
472
|
+
totalTokens: total_tokens,
|
|
473
|
+
},
|
|
474
|
+
},
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
_convertResponseToMessage(choice, data) {
|
|
478
|
+
const { message } = choice;
|
|
479
|
+
const rawToolCalls = message.tool_calls;
|
|
480
|
+
const toolCalls = rawToolCalls?.map((tc) => ({
|
|
481
|
+
id: tc.id,
|
|
482
|
+
name: tc.function.name,
|
|
483
|
+
args: JSON.parse(tc.function.arguments || '{}'),
|
|
484
|
+
type: 'tool_call',
|
|
485
|
+
}));
|
|
486
|
+
const additional_kwargs = {};
|
|
487
|
+
if (rawToolCalls) {
|
|
488
|
+
additional_kwargs.tool_calls = rawToolCalls;
|
|
489
|
+
}
|
|
490
|
+
if ('reasoning_content' in message &&
|
|
491
|
+
message.reasoning_content != null &&
|
|
492
|
+
message.reasoning_content !== '') {
|
|
493
|
+
additional_kwargs.reasoning_content = message.reasoning_content;
|
|
494
|
+
}
|
|
495
|
+
return new messages.AIMessage({
|
|
496
|
+
content: message.content ?? '',
|
|
497
|
+
tool_calls: toolCalls,
|
|
498
|
+
additional_kwargs,
|
|
499
|
+
usage_metadata: data.usage
|
|
500
|
+
? {
|
|
501
|
+
input_tokens: data.usage.prompt_tokens,
|
|
502
|
+
output_tokens: data.usage.completion_tokens,
|
|
503
|
+
total_tokens: data.usage.total_tokens,
|
|
504
|
+
}
|
|
505
|
+
: undefined,
|
|
506
|
+
response_metadata: {
|
|
507
|
+
model_name: data.model,
|
|
508
|
+
system_fingerprint: data.system_fingerprint,
|
|
509
|
+
finish_reason: choice.finish_reason,
|
|
510
|
+
},
|
|
511
|
+
});
|
|
512
|
+
}
|
|
431
513
|
_getClientOptions(options) {
|
|
432
514
|
if (!this.client) {
|
|
433
515
|
const openAIEndpointConfig = {
|
|
@@ -554,6 +636,199 @@ class ChatDeepSeek extends deepseek.ChatDeepSeek {
|
|
|
554
636
|
}
|
|
555
637
|
}
|
|
556
638
|
}
|
|
639
|
+
class ChatMoonshot extends ChatOpenAI {
|
|
640
|
+
static lc_name() {
|
|
641
|
+
return 'LibreChatMoonshot';
|
|
642
|
+
}
|
|
643
|
+
_convertMessages(messages) {
|
|
644
|
+
return index._convertMessagesToOpenAIParams(messages, this.model, {
|
|
645
|
+
includeReasoningContent: true,
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
async _generate(messages, options, runManager) {
|
|
649
|
+
const params = this.invocationParams(options);
|
|
650
|
+
if (params.stream === true) {
|
|
651
|
+
return super._generate(messages, options, runManager);
|
|
652
|
+
}
|
|
653
|
+
const messagesMapped = this._convertMessages(messages);
|
|
654
|
+
const data = await this.completionWithRetry({
|
|
655
|
+
...params,
|
|
656
|
+
stream: false,
|
|
657
|
+
messages: messagesMapped,
|
|
658
|
+
}, {
|
|
659
|
+
signal: options.signal,
|
|
660
|
+
...options.options,
|
|
661
|
+
});
|
|
662
|
+
const { completion_tokens, prompt_tokens, total_tokens } = data.usage ?? {};
|
|
663
|
+
const generations = [];
|
|
664
|
+
for (const part of data.choices ?? []) {
|
|
665
|
+
const text = part.message.content ?? '';
|
|
666
|
+
const generation = {
|
|
667
|
+
text: typeof text === 'string' ? text : '',
|
|
668
|
+
message: this._convertResponseToMessage(part, data),
|
|
669
|
+
};
|
|
670
|
+
generation.generationInfo = {
|
|
671
|
+
...(part.finish_reason ? { finish_reason: part.finish_reason } : {}),
|
|
672
|
+
...(part.logprobs ? { logprobs: part.logprobs } : {}),
|
|
673
|
+
};
|
|
674
|
+
generations.push(generation);
|
|
675
|
+
}
|
|
676
|
+
return {
|
|
677
|
+
generations,
|
|
678
|
+
llmOutput: {
|
|
679
|
+
tokenUsage: {
|
|
680
|
+
completionTokens: completion_tokens,
|
|
681
|
+
promptTokens: prompt_tokens,
|
|
682
|
+
totalTokens: total_tokens,
|
|
683
|
+
},
|
|
684
|
+
},
|
|
685
|
+
};
|
|
686
|
+
}
|
|
687
|
+
_convertResponseToMessage(choice, data) {
|
|
688
|
+
const { message } = choice;
|
|
689
|
+
const rawToolCalls = message.tool_calls;
|
|
690
|
+
const toolCalls = rawToolCalls?.map((tc) => ({
|
|
691
|
+
id: tc.id,
|
|
692
|
+
name: tc.function.name,
|
|
693
|
+
args: JSON.parse(tc.function.arguments || '{}'),
|
|
694
|
+
type: 'tool_call',
|
|
695
|
+
}));
|
|
696
|
+
const additional_kwargs = {};
|
|
697
|
+
if (rawToolCalls) {
|
|
698
|
+
additional_kwargs.tool_calls = rawToolCalls;
|
|
699
|
+
}
|
|
700
|
+
if ('reasoning_content' in message &&
|
|
701
|
+
message.reasoning_content != null &&
|
|
702
|
+
message.reasoning_content !== '') {
|
|
703
|
+
additional_kwargs.reasoning_content = message.reasoning_content;
|
|
704
|
+
}
|
|
705
|
+
return new messages.AIMessage({
|
|
706
|
+
content: message.content ?? '',
|
|
707
|
+
tool_calls: toolCalls,
|
|
708
|
+
additional_kwargs,
|
|
709
|
+
usage_metadata: data.usage
|
|
710
|
+
? {
|
|
711
|
+
input_tokens: data.usage.prompt_tokens,
|
|
712
|
+
output_tokens: data.usage.completion_tokens,
|
|
713
|
+
total_tokens: data.usage.total_tokens,
|
|
714
|
+
}
|
|
715
|
+
: undefined,
|
|
716
|
+
response_metadata: {
|
|
717
|
+
model_name: data.model,
|
|
718
|
+
system_fingerprint: data.system_fingerprint,
|
|
719
|
+
finish_reason: choice.finish_reason,
|
|
720
|
+
},
|
|
721
|
+
});
|
|
722
|
+
}
|
|
723
|
+
async *_streamResponseChunks(messages$1, options, runManager) {
|
|
724
|
+
const messagesMapped = index._convertMessagesToOpenAIParams(messages$1, this.model, {
|
|
725
|
+
includeReasoningContent: true,
|
|
726
|
+
});
|
|
727
|
+
const params = {
|
|
728
|
+
...this.invocationParams(options, {
|
|
729
|
+
streaming: true,
|
|
730
|
+
}),
|
|
731
|
+
messages: messagesMapped,
|
|
732
|
+
stream: true,
|
|
733
|
+
};
|
|
734
|
+
let defaultRole;
|
|
735
|
+
const streamIterable = await this.completionWithRetry(params, options);
|
|
736
|
+
let usage;
|
|
737
|
+
for await (const data of streamIterable) {
|
|
738
|
+
const choice = data.choices[0];
|
|
739
|
+
if (data.usage) {
|
|
740
|
+
usage = data.usage;
|
|
741
|
+
}
|
|
742
|
+
if (!choice) {
|
|
743
|
+
continue;
|
|
744
|
+
}
|
|
745
|
+
const { delta } = choice;
|
|
746
|
+
if (!delta) {
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
749
|
+
const chunk = this._convertOpenAIDeltaToBaseMessageChunk(delta, data, defaultRole);
|
|
750
|
+
if ('reasoning_content' in delta) {
|
|
751
|
+
chunk.additional_kwargs.reasoning_content = delta.reasoning_content;
|
|
752
|
+
}
|
|
753
|
+
defaultRole = delta.role ?? defaultRole;
|
|
754
|
+
const newTokenIndices = {
|
|
755
|
+
prompt: options.promptIndex ?? 0,
|
|
756
|
+
completion: choice.index ?? 0,
|
|
757
|
+
};
|
|
758
|
+
if (typeof chunk.content !== 'string') {
|
|
759
|
+
// eslint-disable-next-line no-console
|
|
760
|
+
console.log('[WARNING]: Received non-string content from OpenAI. This is currently not supported.');
|
|
761
|
+
continue;
|
|
762
|
+
}
|
|
763
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
764
|
+
const generationInfo = { ...newTokenIndices };
|
|
765
|
+
if (choice.finish_reason != null) {
|
|
766
|
+
generationInfo.finish_reason = choice.finish_reason;
|
|
767
|
+
generationInfo.system_fingerprint = data.system_fingerprint;
|
|
768
|
+
generationInfo.model_name = data.model;
|
|
769
|
+
generationInfo.service_tier = data.service_tier;
|
|
770
|
+
}
|
|
771
|
+
if (this.logprobs == true) {
|
|
772
|
+
generationInfo.logprobs = choice.logprobs;
|
|
773
|
+
}
|
|
774
|
+
const generationChunk = new outputs.ChatGenerationChunk({
|
|
775
|
+
message: chunk,
|
|
776
|
+
text: chunk.content,
|
|
777
|
+
generationInfo,
|
|
778
|
+
});
|
|
779
|
+
yield generationChunk;
|
|
780
|
+
if (this._lc_stream_delay != null) {
|
|
781
|
+
await run.sleep(this._lc_stream_delay);
|
|
782
|
+
}
|
|
783
|
+
await runManager?.handleLLMNewToken(generationChunk.text || '', newTokenIndices, undefined, undefined, undefined, { chunk: generationChunk });
|
|
784
|
+
}
|
|
785
|
+
if (usage) {
|
|
786
|
+
const inputTokenDetails = {
|
|
787
|
+
...(usage.prompt_tokens_details?.audio_tokens != null && {
|
|
788
|
+
audio: usage.prompt_tokens_details.audio_tokens,
|
|
789
|
+
}),
|
|
790
|
+
...(usage.prompt_tokens_details?.cached_tokens != null && {
|
|
791
|
+
cache_read: usage.prompt_tokens_details.cached_tokens,
|
|
792
|
+
}),
|
|
793
|
+
};
|
|
794
|
+
const outputTokenDetails = {
|
|
795
|
+
...(usage.completion_tokens_details?.audio_tokens != null && {
|
|
796
|
+
audio: usage.completion_tokens_details.audio_tokens,
|
|
797
|
+
}),
|
|
798
|
+
...(usage.completion_tokens_details?.reasoning_tokens != null && {
|
|
799
|
+
reasoning: usage.completion_tokens_details.reasoning_tokens,
|
|
800
|
+
}),
|
|
801
|
+
};
|
|
802
|
+
const generationChunk = new outputs.ChatGenerationChunk({
|
|
803
|
+
message: new messages.AIMessageChunk({
|
|
804
|
+
content: '',
|
|
805
|
+
response_metadata: {
|
|
806
|
+
usage: { ...usage },
|
|
807
|
+
},
|
|
808
|
+
usage_metadata: {
|
|
809
|
+
input_tokens: usage.prompt_tokens,
|
|
810
|
+
output_tokens: usage.completion_tokens,
|
|
811
|
+
total_tokens: usage.total_tokens,
|
|
812
|
+
...(Object.keys(inputTokenDetails).length > 0 && {
|
|
813
|
+
input_token_details: inputTokenDetails,
|
|
814
|
+
}),
|
|
815
|
+
...(Object.keys(outputTokenDetails).length > 0 && {
|
|
816
|
+
output_token_details: outputTokenDetails,
|
|
817
|
+
}),
|
|
818
|
+
},
|
|
819
|
+
}),
|
|
820
|
+
text: '',
|
|
821
|
+
});
|
|
822
|
+
yield generationChunk;
|
|
823
|
+
if (this._lc_stream_delay != null) {
|
|
824
|
+
await run.sleep(this._lc_stream_delay);
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
if (options.signal?.aborted === true) {
|
|
828
|
+
throw new Error('AbortError');
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
557
832
|
class ChatXAI extends xai.ChatXAI {
|
|
558
833
|
_lc_stream_delay;
|
|
559
834
|
constructor(fields) {
|
|
@@ -742,6 +1017,7 @@ class ChatXAI extends xai.ChatXAI {
|
|
|
742
1017
|
|
|
743
1018
|
exports.AzureChatOpenAI = AzureChatOpenAI;
|
|
744
1019
|
exports.ChatDeepSeek = ChatDeepSeek;
|
|
1020
|
+
exports.ChatMoonshot = ChatMoonshot;
|
|
745
1021
|
exports.ChatOpenAI = ChatOpenAI;
|
|
746
1022
|
exports.ChatXAI = ChatXAI;
|
|
747
1023
|
exports.CustomAzureOpenAIClient = CustomAzureOpenAIClient;
|