Files
ai-agent/internal/ai/rag/chunk/fixed_provider.go
T
mlogclub 5d7c10aeab refactor: rename agent widget references to AI agent for consistency
- Updated runtime configuration to use __CS_AI_AGENT_WIDGET_CONFIG__ instead of __CS_AGENT_WIDGET_CONFIG__.
- Changed message types in support host bridge from "cs-agent" to "cs-ai-agent".
- Minified SDK script updated to reflect new AI agent naming conventions.
- Adjusted scrollbar styles in main.scss to use .cs-ai-agent-scrollbar instead of .cs-agent-scrollbar.
2026-05-30 21:19:36 +08:00

45 lines
1.0 KiB
Go

package chunk
import (
"context"
"cs-ai-agent/internal/pkg/enums"
)
type fixedProvider struct{}
func NewFixedProvider() Provider {
return &fixedProvider{}
}
func (p *fixedProvider) Name() string {
return string(enums.KnowledgeChunkProviderFixed)
}
func (p *fixedProvider) Supports(contentType enums.KnowledgeDocumentContentType) bool {
return true
}
func (p *fixedProvider) Chunk(ctx context.Context, req *ChunkRequest) ([]ChunkResult, error) {
text := req.PlainText
if text == "" {
text = req.Content
}
parts := splitPlainText(text, req.Options)
results := make([]ChunkResult, 0, len(parts))
for i, part := range parts {
results = append(results, ChunkResult{
ChunkNo: i,
Title: req.DocumentTitle,
Content: part,
ChunkType: enums.KnowledgeChunkTypeText,
SectionPath: req.DocumentTitle,
CharCount: len([]rune(part)),
TokenCount: estimateTokenCount(part),
Metadata: map[string]any{
"provider": enums.KnowledgeChunkProviderFixed,
},
})
}
return results, nil
}