@rexdug7005/nvidia-llama4
Version:
Integración de NVIDIA Llama4 con LangChain.js
71 lines (70 loc) • 2.75 kB
TypeScript
import { BaseChatModel, BaseChatModelCallOptions, BaseChatModelParams } from "@langchain/core/language_models/chat_models";
import { BaseMessage } from "@langchain/core/messages";
import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
import { ChatGeneration, ChatGenerationChunk } from "@langchain/core/outputs";
import { NvidiaCamelCaseOptions } from "./utils.js";
/**
* Interfaz para las opciones de entrada del modelo de chat
*/
export interface ChatNvidiaLlama4Input extends BaseChatModelParams {
/** Clave API para NVIDIA Llama4 */
apiKey: string;
/** URL para las llamadas a la API. Por defecto es la URL de NVIDIA para chat */
baseUrl?: string;
/** El modelo a utilizar (por defecto: meta/llama-4-maverick-17b-128e-instruct) */
model?: string;
/** Habilitar o deshabilitar streaming */
streaming?: boolean;
/** Temperatura para la generación de texto (0-1) */
temperature?: number;
/** Número máximo de tokens a generar */
maxTokens?: number;
/** Valor de Top-P para muestreo de tokens */
topP?: number;
/** Valor de Top-K para muestreo de tokens */
topK?: number;
/** Penalización por presencia */
presencePenalty?: number;
/** Penalización por frecuencia */
frequencyPenalty?: number;
/** Tokens de parada */
stop?: string[];
}
/**
* Interfaz para las opciones de llamada del modelo de chat
*/
export interface ChatNvidiaLlama4CallOptions extends BaseChatModelCallOptions, NvidiaCamelCaseOptions {
/** Lista de URLs de imágenes en formato base64 para entrada multimodal */
images?: string[];
}
/**
* Implementación del modelo de chat NVIDIA Llama4 para LangChain
*/
export declare class ChatNvidiaLlama4 extends BaseChatModel<ChatNvidiaLlama4CallOptions> {
apiKey: string;
baseUrl: string;
modelName: string;
defaultOptions: NvidiaCamelCaseOptions;
streaming: boolean;
static lc_name(): string;
constructor(fields: ChatNvidiaLlama4Input);
_llmType(): string;
/**
* Obtiene los parámetros para la llamada a la API
*/
private getParams;
/**
* Genera una respuesta sincrónica (no streaming)
*/
_generate(messages: BaseMessage[], options: ChatNvidiaLlama4CallOptions): Promise<{
generations: ChatGeneration[];
}>;
/**
* Procesa la respuesta de streaming de la API
*/
_streamResponseChunks(messages: BaseMessage[], options: ChatNvidiaLlama4CallOptions, runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
/**
* Implementación del método _call requerido para los modelos de chat
*/
_call(messages: BaseMessage[], options: ChatNvidiaLlama4CallOptions): Promise<string>;
}