feat: translate system to developer or o-series models (#1692)

Co-authored-by: cpacker <packercharles@gmail.com>
This commit is contained in:
Sarah Wooders
2025-04-11 21:59:48 -07:00
committed by GitHub
parent 9841936de2
commit 1dbf6cd4e5
2 changed files with 9 additions and 2 deletions

View File

@@ -66,8 +66,14 @@ class OpenAIClient(LLMClientBase):
put_inner_thoughts_first=True,
)
use_developer_message = llm_config.model.startswith("o1") or llm_config.model.startswith("o3") # o-series models
openai_message_list = [
cast_message_to_subtype(m.to_openai_dict(put_inner_thoughts_in_kwargs=llm_config.put_inner_thoughts_in_kwargs))
cast_message_to_subtype(
m.to_openai_dict(
put_inner_thoughts_in_kwargs=llm_config.put_inner_thoughts_in_kwargs,
use_developer_message=use_developer_message,
)
)
for m in messages
]

View File

@@ -598,6 +598,7 @@ class Message(BaseMessage):
self,
max_tool_id_length: int = TOOL_CALL_ID_MAX_LEN,
put_inner_thoughts_in_kwargs: bool = False,
use_developer_message: bool = False,
) -> dict:
"""Go from Message class to ChatCompletion message object"""
@@ -625,7 +626,7 @@ class Message(BaseMessage):
assert all([v is not None for v in [self.role]]), vars(self)
openai_message = {
"content": text_content,
"role": self.role,
"role": "developer" if use_developer_message else self.role,
}
elif self.role == "user":