Files
ai-agent/internal/pkg/dto/request/knowledge_request.go
T

138 lines
4.2 KiB
Go
Raw Normal View History

2026-04-09 10:01:23 +08:00
package request
import (
"io"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
)
2026-04-09 10:01:23 +08:00
type CreateKnowledgeBaseRequest struct {
Name string `json:"name"`
Description string `json:"description"`
KnowledgeType string `json:"knowledge_type"`
DefaultTopK int `json:"default_top_k"`
DefaultScoreThreshold float64 `json:"default_score_threshold"`
DefaultRerankLimit int `json:"default_rerank_limit"`
ChunkProvider string `json:"chunk_provider"`
ChunkTargetTokens int `json:"chunk_target_tokens"`
ChunkMaxTokens int `json:"chunk_max_tokens"`
ChunkOverlapTokens int `json:"chunk_overlap_tokens"`
AnswerMode int `json:"answer_mode"`
2026-04-09 10:01:23 +08:00
Remark string `json:"remark"`
}
type UpdateKnowledgeBaseRequest struct {
ID int64 `json:"id"`
CreateKnowledgeBaseRequest
}
type CreateKnowledgeDirectoryRequest struct {
KnowledgeBaseID int64 `json:"knowledge_base_id"`
ParentID int64 `json:"parent_id"`
Name string `json:"name"`
Remark string `json:"remark"`
}
type UpdateKnowledgeDirectoryRequest struct {
ID int64 `json:"id"`
CreateKnowledgeDirectoryRequest
}
type DeleteKnowledgeDirectoryRequest struct {
ID int64 `json:"id"`
}
2026-04-09 10:01:23 +08:00
type CreateKnowledgeDocumentRequest struct {
KnowledgeBaseID int64 `json:"knowledge_base_id"`
DirectoryID int64 `json:"directory_id"`
2026-04-09 10:01:23 +08:00
Title string `json:"title"`
ContentType enums.KnowledgeDocumentContentType `json:"content_type"`
2026-04-09 10:01:23 +08:00
Content string `json:"content"`
}
type UpdateKnowledgeDocumentRequest struct {
ID int64 `json:"id"`
CreateKnowledgeDocumentRequest
}
type BatchMoveKnowledgeDocumentRequest struct {
KnowledgeBaseID int64 `json:"knowledge_base_id"`
DirectoryID int64 `json:"directory_id"`
IDs []int64 `json:"ids"`
}
type BatchDeleteKnowledgeDocumentRequest struct {
IDs []int64 `json:"ids"`
}
2026-04-09 10:01:23 +08:00
type CreateKnowledgeFAQRequest struct {
KnowledgeBaseID int64 `json:"knowledge_base_id"`
DirectoryID int64 `json:"directory_id"`
2026-04-09 10:01:23 +08:00
Question string `json:"question"`
Answer string `json:"answer"`
SimilarQuestions []string `json:"similar_questions"`
2026-04-09 10:01:23 +08:00
Remark string `json:"remark"`
}
type UpdateKnowledgeFAQRequest struct {
ID int64 `json:"id"`
CreateKnowledgeFAQRequest
}
type BatchMoveKnowledgeFAQRequest struct {
KnowledgeBaseID int64 `json:"knowledge_base_id"`
DirectoryID int64 `json:"directory_id"`
IDs []int64 `json:"ids"`
}
type BatchDeleteKnowledgeFAQRequest struct {
IDs []int64 `json:"ids"`
}
type KnowledgeFAQImportMode string
const (
KnowledgeFAQImportModeAppend KnowledgeFAQImportMode = "append"
KnowledgeFAQImportModeOverwrite KnowledgeFAQImportMode = "overwrite"
)
type ImportKnowledgeFAQRequest struct {
KnowledgeBaseID int64
Mode KnowledgeFAQImportMode
Filename string
Reader io.Reader
Locale string
}
2026-04-09 10:01:23 +08:00
type KnowledgeSearchRequest struct {
KnowledgeBaseIDs []int64 `json:"knowledge_base_ids"`
2026-04-09 10:01:23 +08:00
Question string `json:"question"`
TopK int `json:"top_k"`
ScoreThreshold float64 `json:"score_threshold"`
RerankLimit int `json:"rerank_limit"`
2026-04-09 10:01:23 +08:00
Channel string `json:"channel"`
Scene string `json:"scene"`
SessionID string `json:"session_id"`
ConversationID int64 `json:"conversation_id"`
2026-04-09 10:01:23 +08:00
}
type KnowledgeAnswerRequest struct {
KnowledgeBaseIDs []int64 `json:"knowledge_base_ids"`
2026-04-09 10:01:23 +08:00
Question string `json:"question"`
TopK int `json:"top_k"`
ScoreThreshold float64 `json:"score_threshold"`
RerankLimit int `json:"rerank_limit"`
2026-04-09 10:01:23 +08:00
Channel string `json:"channel"`
Scene string `json:"scene"`
SessionID string `json:"session_id"`
ConversationID int64 `json:"conversation_id"`
AnswerMode int `json:"answer_mode"`
2026-04-09 10:01:23 +08:00
}
type CreateKnowledgeFeedbackRequest struct {
RetrieveLogID int64 `json:"retrieve_log_id"`
FeedbackType int `json:"feedback_type"`
FeedbackReason string `json:"feedback_reason"`
2026-04-09 10:01:23 +08:00
Remark string `json:"remark"`
}