MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / buildSummaryDeps

Function buildSummaryDeps

packages/node-runtime/src/services/summary-service.ts:29–59  ·  view source on GitHub ↗
(db: DatabaseAdapter, llmConfig: LlmConfig, deps: SummaryServiceDeps)

Source from the content-addressed store, hash-verified

27}
28
29function buildSummaryDeps(db: DatabaseAdapter, llmConfig: LlmConfig, deps: SummaryServiceDeps): SummaryDeps {
30 const piModel = deps.buildPiModel(llmConfig)
31 return {
32 loadMessages(segmentId, limit = 500) {
33 const data = getSegmentMessages(db, segmentId, limit)
34 if (!data) return null
35 return data.messages.map((m) => ({ senderName: m.senderName, content: m.content }))
36 },
37 saveSummary(segmentId, summary) {
38 saveSegmentSummary(db, segmentId, summary)
39 },
40 getSummary(segmentId) {
41 return getSegmentSummary(db, segmentId)
42 },
43 async llmComplete(systemPrompt, userPrompt, options) {
44 const result = await completeSimple(
45 piModel,
46 {
47 systemPrompt,
48 messages: [{ role: 'user', content: [{ type: 'text', text: userPrompt }], timestamp: Date.now() }] as any,
49 },
50 { apiKey: llmConfig.apiKey, maxTokens: options?.maxTokens, temperature: options?.temperature }
51 )
52 return result.content
53 .filter((item): item is PiTextContent => item.type === 'text')
54 .map((item) => item.text)
55 .join('')
56 },
57 t: (key: string) => key,
58 }
59}
60
61export async function generateSummary(
62 adapter: SessionRuntimeAdapter,

Callers 2

generateSummaryFunction · 0.85
generateAllSummariesFunction · 0.85

Calls 1

buildPiModelMethod · 0.80

Tested by

no test coverage detected