1
0
Files
easy_rag/cmd/rag/main.go

44 lines
740 B
Go

package main
import (
"easy_rag/api"
"easy_rag/config"
"easy_rag/internal/database"
"easy_rag/internal/embeddings"
"easy_rag/internal/llm"
"easy_rag/internal/pkg/rag"
"github.com/labstack/echo/v4"
)
// Rag is the main struct for the rag application
func main() {
cfg := config.NewConfig()
llm := llm.NewOllama(
cfg.OllamaEndpoint,
cfg.OllamaModel,
)
embeddings := embeddings.NewOllamaEmbeddings(
cfg.OllamaEmbeddingEndpoint,
cfg.OllamaEmbeddingModel,
)
database := database.NewMilvus(cfg.MilvusHost)
// Rag instance
rag := rag.NewRag(
llm,
embeddings,
database,
)
// Echo WebServer instance
e := echo.New()
// Wrapper for API
api.NewAPI(e, rag)
// Start Server
e.Logger.Fatal(e.Start(":4002"))
}