feat(Cohere Chat Model Node): Add Cohere Chat Model node (#16888)

This commit is contained in:
oleg
2025-07-09 13:20:25 +02:00
committed by GitHub
parent 59704b4010
commit c37397cb2b
10 changed files with 604 additions and 10 deletions

View File

@@ -15,7 +15,7 @@ import { NodeConnectionTypes, NodeError, NodeOperationError } from 'n8n-workflow
import { logAiEvent } from '@utils/helpers';
import { estimateTokensFromStringList } from '@utils/tokenizer/token-estimator';
type TokensUsageParser = (llmOutput: LLMResult['llmOutput']) => {
type TokensUsageParser = (result: LLMResult) => {
completionTokens: number;
promptTokens: number;
totalTokens: number;
@@ -53,9 +53,9 @@ export class N8nLlmTracing extends BaseCallbackHandler {
options = {
// Default(OpenAI format) parser
tokensUsageParser: (llmOutput: LLMResult['llmOutput']) => {
const completionTokens = (llmOutput?.tokenUsage?.completionTokens as number) ?? 0;
const promptTokens = (llmOutput?.tokenUsage?.promptTokens as number) ?? 0;
tokensUsageParser: (result: LLMResult) => {
const completionTokens = (result?.llmOutput?.tokenUsage?.completionTokens as number) ?? 0;
const promptTokens = (result?.llmOutput?.tokenUsage?.promptTokens as number) ?? 0;
return {
completionTokens,
@@ -101,7 +101,7 @@ export class N8nLlmTracing extends BaseCallbackHandler {
promptTokens: 0,
totalTokens: 0,
};
const tokenUsage = this.options.tokensUsageParser(output.llmOutput);
const tokenUsage = this.options.tokensUsageParser(output);
if (output.generations.length > 0) {
tokenUsageEstimate.completionTokens = await this.estimateTokensFromGeneration(