Gesgocom.NeuraNetGes 1.5.12
🧠 NeuraNetGes v1.5.12
Librería .NET empresarial para la orquestación unificada de Large Language Models (LLM), Agentic RAG y Sistemas de Enjambres Multi-Agente.
Diseñada para entornos de alta carga con soporte nativo de seguridad (Guardrails), persistencia en PostgreSQL y gestión asíncrona de contexto.
Novedades v1.5.12 — Blindaje de seguridad (Fase 1) + IChatClient
IChatClientde Microsoft.Extensions.AI 🆕:llmService.AsChatClient(LLMProvider.Anthropic, "claude-sonnet-5")expone NeuraNetGes como cliente estándar del ecosistema .NET (Agent Framework, evals, middleware de telemetría/caching). Chat, streaming, structured output y usage de tokens; compatible conGuardedLLMService.- Anti-ReDoS: todas las regex de Guards llevan ahora
matchTimeout(250 ms) vía la fábricaGuardRegex— una entrada hostil bloquea la petición en vez de congelar el hilo. SafeLog.Redact(ex)🆕: las excepciones de SDKs se redactan antes de loguearse (API keys, tokens, passwords) en 28 puntos de la librería.ToolExecutorcorregido:GlobalTimeoutyMaxParallelismde la política se respetan por fin; tope de 256 KB para argumentos de tools; JSON del LLM parseado conMaxDepthacotado.- Fix importante de DI: las tools registradas con
AddNeuraNetGesTools(configureTools)no llegaban al contenedor real (se configuraba un registry temporal descartado). Corregido. GenericRequest.Clone()🆕: clonación completa centralizada (los guards ya no pierdenToolMetadata,NivelPensamientoni imágenes adicionales).- ⚠️ Cambios de comportamiento deliberados: documentos > 20 MB o conversiones > 30 s lanzan excepción (configurable en
DocumentConversionOptions); claves de filtros JSONB con comillas, barras o;se rechazan (letras/dígitos Unicode y espacios sí se admiten). - Revisión cruzada post-implementación: el diff fue auditado por Codex y Google Antigravity y sus hallazgos (streams no posicionables en Azure,
ChatOptions.Instructions, tope en ingesta directa, regex de conversores…) quedaron corregidos. Detalle y 56 tests nuevos: Documentación/12-implementacion-blindaje-2026.md.
Novedades v1.5.12 — Actualización de dependencias y hoja de ruta 2026
- 25+ paquetes actualizados a última versión estable (OpenAI 2.12.0, Anthropic 12.35.1, Google.GenAI 1.12.0, ReverseMarkdown 6.1.0, Microsoft.Extensions.* 10.0.9…), con migración al nuevo API de configuración de ReverseMarkdown 6.x en los tres conversores de documentos. Compilación con 0 warnings y sin vulnerabilidades.
- Aviso Anthropic: los modelos posteriores a Claude Opus 4.6 rechazan
Temperature != 1.0(error 400). La librería solo envíaTemperaturesi se fija explícitamente en la petición. - Ingesta de documentos blindada (hallazgo S3 de la auditoría): los conversores PDF/DOCX/HTML/Azure validan ahora el tamaño de entrada y aplican timeout por conversión. Nuevas opciones en
DocumentConversionOptions:MaxInputSizeBytes(por defecto 20 MB; 0 o negativo = sin límite, lanzaInvalidOperationExceptionsi se supera) yConversionTimeout(por defecto 30 s;TimeSpan.Zeroo negativo = sin timeout, lanzaTimeoutExceptionsi vence). Cambios 100 % aditivos y retrocompatibles. - Auditoría técnica completa con hallazgos verificados de seguridad y arquitectura: Documentación/10-auditoria-julio-2026.md.
- Plan de mejoras 2026 en 4 fases (blindaje de seguridad → IChatClient/OpenTelemetry/resiliencia → RAG híbrido con reranking → MCP y evals): Documentación/11-plan-de-mejoras-2026.md.
Novedades v1.5.9 — Multi-Agent SDK Avanzado
Seis piezas nuevas que extienden el patrón Agent-As-A-Tool original sin breaking changes:
- Argumentos tipados —
TypedAgentBuilder.CreateTypedToolFromAgentpermite definir un JSON Schema arbitrario para el sub-agente (no solo{query}) y unPromptBuilderque materializa los argumentos al prompt natural. - Handoff con historial conversacional —
HistoryProvideropcional enTypedAgentBuilder: el sub-agente arranca con los mensajes previos que se le inyecten antes de su nuevo turno. - Memoria persistente por agente —
StatefulAgentBuilder.CreateStatefulToolFromAgentenvuelve un sub-agente sobreIConversacionManager: cada uno tiene su propia conversación PostgreSQL y se beneficia de Memory 3.0 (condensación asíncrona). - Métricas agregadas jefe + sub-agentes —
IAgentMetricsAggregatorthread-safe (basado enConcurrentQueue). Resuelto vía DI o pasado explícitamente al builder. Reporta tokens, latencia, fallos y desglose por agente. - Grafos DAG explícitos (tipo LangGraph) —
AgentGraph+AgentGraphRunnercon orden topológico (Kahn), paralelismo automático por nivel, ramas condicionales, políticaFailFasto ejecución parcial, e integración con métricas. - Salvaguarda anti-bucles A→B→A —
AgentCallStackTrackerdetecta ciclos (case-insensitive) y profundidad excesiva (MaxDepth = 10) antes de gastar un solo token. Activo por defecto en los tres builders.
Manual técnico completo en Documentación/09-multi-agent-sdk-avanzado.md.
Compatibilidad: la firma original AgentBuilder.CreateToolFromAgent(name, desc, llm, blueprint) no cambia, pero ahora reporta automáticamente al aggregator del DI y aplica el call-stack tracker. 30 tests unitarios nuevos en NeuraNetGes.Tests/Tools/MultiAgent/.
Novedades v1.5.0 (docs)
- Documentación
/docscompletamente actualizada a v1.5.0: versiones SDK, Azure migration (Azure.AI.Extensions.OpenAI), Spark/BGE-M3, Extended Thinking GA, streaming Anthropic,AzureContentSafetyGuard,CountTokensAsyncy tabla de compatibilidad ampliada.
Novedades v1.5.0
- Anthropic streaming real:
ChatCompletionStreamAsyncusa ahoraCreateStreaming()del SDK 12.10+ para emitir tokens en tiempo real (antes usaba un fallback síncrono). LosThinkingDeltase filtran automáticamente. - Extended Thinking GA en Claude: Soporte completo de
NivelDePensamientoconThinkingConfigEnabled(Mínimo=1024t, Medio=8000t, Máximo=20000t) yThinkingConfigAdaptive. Ya en la API estable del SDK (sin.Beta). - Tokenizador Claude nativo:
CountTokensAsyncusa el tokenizador oficial de Claude de SharpToken 2.0.6 (encoding "claude") en lugar de la estimaciónlength/3.5. - Gemini server-side tool invocations: Activado
IncludeServerSideToolInvocationspara recibir resultados de tools MCP server-side, Google Search y Code Execution. - Actualización SDK Azure Foundry: Migrado de
Azure.AI.Projects.OpenAI(deprecado) aAzure.AI.Extensions.OpenAI2.0.0 GA. MétodoGetProjectOpenAIClient()→ propiedadProjectOpenAIClient. - Todos los SDKs de proveedores actualizados a sus últimas versiones estables (OpenAI 2.10.0, Google.GenAI 1.6.1, Anthropic 12.11.0, Azure.AI.Projects 2.0.0).
Novedades v1.4.0
- Spark BGE-M3 como proveedor RAG: Nuevo
RagEmbeddingProvider.Sparkque integra BGE-M3 (1024 dims) en el pipeline RAG a coste cero via hardware local. - Agentic RAG: Búsqueda vectorial activa donde el LLM decide qué investigar.
- Multi-Agent SDK: Crea enjambres donde un LLM puede delegar tareas a otros sub-LLMs especializados.
- Guardrails de Seguridad: Protección contra inyecciones de prompt, PII y fugas de secretos.
- Memory 3.0: Condensación asíncrona de contexto para mantener costes bajos en chats largos.
🚀 ¿Qué es NeuraNetGes?
NeuraNetGes es más que un simple cliente para APIs de IA. Es un Framework de Orquestación que permite construir aplicaciones inteligentes, seguras y escalables utilizando los mejores proveedores del mercado (OpenAI, Gemini, Anthropic, Grok, Groq, Azure Foundry y Spark) bajo una única interfaz unificada.
Proveedores de Embeddings RAG
| Proveedor | Modelo | Dimensiones | Coste |
|---|---|---|---|
| Spark | BGE-M3 | 1024 | Cero (hardware local) |
| Azure Foundry | text-embedding-3-large | 3072 | Por uso |
| OpenAI | text-embedding-3-small/large | 1536/3072 | Por uso |
| Google Gemini | gemini-embedding-001 | 768/1536/3072 | Por uso |
📖 Índice de Documentación Técnica
Para profundizar en cada módulo, consulta nuestras guías detalladas en el directorio /docs:
- Arquitectura General: Visión de alto nivel y diseño del sistema.
- Módulo LLM: Cómo conectar con OpenAI, Gemini, Anthropic, Grok y Azure Foundry.
- Seguridad y Guardrails: Blindaje de prompts y validación de salidas.
- Gestión de Contexto: Persistencia en DB y optimización de memoria.
- Motor de Herramientas (Tools): Ejecución de funciones C# y Tool Calling.
- Sistema RAG (Vectorial): Embeddings, pgvector y recuperación semántica.
- Guía de Integración RAG: Manual paso a paso para configurar tu Base de Conocimientos.
- Multi-Agent SDK (Swarm): Cómo crear enjambres de agentes colaborativos.
- Posibilidades del RAG: Casos de uso avanzados y estrategias de recuperación.
- SparkClient: Cliente .NET para los 5 servicios del Nvidia Spark: Chat RAG (Qwen3.5-122B), Embeddings (BGE-M3), Reranker, NER y Chatbot multimodal (Gemma 4 E2B).
- Multi-Agent SDK Avanzado: Argumentos tipados, handoff con historial, memoria persistente, métricas agregadas, grafos DAG y salvaguarda anti-bucles.
🖥️ Gesgocom.SparkClient — Hardware Local (Nvidia Spark)
Gesgocom.SparkClient es el cliente .NET para los cinco servicios de IA desplegados en hardware propio (Nvidia Spark vía Tailscale). Disponible como NuGet independiente:
dotnet add package Gesgocom.SparkClient
| Servicio | Modelo | Puerto | Uso |
|---|---|---|---|
| Chat RAG | Qwen3.5-122B-A10B-GPTQ-Int4 | 8000 | Completions + streaming + tool calling |
| Embedding | BGE-M3 (1024 dims) | 8001 | Vectores semánticos, coste cero |
| Reranker | BGE-Reranker-v2-m3 | 8002 | Reordenación por relevancia |
| NER | BSC-LT RoBERTa | 8003 | Extracción PER, LOC, ORG |
| Chatbot | Gemma 4 E2B | 8004 | Conversacional + multimodal (texto, imagen) |
// Sin DI — todos los servicios de un golpe
var spark = new SparkClient(); // host por defecto: http://spark-a4ce
var reply = await spark.Chat.CompleteAsync([SparkChatMessage.User("Explica el RGPD")]);
var vecs = await spark.Embedding.EmbedBatchAsync(["texto1", "texto2"]);
var ranked = await spark.Reranker.RerankAsync("contrato menor", docs, topN: 5);
var ents = await spark.Ner.AnalyzeAsync("Ana García trabaja en Madrid.");
var vision = await spark.Chatbot.CompleteAsync([SparkChatMessage.UserWithImage("¿Qué ves?", imageUrl)]);
Consulta la guía completa del SparkClient para uso con DI, timeouts, streaming, tool calling y mensajes multimodales.
🛠️ Inicio Rápido
1. Instalación
dotnet add package Gesgocom.NeuraNetGes
2. Configuración Mínima
builder.Services.AddNeuraNetGes(options => {
options.OpenAIApiKey = "tu_clave";
options.AnthropicApiKey = "tu_clave";
options.AzureFoundryEndpoint = "https://tu-endpoint.models.ai.azure.com";
// (Opcional) Extracción avanzada de PDFs con Azure Document Intelligence
options.AzureDocumentIntelligenceEndpoint = "https://tu-document-intelligence.cognitiveservices.azure.com";
});
3. Tu primer Agente con Herramientas
var request = new GenericRequest {
Model = "gpt-5-mini",
Prompt = "¿Qué hora es en Madrid?",
ToolsEnabled = true
};
// Registro automático de herramientas estándar (Reloj, Disco Duro, etc.)
_toolRegistry.RegisterStandardTools();
var response = await _llmService.ChatCompletionAsync(request);
Console.WriteLine(response.Content);
🎯 ¿Por qué elegir NeuraNetGes?
| Beneficio | NeuraNetGes | Otros Wrappers |
|---|---|---|
| Agnóstico al Proveedor | ✅ | ❌ |
| Seguridad Nativa | ✅ | ❌ |
| Gestión de Memoria en DB | ✅ | ❌ |
| Orquestación Multi-Agente | ✅ | ❌ |
| RAG Correctivo (C-RAG) | ✅ | ❌ |
📄 Licencia y Contribución
Este proyecto es propiedad de Gescom. Para más detalles sobre cambios recientes, consulta el CHANGELOG.md.
"Construyendo el futuro de la IA agéntica en .NET"
No packages depend on Gesgocom.NeuraNetGes.
.NET 10.0
- AngleSharp (>= 1.5.2)
- SharpToken (>= 2.0.6)
- ReverseMarkdown (>= 6.1.0)
- PdfPig (>= 0.1.15)
- OpenAI (>= 2.12.0)
- Npgsql (>= 10.0.3)
- Newtonsoft.Json (>= 13.0.4)
- Microsoft.ML.Tokenizers.Data.O200kBase (>= 2.0.0)
- Microsoft.ML.Tokenizers.Data.Cl100kBase (>= 2.0.0)
- Microsoft.ML.Tokenizers (>= 2.0.0)
- Microsoft.Extensions.Options (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.Caching.Memory (>= 10.0.9)
- Microsoft.Extensions.AI.Abstractions (>= 10.7.0)
- Microsoft.Bcl.Memory (>= 10.0.9)
- Markdig (>= 1.3.2)
- Google.GenAI (>= 1.12.0)
- Gesgocom.SparkClient (>= 1.2.2)
- Gesgocom.MicroOrmGesg (>= 1.3.0)
- DocumentFormat.OpenXml (>= 3.5.1)
- Dapper (>= 2.1.79)
- Azure.Identity (>= 1.21.0)
- Azure.AI.Projects (>= 2.0.1)
- Azure.AI.Extensions.OpenAI (>= 2.0.0)
- Azure.AI.DocumentIntelligence (>= 1.0.0)
- Azure.AI.ContentSafety (>= 1.0.0)
- Anthropic (>= 12.35.1)