Include fix for o1 models not supporting system messages

This commit is contained in:
Brandon Hancock
2025-02-06 10:10:23 -05:00
parent d8891bcf83
commit e2b460374a
3 changed files with 15 additions and 0 deletions

View File

@@ -290,6 +290,8 @@ class Agent(BaseAgent):
response_template=self.response_template,
).task_execution()
print("PROMPT:")
print(prompt)
stop_words = [self.i18n.slice("observation")]
if self.response_template:

View File

@@ -94,6 +94,9 @@ class CrewAgentExecutor(CrewAgentExecutorMixin):
user_prompt = self._format_prompt(self.prompt.get("prompt", ""), inputs)
self.messages.append(self._format_msg(user_prompt))
print("MESSAGES:")
print(self.messages)
self._show_start_logs()
self.ask_for_human_input = bool(inputs.get("ask_for_human_input", False))

View File

@@ -216,6 +216,13 @@ class LLM:
if isinstance(messages, str):
messages = [{"role": "user", "content": messages}]
# For O1 models, system messages are not supported.
# Convert any system messages into assistant messages.
if self.model.lower() in {"o1-preview", "o1-mini"}:
for message in messages:
if message.get("role") == "system":
message["role"] = "assistant"
with suppress_warnings():
if callbacks and len(callbacks) > 0:
self.set_callbacks(callbacks)
@@ -259,6 +266,9 @@ class LLM:
text_response = response_message.content or ""
tool_calls = getattr(response_message, "tool_calls", [])
print("MESSAGES IN LLM:")
print(messages)
# --- 3) Handle callbacks with usage info
if callbacks and len(callbacks) > 0:
for callback in callbacks: