diff --git a/client/faq.go b/client/faq.go index a0fc1fbd..2d8301f7 100644 --- a/client/faq.go +++ b/client/faq.go @@ -31,6 +31,9 @@ type FAQEntry struct { Score float64 `json:"score,omitempty"` MatchType string `json:"match_type,omitempty"` ChunkType string `json:"chunk_type"` + // MatchedQuestion is the actual question text that was matched in FAQ search + // Could be the standard question or one of the similar questions + MatchedQuestion string `json:"matched_question,omitempty"` } // FAQEntryPayload is used to create or update a FAQ entry. diff --git a/client/knowledgebase.go b/client/knowledgebase.go index 6412c4b4..10660a7f 100644 --- a/client/knowledgebase.go +++ b/client/knowledgebase.go @@ -127,6 +127,9 @@ type SearchResult struct { Metadata map[string]string `json:"metadata"` KnowledgeFilename string `json:"knowledge_filename"` KnowledgeSource string `json:"knowledge_source"` + // MatchedContent is the actual content that was matched in vector search + // For FAQ: this is the matched question text (standard or similar question) + MatchedContent string `json:"matched_content,omitempty"` } // HybridSearchResponse hybrid search response diff --git a/frontend/src/i18n/locales/en-US.ts b/frontend/src/i18n/locales/en-US.ts index 332cc58e..6a85b6f3 100755 --- a/frontend/src/i18n/locales/en-US.ts +++ b/frontend/src/i18n/locales/en-US.ts @@ -1160,6 +1160,7 @@ export default { noResults: 'No matching FAQ entries found', score: 'Similarity', matchType: 'Match Type', + matchedQuestion: 'Matched', matchTypeEmbedding: 'Vector Match', matchTypeKeywords: 'Keyword Match', similarityThresholdLabel: 'Similarity Threshold', diff --git a/frontend/src/i18n/locales/ko-KR.ts b/frontend/src/i18n/locales/ko-KR.ts index f4008c39..0e2f1e69 100755 --- a/frontend/src/i18n/locales/ko-KR.ts +++ b/frontend/src/i18n/locales/ko-KR.ts @@ -1366,6 +1366,7 @@ export default { noResults: "일치하는 FAQ 항목을 찾을 수 없습니다", score: "유사도", matchType: "매칭 유형", + matchedQuestion: "일치된 질문", matchTypeEmbedding: "벡터 매칭", matchTypeKeywords: "키워드 매칭", similarityThresholdLabel: "유사도 임계값", diff --git a/frontend/src/i18n/locales/ru-RU.ts b/frontend/src/i18n/locales/ru-RU.ts index 286b6824..343d8377 100755 --- a/frontend/src/i18n/locales/ru-RU.ts +++ b/frontend/src/i18n/locales/ru-RU.ts @@ -1123,6 +1123,7 @@ export default { noResults: 'Совпадающих записей FAQ не найдено', score: 'Сходство', matchType: 'Тип совпадения', + matchedQuestion: 'Совпавший вопрос', matchTypeEmbedding: 'Векторное совпадение', matchTypeKeywords: 'Совпадение ключевых слов', similarityThresholdLabel: 'Порог сходства', diff --git a/frontend/src/i18n/locales/zh-CN.ts b/frontend/src/i18n/locales/zh-CN.ts index cfcc5eee..b34997ac 100755 --- a/frontend/src/i18n/locales/zh-CN.ts +++ b/frontend/src/i18n/locales/zh-CN.ts @@ -1561,6 +1561,7 @@ export default { noResults: "未找到匹配的 FAQ 条目", score: "相似度", matchType: "匹配类型", + matchedQuestion: "命中问题", matchTypeEmbedding: "向量匹配", matchTypeKeywords: "关键词匹配", similarityThresholdLabel: "相似度阈值", diff --git a/frontend/src/views/knowledge/components/FAQEntryManager.vue b/frontend/src/views/knowledge/components/FAQEntryManager.vue index 10c10f69..5bfbd02b 100644 --- a/frontend/src/views/knowledge/components/FAQEntryManager.vue +++ b/frontend/src/views/knowledge/components/FAQEntryManager.vue @@ -1091,13 +1091,19 @@ >