LM-Kit.NET 2026.4.3

Released: Apr 17, 2026

2026.4.3 버젼 업데이트

기능

  • Added ImageDetail property to IConversation and VlmOcr (LMKit.TextGeneration, LMKit.Extraction.Ocr): controls the pixel budget used when processing images for vision models. Accepts a member of the ImageDetail enumeration (Minimal, Low, Standard, High, Maximal). Default is High. Available on MultiTurnConversation, SingleTurnConversation, AgentExecutor, RagChat, PdfChat, and VlmOcr.
  • Added TranslationProgress event to TextTranslation (LMKit.Translation): reports chunk-level progress (ChunkIndex, TotalChunks, TranslatedChunk) during text translation, with a Stop flag to abort remaining chunks.
  • Added model card for gemma4:31b: Google Gemma 4 31B dense model with 256K context, hybrid sliding/global attention, vision, tool calling, and reasoning support.
  • Added session persistence to PdfChat (LMKit.Retrieval): SaveSession() and SaveSession(string) serialize the full conversation state, loaded documents, passage retrieval indices, and configuration. Restore via new PdfChat(chatModel, embeddingModel, sessionData) or the file path overload.
  • Added SkipThinking flag to AfterTextCompletionEventArgs (LMKit.TextGeneration.Events): when set during an InternalReasoning segment, the model immediately ends its thinking phase and begins generating the user-visible answer. The thinking suffix tokens are injected automatically.
  • Changed default MaximumCompletionTokens from 2048 to -1 (unlimited): applies to MultiTurnConversation, SingleTurnConversation, PdfChat, RagChat, and AgentExecutionOptions. Set a positive value to restore a cap.
  • Added delegation events on SupervisorOrchestrator (LMKit.Agents.Orchestration): BeforeDelegation, AfterDelegation, and WorkerTextCompletion events let consumers observe the delegation lifecycle and stream worker text directly from the orchestrator, without reaching into Agent.EnableDelegation() or the internal DelegateTool. Events fire in both streaming and non-streaming orchestration.
  • Improved inference speed.
  • Improved text translation quality.
  • Improved text rewriting quality.
  • Improved Gemma Translate support.
  • Breaking Change: AfterTextCompletion delegate signature changed: added ref bool skipThinking parameter. Callers implementing the ModelController.AfterTextCompletion delegate must update their signatures.
  • Breaking Change: TextTranslation.AfterTextCompletion event removed: replaced by TranslationProgress. Migrate from AfterTextCompletionEventArgs.Text to TranslationProgressEventArgs.TranslatedChunk.

수정사항

  • SupervisorOrchestrator now emits OrchestrationStreamTokenType.Delegation tokens (LMKit.Agents.Orchestration): when the supervisor delegates to a worker via the delegate_to_agent tool, streaming consumers now receive a typed Delegation token (with from_agent, to_agent, and task metadata) immediately before the worker's AgentStarted token. Previously this token type was defined but never emitted, forcing UI code to infer delegation by parsing ToolCall metadata.
  • Agent.EnableDelegation() is now idempotent (LMKit.Agents): repeated calls return the same DelegateTool instance instead of constructing a new one and overwriting the prior registration. BeforeDelegation, AfterDelegation, and AfterTextCompletion handlers subscribed before wrapping the agent in a SupervisorOrchestrator now fire reliably during orchestration. Added DelegateTool.ToolName constant ("delegate_to_agent") for registry lookups.