Skip to content

Commit 4f5ca7f

Browse files
authored
chat / api_server: do not include developer messages to reduce mismatch (#79)
1 parent d0a300a commit 4f5ca7f

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

gpt_oss/chat.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,11 @@ def main(args):
120120
])
121121
)
122122
messages.append(Message.from_role_and_content(Role.DEVELOPER, developer_message_content))
123-
else:
123+
elif args.developer_message:
124124
developer_message_content = DeveloperContent.new().with_instructions(args.developer_message)
125125
messages.append(Message.from_role_and_content(Role.DEVELOPER, developer_message_content))
126+
else:
127+
developer_message_content = None
126128

127129
if args.raw:
128130
conversation = Conversation.from_messages(messages)
@@ -142,9 +144,9 @@ def main(args):
142144
print(termcolor.colored("Browser Tool:", "cyan"), "Enabled" if args.browser else "Disabled", flush=True)
143145
print(termcolor.colored("Python Tool:", "cyan"), "Enabled" if args.python else "Disabled", flush=True)
144146
print(termcolor.colored("Apply Patch Function:", "cyan"), "Enabled" if args.apply_patch else "Disabled", flush=True)
145-
# Developer message
146-
print(termcolor.colored("Developer Message:", "yellow"), flush=True)
147-
print(developer_message_content.instructions, flush=True)
147+
if developer_message_content:
148+
print(termcolor.colored("Developer Message:", "yellow"), flush=True)
149+
print(developer_message_content.instructions, flush=True)
148150

149151
# Print the system message and the user message start
150152
MESSAGE_PADDING = 12

gpt_oss/responses_api/api_server.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -793,34 +793,34 @@ def _ensure_list(inp):
793793
system_message = Message.from_role_and_content(
794794
Role.SYSTEM, system_message_content
795795
)
796+
messages = [system_message]
796797

797-
developer_message_content = DeveloperContent.new().with_instructions(
798-
body.instructions
799-
)
798+
if body.instructions or body.tools:
799+
developer_message_content = DeveloperContent.new().with_instructions(
800+
body.instructions
801+
)
800802

801-
tools = []
802-
if body.tools:
803+
tools = []
803804
for tool in body.tools:
804805
if tool.type == "function":
805-
has_functions = True
806806
tools.append(
807807
ToolDescription.new(
808808
tool.name,
809809
tool.description,
810810
tool.parameters,
811811
)
812812
)
813-
814-
if len(tools) > 0:
815-
developer_message_content = developer_message_content.with_function_tools(
816-
tools
817-
)
818813

819-
developer_message = Message.from_role_and_content(
820-
Role.DEVELOPER, developer_message_content
821-
)
814+
if tools:
815+
developer_message_content = developer_message_content.with_function_tools(
816+
tools
817+
)
818+
819+
developer_message = Message.from_role_and_content(
820+
Role.DEVELOPER, developer_message_content
821+
)
822822

823-
messages = [system_message, developer_message]
823+
messages.append(developer_message)
824824

825825
if isinstance(body.input, str):
826826
user_message = Message.from_role_and_content(Role.USER, body.input)

0 commit comments

Comments
 (0)