Refresh 刷新知识项
(ctx context.Context, id string)
| 736 | |
| 737 | // Refresh 刷新知识项 |
| 738 | func (m *manager) Refresh(ctx context.Context, id string) error { |
| 739 | item, err := m.Get(ctx, id) |
| 740 | if err != nil { |
| 741 | return fmt.Errorf("knowledge: failed to get item for refresh: %w", err) |
| 742 | } |
| 743 | |
| 744 | // 重新生成向量 |
| 745 | if m.config.AutoEmbed { |
| 746 | embedding, err := m.generateEmbedding(ctx, item) |
| 747 | if err != nil { |
| 748 | return fmt.Errorf("knowledge: failed to regenerate embedding: %w", err) |
| 749 | } |
| 750 | item.Embedding = embedding |
| 751 | } |
| 752 | |
| 753 | // 重新计算质量 |
| 754 | item.Quality = m.calculateQuality(item) |
| 755 | |
| 756 | // 保存更新 |
| 757 | return m.Update(ctx, item) |
| 758 | } |
| 759 | |
| 760 | // Compress 压缩知识库 |
| 761 | func (m *manager) Compress(ctx context.Context, namespace string) error { |
nothing calls this directly
no test coverage detected