Реализована операции Milvus для управления документами и встраиванием, включая функции вставки, запроса и удаления. Внедрите архитектуру RAG с LLM и сервисами встраивания. Добавьте обработку текста для фрагментации и конкатенации. Создайте автономный скрипт для настройки и управления Milvus. Разработайте комплексные тесты API для обработки документов и взаимодействия с LLM, включая имитации для сервисов. Расширьте возможности конфигурации пользователя с помощью дополнительных настроек YAML.
This commit is contained in:
43
cmd/rag/main.go
Normal file
43
cmd/rag/main.go
Normal file
@@ -0,0 +1,43 @@
|
||||
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"))
|
||||
}
|
||||
Reference in New Issue
Block a user