-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.json.sample
More file actions
90 lines (90 loc) · 5.28 KB
/
config.json.sample
File metadata and controls
90 lines (90 loc) · 5.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"defaults": {
"database": "./messages.db",
"attachment_root": "./",
"output_file": "summary.md",
"output_file_orig": "summary_orig.md",
"language": "English",
"models": {
"local-llama": {
"provider": "ollama",
"endpoint": "http://127.0.0.1:11434",
"model": "llama3.3:70b"
},
"local-vision": {
"provider": "ollama",
"endpoint": "http://127.0.0.1:11434",
"model": "llama3.2-vision:latest"
},
"openai": {
"provider": "openai",
"model": "gpt-4o",
"apiKey": "sk-your-openai-api-key"
},
"venice": {
"provider": "venice",
"model": "llama-3.3-70b",
"apiBase": "https://api.venice.ai/api/v1",
"apiKey": "your-venice-api-key"
}
},
"themes": {
"model": "local-llama",
"prompt": "Analyze the following conversation and extract the main themes. For each theme, provide a theme name, a detailed summary of the theme, and any dissenting opinions. Ensure that the summaries are comprehensive and cover all relevant points discussed. Output in JSON format as specified, ensuring that the JSON keys are exactly as given and in English, even if the content is in another language.\n{format_instructions}\nNote that \"null\" is not a valid attribute value, use None or \"\" if there are no dissenting_opinions.\n\nGroup conversation log:\n{context}",
"max_chunk_size": 5000
},
"embedding_clustering": {
"enabled": true,
"model": "mxbai-embed-large",
"method": "hdbscan",
"min_cluster_size": 2,
"hdbscan_min_samples": 1
},
"themes_recombination": {
"model": "local-llama",
"batch_size": 5,
"max_iterations": 8,
"convergence_threshold": 3,
"similarity_threshold": 3.5,
"similarity_prompt": "Identify similar themes from the list below, and for each group of similar themes, provide the theme numbers and a similarity rating on scale 1 to 6. The similarity rating meanings are as follows:\n\n1 - No similarity (\"Bitcoin\", \"particle physics\")\n2 - Small similarity (\"economics\", \"decentralization\")\n3 - Broad subset similarity (\"Bitcoin\", \"finance\"), meaning one is a subset of another\n4 - Narrow subset similarity, meaning topics are very close together (\"War\", \"Military draft\")\n5 - Topics are very similar (\"Bitcoin\", \"Bitcoin investing\")\n6 - Topics are basically the same, continuation of possibly the same conversation (\"Bitcoin investing\", \"Bitcoin price\")\n\nOnly group themes that have similarity ratings of 4 or higher. Provide an array of similarity groups, each with theme numbers and the similarity rating.\n\nThemes to process:\n{context}\n\n{format_instructions}",
"merging_prompt": "Merge the following themes into a single consolidated theme. The consolidated theme should include all content from all the themes it's merging. Provide the merged theme in the specified format. Do not mention in the response that it's a merged theme, only merge the topics.\n\nThemes to merge:\n{context}\n\n{format_instructions}"
},
"translation": {
"model": "local-llama",
"max_chunk_size": 5000,
"prompt": "Translate the following markdown text to {language}. IMPORTANT: 1) Preserve ALL markdown formatting (headings ##, bold **text**, links, bullets) 2) Preserve ALL blank lines between sections 3) Output ONLY the translated text. TEXT:\n{context}"
},
"vision_config": {
"enabled": true,
"endpoint": "http://127.0.0.1:11434",
"model": "llama3.2-vision:latest",
"prompt": "Describe the following image from a group chat. The group's description is \"{group_description}\", and common topics are {common_topics}. Provide a description that can be used in a summary of the group topic. If there is text in the image, transcribe it fully. Do not add hashtags or extra comments. Output only the description, preferably in less than one paragraph."
},
"speech_to_text": {
"enabled": true,
"model": "medium",
"n_threads": 1
},
"link_summarizer": {
"model": "local-llama",
"prompt": "Summarize the webpage content below. Extract the title as well. Output the result in JSON format with 'title', 'summary', and 'error' fields. The 'title' and 'summary' should be single lines without newlines and less than {max_title_length} and {max_summary_length} characters respectively. If the content seems to be an error (such as HTTP error message or empty string), provide it in the 'error' field and leave 'title' and 'summary' empty.\n\n{format_instructions}\n\nWebpage to summarize:\n\n{context}",
"max_title_length": 300,
"max_summary_length": 600,
"max_chunk_size": 5000
}
},
"groups": {
"D0abcdasdasdasjdhaskjdhakjsdhaksjhdaksjdhkas=": {
"output_file": "outputs/summary_group1.md",
"group_description": "Example group where we discuss technology, finance, and current events.",
"common_topics": "Technology, investments, politics, and digital trends.",
"language": "English"
},
"XABbcdasdasdasjdhaskjdhakjsdhaksjhdaksjdhkas=": {
"output_file": "outputs/summary_memes.md",
"group_description": "Memes Group, where we share and discuss memes.",
"common_topics": "Memes, humor, internet culture",
"language": "English"
}
}
}