feat: add knowledge markdown formatting and detail retrieval

- Implemented KnowledgeWebsiteMarkdownPrompt for formatting webpage content into Markdown.
- Added GetItemDetail method in KnowledgeHandler to retrieve knowledge item details.
- Introduced KnowledgeDetailDrawer component for displaying knowledge item details in the admin web interface.
- Created MarkdownPreview component for rendering Markdown content.
- Added knowledge chunking and URL parsing logic to handle webpage content extraction and formatting.
- Updated database schema to include markdown_content in knowledge_items table.
This commit is contained in:
2026-04-05 20:41:42 +08:00
parent 446f865cdf
commit dbd7747742
26 changed files with 1556 additions and 252 deletions
+7 -2
View File
@@ -113,6 +113,11 @@ func (c *arkClient) Generate(ctx context.Context, req GenerateRequest, onDelta f
maxOutputTokens = req.MaxOutputTokens
}
model := c.model
if strings.TrimSpace(req.Model) != "" {
model = strings.TrimSpace(req.Model)
}
callCtx, cancel := context.WithTimeout(ctx, timeout)
defer cancel()
@@ -154,7 +159,7 @@ func (c *arkClient) Generate(ctx context.Context, req GenerateRequest, onDelta f
}
stream, err := c.client.CreateResponsesStream(callCtx, &responses.ResponsesRequest{
Model: c.model,
Model: model,
MaxOutputTokens: &maxOutputTokens,
Store: &store,
Stream: &streamValue,
@@ -232,7 +237,7 @@ func (c *arkClient) Generate(ctx context.Context, req GenerateRequest, onDelta f
return &GenerateResult{
Content: result,
Model: c.model,
Model: model,
}, nil
}
+1
View File
@@ -13,6 +13,7 @@ import (
var ErrNotConfigured = errors.New("llm provider is not configured")
type GenerateRequest struct {
Model string
Prompt string
Timeout time.Duration
MaxOutputTokens int64