Files
booschat/internal/ai/rag/retrieve_flow.go
T
Aibo117 0f40930a41 refactor: rebrand from cs-agent to BossChat
- Rename Go module: cs-agent → bosschat
- Rename all import paths across 200+ Go files
- Rename SDK: cs-ai-agent-sdk → bosschat-sdk
- Rename message protocol: cs-agent:* → bosschat:*
- Rename JS globals: CSAgentConfig → BossChatConfig
- Rename CSS classes: cs-agent-* → bosschat-*
- Update Makefile APP_NAME and ARCHIVE_NAME
- Update logo assets
- Fix display name: BoosChat → BossChat
2026-05-26 13:17:07 +08:00

39 lines
1009 B
Go

package rag
import (
"fmt"
"log/slog"
"bosschat/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
}