MCPcopy Create free account
hub / github.com/astercloud/aster / enhanceQuery

Method enhanceQuery

pkg/knowledge/rag.go:612–640  ·  view source on GitHub ↗

enhanceQuery 增强查询

(originalQuery string, items []*RetrievalItem)

Source from the content-addressed store, hash-verified

610
611// enhanceQuery 增强查询
612func (r *RAG) enhanceQuery(originalQuery string, items []*RetrievalItem) string {
613 if len(items) == 0 {
614 return originalQuery
615 }
616
617 // 使用检索结果中的关键词增强查询
618 keywords := make(map[string]bool)
619 for _, item := range items[:min(3, len(items))] {
620 if item.Item.Title != "" {
621 words := strings.FieldsSeq(item.Item.Title)
622 for word := range words {
623 if len(word) > 2 {
624 keywords[strings.ToLower(word)] = true
625 }
626 }
627 }
628 }
629
630 var enhancedKeywords []string
631 for keyword := range keywords {
632 enhancedKeywords = append(enhancedKeywords, keyword)
633 }
634
635 if len(enhancedKeywords) > 0 {
636 return fmt.Sprintf("%s %s", originalQuery, strings.Join(enhancedKeywords, " "))
637 }
638
639 return originalQuery
640}
641
642// expandQuery 扩展查询
643func (r *RAG) expandQuery(query string, item *KnowledgeItem) string {

Callers 1

RetrieveMethod · 0.95

Calls 2

minFunction · 0.50
JoinMethod · 0.45

Tested by

no test coverage detected