Add quick reply, skill definition, and tag seeds for multilingual support

- Implemented QuickReplySeed structure and seeds for both English and Chinese languages.
- Created SkillDefinitionSeed structure with detailed instructions and examples for the "After-sales Escalation" skill in both languages.
- Added TagSeed structure and corresponding seeds for categorizing inquiries in English and Chinese.
- Refactored skill and tag initialization to utilize the new seed structures, ensuring proper data handling and multilingual support.
- Updated tests to verify that English seeds do not contain Chinese text, ensuring data integrity.
This commit is contained in:
mlogclub
2026-06-01 12:15:41 +08:00
parent b743639731
commit 031855935d
22 changed files with 683 additions and 707 deletions
+6 -5
View File
@@ -2,6 +2,7 @@ package kb
import (
"agent-desk/cmd/testdata/seedlang"
"agent-desk/cmd/testdata/seeds"
"regexp"
"testing"
)
@@ -9,8 +10,8 @@ import (
var hanTextPattern = regexp.MustCompile(`\p{Han}`)
func TestEnglishKnowledgeBaseTextDoesNotContainChineseText(t *testing.T) {
name, description, remark := faqKnowledgeBaseText(seedlang.English)
for _, value := range []string{name, description, remark} {
seed := seeds.FAQKnowledgeBaseSeed(seedlang.English)
for _, value := range []string{seed.Name, seed.Description, seed.Remark} {
if hanTextPattern.MatchString(value) {
t.Fatalf("english knowledge base text contains Chinese text: %q", value)
}
@@ -18,11 +19,11 @@ func TestEnglishKnowledgeBaseTextDoesNotContainChineseText(t *testing.T) {
}
func TestEnglishKnowledgeFAQSeedsDoNotContainChineseText(t *testing.T) {
seeds := knowledgeFAQSeeds(seedlang.English)
if len(seeds) == 0 {
seedItems := seeds.KnowledgeFAQSeeds(seedlang.English)
if len(seedItems) == 0 {
t.Fatal("english FAQ seeds are empty")
}
for _, seed := range seeds {
for _, seed := range seedItems {
values := []string{seed.Question, seed.Answer, seed.Remark}
values = append(values, seed.SimilarQuestions...)
for _, value := range values {