Abstracciones de proveedores de IA
El proyecto soporta Ollama y Gemini mediante implementaciones de proveedores:
La superficie neutral al proveedor
IEmbeddingProvider
IChatCompletionProvider
ILiteraryAnalysisProviderEl proyecto soporta Ollama y Gemini mediante implementaciones de proveedores:
OllamaEmbeddingProviderOllamaChatCompletionProviderOllamaLiteraryAnalysisProviderGeminiEmbeddingProviderGeminiChatCompletionProviderGeminiLiteraryAnalysisProvider
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:
- implementar las interfaces del proveedor;
- agregar una rama de configuración en
AddAiProviders; - 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.