feat: Add title field for creating knowledge requests.

This commit is contained in:
begoniezhao
2025-12-04 15:54:52 +08:00
parent a50f53d205
commit b24fdc2d24
4 changed files with 8 additions and 2 deletions
+3
View File
@@ -193,15 +193,18 @@ func (c *Client) CreateKnowledgeFromURL(
knowledgeBaseID string,
url string,
enableMultimodel *bool,
title string,
) (*Knowledge, error) {
path := fmt.Sprintf("/api/v1/knowledge-bases/%s/knowledge/url", knowledgeBaseID)
reqBody := struct {
URL string `json:"url"`
EnableMultimodel *bool `json:"enable_multimodel"`
Title string `json:"title"`
}{
URL: url,
EnableMultimodel: enableMultimodel,
Title: title,
}
resp, err := c.doRequest(ctx, http.MethodPost, path, reqBody, nil)
+2 -1
View File
@@ -347,7 +347,7 @@ func (s *knowledgeService) CreateKnowledgeFromFile(ctx context.Context,
// CreateKnowledgeFromURL creates a knowledge entry from a URL source
func (s *knowledgeService) CreateKnowledgeFromURL(ctx context.Context,
kbID string, url string, enableMultimodel *bool,
kbID string, url string, enableMultimodel *bool, title string,
) (*types.Knowledge, error) {
logger.Info(ctx, "Start creating knowledge from URL")
logger.Infof(ctx, "Knowledge base ID: %s, URL: %s", kbID, url)
@@ -406,6 +406,7 @@ func (s *knowledgeService) CreateKnowledgeFromURL(ctx context.Context,
TenantID: tenantID,
KnowledgeBaseID: kbID,
Type: "url",
Title: title,
Source: url,
FileHash: fileHash,
ParseStatus: "pending",
+2 -1
View File
@@ -183,6 +183,7 @@ func (h *KnowledgeHandler) CreateKnowledgeFromURL(c *gin.Context) {
var req struct {
URL string `json:"url" binding:"required"`
EnableMultimodel *bool `json:"enable_multimodel"`
Title string `json:"title"`
}
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error(ctx, "Failed to parse URL request", err)
@@ -199,7 +200,7 @@ func (h *KnowledgeHandler) CreateKnowledgeFromURL(c *gin.Context) {
)
// Create knowledge entry from the URL
knowledge, err := h.kgService.CreateKnowledgeFromURL(ctx, kbID, req.URL, req.EnableMultimodel)
knowledge, err := h.kgService.CreateKnowledgeFromURL(ctx, kbID, req.URL, req.EnableMultimodel, req.Title)
// Check for duplicate knowledge error
if err != nil {
if h.handleDuplicateKnowledgeError(c, err, knowledge, "url") {
+1
View File
@@ -26,6 +26,7 @@ type KnowledgeService interface {
kbID string,
url string,
enableMultimodel *bool,
title string,
) (*types.Knowledge, error)
// CreateKnowledgeFromPassage creates knowledge from text passages.
CreateKnowledgeFromPassage(ctx context.Context, kbID string, passage []string) (*types.Knowledge, error)