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 quickreply
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 TestEnglishSeedItemsMatchChineseCount(t *testing.T) {
englishItems := seedItems(seedlang.English)
chineseItems := seedItems(seedlang.Chinese)
englishItems := seeds.QuickReplySeeds(seedlang.English)
chineseItems := seeds.QuickReplySeeds(seedlang.Chinese)
if len(englishItems) != len(chineseItems) {
t.Fatalf("english seed count = %d, want %d", len(englishItems), len(chineseItems))
@@ -18,10 +19,10 @@ func TestEnglishSeedItemsMatchChineseCount(t *testing.T) {
}
func TestEnglishSeedItemsDoNotContainChineseText(t *testing.T) {
for _, item := range seedItems(seedlang.English) {
for _, value := range []string{item.groupName, item.title, item.content} {
for _, item := range seeds.QuickReplySeeds(seedlang.English) {
for _, value := range []string{item.GroupName, item.Title, item.Content} {
if hanTextPattern.MatchString(value) {
t.Fatalf("english quick reply %d contains Chinese text: %q", item.id, value)
t.Fatalf("english quick reply %d contains Chinese text: %q", item.ID, value)
}
}
}