feat(ai): IEmbeddingProvider foundation (#18)
CI / backend (push) Successful in 52s
CI / frontend (push) Successful in 14s
Deploy Staging / deploy (push) Successful in 26s
CI / backend (pull_request) Successful in 53s
CI / frontend (pull_request) Successful in 16s
Security / secrets (push) Successful in 4s
Security / dependencies (push) Successful in 55s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 53s
CI / backend (push) Successful in 52s
CI / frontend (push) Successful in 14s
Deploy Staging / deploy (push) Successful in 26s
CI / backend (pull_request) Successful in 53s
CI / frontend (pull_request) Successful in 16s
Security / secrets (push) Successful in 4s
Security / dependencies (push) Successful in 55s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 53s
This commit was merged in pull request #18.
This commit is contained in:
@@ -67,13 +67,23 @@ public static class DependencyInjection
|
||||
services.AddHttpClient("ollama");
|
||||
services.AddHttpClient("openai");
|
||||
|
||||
// AI provider selected by configured mode.
|
||||
// AI provider selected by configured mode. Embeddings come from Ollama when local,
|
||||
// otherwise the Null provider (empty vectors) so semantic features degrade to lexical.
|
||||
var aiMode = config.GetSection(AiOptions.SectionName).GetValue<AiProviderMode>("Mode");
|
||||
switch (aiMode)
|
||||
{
|
||||
case AiProviderMode.LocalOllama: services.AddScoped<IAiProvider, OllamaProvider>(); break;
|
||||
case AiProviderMode.CloudOpenAi: services.AddScoped<IAiProvider, OpenAiProvider>(); break;
|
||||
default: services.AddScoped<IAiProvider, NullAiProvider>(); break;
|
||||
case AiProviderMode.LocalOllama:
|
||||
services.AddScoped<IAiProvider, OllamaProvider>();
|
||||
services.AddScoped<IEmbeddingProvider, OllamaEmbeddingProvider>();
|
||||
break;
|
||||
case AiProviderMode.CloudOpenAi:
|
||||
services.AddScoped<IAiProvider, OpenAiProvider>();
|
||||
services.AddScoped<IEmbeddingProvider, NullEmbeddingProvider>(); // OpenAI embeddings: future
|
||||
break;
|
||||
default:
|
||||
services.AddScoped<IAiProvider, NullAiProvider>();
|
||||
services.AddScoped<IEmbeddingProvider, NullEmbeddingProvider>();
|
||||
break;
|
||||
}
|
||||
services.AddScoped<IAiService, AiService>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user