UNPKG

@rexdug7005/nvidia-llama4

Version:

Integración de NVIDIA Llama4 con LangChain.js

71 lines (70 loc) 2.75 kB
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>; }