Skip to content

Commit 6a7136b

Browse files
committed
summarize-topic: Fix linting errors.
1 parent 7927863 commit 6a7136b

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

zulip/integrations/jabber/jabber_mirror_backend.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import logging
2727
import optparse
2828
import sys
29-
from configparser import SafeConfigParser
29+
from configparser import ConfigParser
3030

3131
# The following is a table showing which kinds of messages are handled by the
3232
# mirror in each mode:
@@ -385,10 +385,10 @@ def config_error(msg: str) -> None:
385385
else:
386386
config_file = options.zulip_config_file
387387

388-
config = SafeConfigParser()
388+
config = ConfigParser()
389389
try:
390390
with open(config_file) as f:
391-
config.readfp(f, config_file)
391+
config.read_file(f, config_file)
392392
except OSError:
393393
pass
394394
for option in (

zulip/integrations/litellm/summarize-topic

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
#!/usr/bin/env python3
22

33
import argparse
4+
import json
45
import os
56
import sys
67
import urllib.parse
78
from configparser import ConfigParser
8-
import json
9+
from typing import Any, Dict
910

1011
from litellm import completion # type: ignore[import-not-found]
1112

1213
import zulip
1314

14-
def format_conversation(result):
15+
16+
def format_conversation(result: Dict[str, Any]) -> str:
1517
# Note: Including timestamps seems to have no impact; including reactions
1618
# makes the results worse.
1719
zulip_messages = result["messages"]
1820
if len(zulip_messages) == 0:
1921
print("No messages in conversation to summarize")
2022
sys.exit(0)
2123

22-
zulip_messages_list = [{"sender": message['sender_full_name'],
23-
"content": message['content']} for message in zulip_messages]
24+
zulip_messages_list = [
25+
{"sender": message["sender_full_name"], "content": message["content"]}
26+
for message in zulip_messages
27+
]
2428
return json.dumps(zulip_messages_list)
2529

26-
def make_message(content, role="user"):
27-
return {"content": content,
28-
"role": role}
2930

30-
def get_max_summary_length(conversation_length):
31-
return min(6, 4 + int((conversation_length-10)/10))
31+
def make_message(content: str, role: str = "user") -> Dict[str, str]:
32+
return {"content": content, "role": role}
33+
34+
35+
def get_max_summary_length(conversation_length: int) -> int:
36+
return min(6, 4 + int((conversation_length - 10) / 10))
37+
3238

3339
if __name__ == "__main__":
3440
parser = argparse.ArgumentParser()
@@ -113,7 +119,7 @@ if __name__ == "__main__":
113119
print("Failed fetching message history", result)
114120
sys.exit(1)
115121

116-
conversation_length = len(result['messages'])
122+
conversation_length = len(result["messages"])
117123
max_summary_length = get_max_summary_length(conversation_length)
118124

119125
print("Conversation URL:", url)
@@ -122,7 +128,11 @@ if __name__ == "__main__":
122128
intro = f"The following is a chat conversation in the Zulip team chat app. channel: {channel}, topic: {topic}"
123129
formatted_conversation = format_conversation(result)
124130
prompt = f"Succinctly summarize this conversation based only on the information provided, in up to {max_summary_length} sentences, for someone who is familiar with the context. Mention key conclusions and actions, if any. Refer to specific people as appropriate. Don't use an intro phrase."
125-
messages = [make_message(intro, "system"), make_message(formatted_conversation), make_message(prompt)]
131+
messages = [
132+
make_message(intro, "system"),
133+
make_message(formatted_conversation),
134+
make_message(prompt),
135+
]
126136

127137
# Send formatted messages to the LLM model for summarization
128138
response = completion(
@@ -131,6 +141,8 @@ if __name__ == "__main__":
131141
messages=messages,
132142
)
133143

134-
print(f"Used {response['usage']['completion_tokens']} completion tokens to summarize {conversation_length} Zulip messages ({response['usage']['prompt_tokens']} prompt tokens).")
144+
print(
145+
f"Used {response['usage']['completion_tokens']} completion tokens to summarize {conversation_length} Zulip messages ({response['usage']['prompt_tokens']} prompt tokens)."
146+
)
135147
print()
136148
print(response["choices"][0]["message"]["content"])

0 commit comments

Comments
 (0)