44 lines
740 B
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"))
|
|
}
|