Files
t 2bbf42b741 refactor(auth): delegate access control to be-system
Remove Agent Desk users, roles, login sessions, tokens, and local permission persistence. Expose the backend as an embeddable ai-agent module with host-provided subject lookup and operation authorization callbacks, and complete the frontend/backend repository split.
2026-08-21 00:41:07 +08:00

39 lines
1.0 KiB
Go

package rag
import (
"fmt"
"log/slog"
"code.tczkiot.com/wlw/ai-agent/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
}