This commit is contained in:
+9
-3
@@ -16,6 +16,7 @@ import (
|
||||
"github.com/example/glpi-ai-agent/internal/contextdata"
|
||||
"github.com/example/glpi-ai-agent/internal/glpi"
|
||||
"github.com/example/glpi-ai-agent/internal/knowledge"
|
||||
"github.com/example/glpi-ai-agent/internal/learning"
|
||||
"github.com/example/glpi-ai-agent/internal/metrics"
|
||||
"github.com/example/glpi-ai-agent/internal/ollama"
|
||||
"github.com/example/glpi-ai-agent/internal/queue"
|
||||
@@ -43,7 +44,7 @@ func main() {
|
||||
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
||||
defer cancel()
|
||||
g := glpi.New(cfg.GLPIURL, cfg.GLPIAPIVersion, cfg.GLPIClientID, cfg.GLPIClientSecret, cfg.GLPIUsername, cfg.GLPIPassword, cfg.GLPITimeout)
|
||||
o := ollama.New(cfg.OllamaURL, cfg.OllamaModel, cfg.OllamaEmbeddingModel, cfg.CommunicationLanguage, cfg.CommunicationStyle, cfg.OllamaTimeout, cfg.OllamaNumPredict, cfg.OllamaKeepAlive, cfg.OllamaThink, cfg.OllamaMaxConcurrent)
|
||||
o := ollama.New(cfg.OllamaURL, cfg.OllamaModel, cfg.OllamaEmbeddingModel, cfg.CommunicationLanguage, cfg.CommunicationStyle, cfg.OllamaTimeout, cfg.OllamaNumPredict, cfg.OllamaKeepAlive, cfg.OllamaThink, cfg.OllamaMaxConcurrent, cfg.OllamaJSONRetries)
|
||||
if err := g.ValidateContract(ctx); err != nil {
|
||||
slog.Error("GLPI API contract validation failed", "error", err)
|
||||
os.Exit(1)
|
||||
@@ -76,6 +77,11 @@ func main() {
|
||||
)
|
||||
os.Exit(1)
|
||||
}
|
||||
l, err := learning.Open(cfg.DataDir, cfg.LearningMaxExamples)
|
||||
if err != nil {
|
||||
slog.Error("learning store initialization failed", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
m := metrics.New()
|
||||
m.SetKnowledgeDocs(k.Count())
|
||||
q := queue.New(cfg.QueueSize)
|
||||
@@ -84,9 +90,9 @@ func main() {
|
||||
kuma = uptimekuma.New(cfg.UptimeKumaURL, cfg.UptimeKumaMode, cfg.UptimeKumaAPIKey, cfg.UptimeKumaTimeout)
|
||||
}
|
||||
contextCollector := contextdata.New(cfg, g, kuma)
|
||||
svc := agent.New(cfg, g, o, k, st, q, m, contextCollector)
|
||||
svc := agent.New(cfg, g, o, k, l, st, q, m, contextCollector)
|
||||
svc.Start(ctx)
|
||||
web, err := webui.New(cfg, m, st, q)
|
||||
web, err := webui.New(cfg, m, st, q, k, svc)
|
||||
if err != nil {
|
||||
slog.Error("web UI initialization failed", "error", err)
|
||||
os.Exit(1)
|
||||
|
||||
Reference in New Issue
Block a user