Inicio de la guía 1. Topología de la solución 2. Aspire como plano de control local 3. Configuración y contratos compartidos 4. Metadatos con SQLite y EF Core 5. API e interfaz de carga 6. Almacenamiento de objetos con MinIO 7. Pipeline de ingesta del worker 8. Extracción y división de texto 9. Artefactos literarios 10. Abstracciones de proveedores de IA 11. Almacenamiento vectorial con Qdrant 12. Flujo de preguntas y recuperación 13. Prompts y citas 14. Pruebas del pipeline 15. Notas de desarrollo local Todas las guías
Navegación de la guíaÍndice y capítulos
Capítulo 10

Abstracciones de proveedores de IA

El proyecto soporta Ollama y Gemini mediante implementaciones de proveedores:

Nota de traducción: Esta versión en español fue traducida con ayuda de un LLM y revisada para conservar los términos técnicos, el código y los nombres de archivos en inglés cuando corresponde.
Imagen decorativa del capítulo sobre Abstracciones de proveedores de IA
La superficie neutral al proveedor
IEmbeddingProvider
IChatCompletionProvider
ILiteraryAnalysisProvider

El proyecto soporta Ollama y Gemini mediante implementaciones de proveedores:

La selección de proveedor ocurre en ServiceCollectionExtensions.AddAiProviders.

El resto del código depende solo de:

IEmbeddingProvider
IChatCompletionProvider
ILiteraryAnalysisProvider

Eso significa que agregar otro proveedor debería ser un cambio enfocado:

  1. implementar las interfaces del proveedor;
  2. agregar una rama de configuración en AddAiProviders;
  3. definir la URL base, nombres de modelos y fuente de API key específicas del proveedor.

Un proveedor futuro para Azure OpenAI, AWS Bedrock, Vertex AI u OpenAI no debería requerir cambios en el servicio de ingesta, endpoints de API ni orquestación del worker.