1
0

Реализована операции Milvus для управления документами и встраиванием, включая функции вставки, запроса и удаления. Внедрите архитектуру RAG с LLM и сервисами встраивания. Добавьте обработку текста для фрагментации и конкатенации. Создайте автономный скрипт для настройки и управления Milvus. Разработайте комплексные тесты API для обработки документов и взаимодействия с LLM, включая имитации для сервисов. Расширьте возможности конфигурации пользователя с помощью дополнительных настроек YAML.

This commit is contained in:
Dmitriy Fofanov
2025-09-19 11:38:31 +03:00
parent 8e7aab5181
commit 636096fd34
38 changed files with 3420 additions and 28 deletions

43
cmd/rag/main.go Normal file
View 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"))
}