feat: add fallback mode for AI agents and update knowledge base handling
- Introduced AIAgentFallbackMode with options for NoAnswer and SuggestRetry. - Updated AI agent edit component to include fallback mode selection. - Modified API types and payloads to accommodate fallback mode. - Removed deprecated KnowledgeFallbackMode and related logic from knowledge base. - Adjusted knowledge retrieval and response handling to utilize new fallback logic. - Updated tests to reflect changes in fallback mode handling for AI agents.
This commit is contained in:
@@ -52,6 +52,7 @@ type CreateAIAgentRequest struct {
|
||||
ReplyTimeoutSeconds int `json:"replyTimeoutSeconds"`
|
||||
TeamIDs []int64 `json:"teamIds"`
|
||||
HandoffMode enums.AIAgentHandoffMode `json:"handoffMode"`
|
||||
FallbackMode enums.AIAgentFallbackMode `json:"fallbackMode"`
|
||||
FallbackMessage string `json:"fallbackMessage"`
|
||||
KnowledgeIDs []int64 `json:"knowledgeIds"`
|
||||
SkillIDs []int64 `json:"skillIds"`
|
||||
|
||||
@@ -14,7 +14,6 @@ type CreateKnowledgeBaseRequest struct {
|
||||
ChunkMaxTokens int `json:"chunkMaxTokens"`
|
||||
ChunkOverlapTokens int `json:"chunkOverlapTokens"`
|
||||
AnswerMode int `json:"answerMode"`
|
||||
FallbackMode int `json:"fallbackMode"`
|
||||
Remark string `json:"remark"`
|
||||
}
|
||||
|
||||
@@ -71,7 +70,6 @@ type KnowledgeAnswerRequest struct {
|
||||
SessionID string `json:"sessionId"`
|
||||
ConversationID int64 `json:"conversationId"`
|
||||
AnswerMode int `json:"answerMode"`
|
||||
FallbackMode int `json:"fallbackMode"`
|
||||
}
|
||||
|
||||
type CreateKnowledgeFeedbackRequest struct {
|
||||
|
||||
@@ -83,6 +83,8 @@ type AIAgentResponse struct {
|
||||
Teams []AIAgentTeamResponse `json:"teams"`
|
||||
HandoffMode enums.AIAgentHandoffMode `json:"handoffMode"`
|
||||
HandoffModeName string `json:"handoffModeName"`
|
||||
FallbackMode enums.AIAgentFallbackMode `json:"fallbackMode"`
|
||||
FallbackModeName string `json:"fallbackModeName"`
|
||||
FallbackMessage string `json:"fallbackMessage"`
|
||||
KnowledgeIDs []int64 `json:"knowledgeIds"`
|
||||
KnowledgeBaseNames []string `json:"knowledgeBaseNames"`
|
||||
|
||||
@@ -22,8 +22,6 @@ type KnowledgeBaseResponse struct {
|
||||
ChunkOverlapTokens int `json:"chunkOverlapTokens"`
|
||||
AnswerMode int `json:"answerMode"`
|
||||
AnswerModeName string `json:"answerModeName"`
|
||||
FallbackMode int `json:"fallbackMode"`
|
||||
FallbackModeName string `json:"fallbackModeName"`
|
||||
DocumentCount int64 `json:"documentCount"`
|
||||
FAQCount int64 `json:"faqCount"`
|
||||
Remark string `json:"remark"`
|
||||
|
||||
@@ -215,6 +215,27 @@ func GetAIAgentHandoffModeLabel(mode AIAgentHandoffMode) string {
|
||||
return aiAgentHandoffModeLabelMap[mode]
|
||||
}
|
||||
|
||||
type AIAgentFallbackMode int
|
||||
|
||||
const (
|
||||
AIAgentFallbackModeNoAnswer AIAgentFallbackMode = 1
|
||||
AIAgentFallbackModeSuggestRetry AIAgentFallbackMode = 2
|
||||
)
|
||||
|
||||
var AIAgentFallbackModeValues = []AIAgentFallbackMode{
|
||||
AIAgentFallbackModeNoAnswer,
|
||||
AIAgentFallbackModeSuggestRetry,
|
||||
}
|
||||
|
||||
var aiAgentFallbackModeLabelMap = map[AIAgentFallbackMode]string{
|
||||
AIAgentFallbackModeNoAnswer: "直接声明无答案",
|
||||
AIAgentFallbackModeSuggestRetry: "建议补充信息",
|
||||
}
|
||||
|
||||
func GetAIAgentFallbackModeLabel(mode AIAgentFallbackMode) string {
|
||||
return aiAgentFallbackModeLabelMap[mode]
|
||||
}
|
||||
|
||||
const (
|
||||
IMRealtimeEventConnected = "connected"
|
||||
IMRealtimeEventPong = "pong"
|
||||
|
||||
@@ -214,21 +214,3 @@ var knowledgeAnswerModeLabelMap = map[KnowledgeAnswerMode]string{
|
||||
func GetKnowledgeAnswerModeLabel(mode KnowledgeAnswerMode) string {
|
||||
return knowledgeAnswerModeLabelMap[mode]
|
||||
}
|
||||
|
||||
type KnowledgeFallbackMode int
|
||||
|
||||
const (
|
||||
KnowledgeFallbackModeNoAnswer KnowledgeFallbackMode = 1
|
||||
KnowledgeFallbackModeSuggestRetry KnowledgeFallbackMode = 2
|
||||
KnowledgeFallbackModeTransferHuman KnowledgeFallbackMode = 3
|
||||
)
|
||||
|
||||
var knowledgeFallbackModeLabelMap = map[KnowledgeFallbackMode]string{
|
||||
KnowledgeFallbackModeNoAnswer: "直接声明无答案",
|
||||
KnowledgeFallbackModeSuggestRetry: "建议重试",
|
||||
KnowledgeFallbackModeTransferHuman: "转人工",
|
||||
}
|
||||
|
||||
func GetKnowledgeFallbackModeLabel(mode KnowledgeFallbackMode) string {
|
||||
return knowledgeFallbackModeLabelMap[mode]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user