Files
eino-test/main.go
T

45 lines
1.1 KiB
Go
Raw Normal View History

package main
import (
"context"
"log"
"eino-test/config"
"eino-test/internal/agent"
"eino-test/internal/api"
"eino-test/internal/embedding"
"eino-test/internal/index"
"eino-test/internal/rag"
"eino-test/internal/store"
)
func main() {
cfg := config.Load()
ctx := context.Background()
noteStore := store.NewMemoryNoteStore()
embedder, err := embedding.NewEmbedder(ctx, cfg.OpenAIAPIKey, cfg.OpenAIBaseURL, cfg.OpenAIEmbedModel)
if err != nil {
log.Fatalf("Failed to create embedder: %v", err)
}
vectorIdx := index.NewInMemoryVectorIndex()
pipeline := rag.NewRAGPipeline(noteStore, embedder, vectorIdx)
if err := pipeline.IndexAllFromDir(ctx, cfg.DataDir); err != nil {
log.Printf("Warning: failed to index notes: %v", err)
}
supervisorAgent, err := agent.NewSupervisorAgent(ctx, cfg, pipeline)
if err != nil {
log.Fatalf("Failed to create supervisor agent: %v", err)
}
router := api.NewRouter(cfg, pipeline, supervisorAgent)
log.Printf("Server starting on port %s", cfg.Port)
if err := router.Run(":" + cfg.Port); err != nil {
log.Fatalf("Failed to start server: %v", err)
}
}