MCPcopy Create free account
hub / github.com/astercloud/aster / callLLM

Method callLLM

pkg/memory/session_compressor.go:204–224  ·  view source on GitHub ↗

callLLM 调用 LLM API 生成总结 注意:这是一个简化实现,实际应该使用真实的 LLM API

(ctx context.Context, prompt string)

Source from the content-addressed store, hash-verified

202// callLLM 调用 LLM API 生成总结
203// 注意:这是一个简化实现,实际应该使用真实的 LLM API
204func (s *LLMSummarizer) callLLM(ctx context.Context, prompt string) (string, error) {
205 // TODO: 集成真实的 LLM API
206 // 这里返回一个模拟的总结作为占位符
207
208 // 简单的启发式总结(用于测试)
209 lines := strings.Split(prompt, "\n")
210 summaryLines := []string{}
211
212 for _, line := range lines {
213 // 提取看起来像问题或结论的行
214 if strings.Contains(line, "?") || strings.Contains(line, ":") {
215 summaryLines = append(summaryLines, line)
216 }
217 }
218
219 if len(summaryLines) == 0 {
220 summaryLines = append(summaryLines, "会话总结:讨论了相关主题并达成初步共识。")
221 }
222
223 return strings.Join(summaryLines, "\n"), nil
224}
225
226// MultiLevelCompressor 多层次压缩器
227// 支持消息级、对话轮次级、会话级的多层压缩

Callers 1

SummarizeSessionMethod · 0.95

Calls 1

JoinMethod · 0.45

Tested by

no test coverage detected