Files
ai-agent/internal/ai/rag/retrieve_flow.go
T
mlogclub 101577f163 Refactor internal services to use agent-desk package structure
- Updated import paths in multiple service files to reflect the new agent-desk module.
- Added a new configuration file for agent-desk in the Docker setup.
2026-05-31 18:43:48 +08:00

39 lines
1011 B
Go

package rag
import (
"fmt"
"log/slog"
"agent-desk/internal/models"
)
func newRetrieveTrace() *RetrieveTrace {
return &RetrieveTrace{}
}
func (s *retrieve) prepareRetrievableKnowledgeBases(req RetrieveRequest, trace *RetrieveTrace) ([]models.KnowledgeBase, []int64, bool) {
if req.Query == "" {
return nil, nil, false
}
knowledgeBaseIDs := normalizeKnowledgeBaseIDs(req.KnowledgeBaseIDs)
if len(knowledgeBaseIDs) == 0 {
return nil, nil, false
}
retrievableKnowledgeBases := s.loadRetrievableKnowledgeBases(knowledgeBaseIDs)
if len(retrievableKnowledgeBases) == 0 {
slog.Info("Skip retrieve for non-enabled knowledge bases",
"knowledge_base_ids", fmt.Sprint(knowledgeBaseIDs))
return nil, knowledgeBaseIDs, false
}
return retrievableKnowledgeBases, knowledgeBaseIDs, true
}
func applySearchTrace(target *RetrieveTrace, source *RetrieveTrace) {
if target == nil || source == nil {
return
}
target.EmbeddingMs = source.EmbeddingMs
target.VectorSearchMs = source.VectorSearchMs
}