sync: migrate ai-operator to Gitea (2026-08-10)

This commit is contained in:
konturai-ops
2026-08-10 15:26:52 +00:00
commit 53652b95ad
173 changed files with 16676 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
package embedding
import (
"context"
"fmt"
"ai-operator/internal/config"
)
type Vector []float32
type Provider interface {
Embed(ctx context.Context, input []string) ([]Vector, error)
Dimensions() int
Model() string
ProviderName() string
}
func NewProvider(cfg config.Config, override string) (Provider, error) {
name := cfg.Embedding.Provider
if override != "" {
name = override
}
switch name {
case "fake":
return NewFakeProvider(cfg.Embedding.Dimensions, cfg.Embedding.Model), nil
case "openai":
if cfg.OpenAI.APIKey == "" {
return nil, fmt.Errorf("OPENAI_API_KEY is required for openai embedding provider")
}
return NewOpenAIProvider(cfg.OpenAI.APIKey, cfg.Embedding.Model, cfg.Embedding.Dimensions), nil
default:
return nil, fmt.Errorf("unknown embedding provider: %s", name)
}
}