Spaces:
Sleeping
Sleeping
| from langchain_openai import ChatOpenAI | |
| from langchain_core.language_models import LanguageModelInput | |
| from typing import Any, List, Optional | |
| # this will look for the regular openai env vars | |
| # (OPENAI_API_KEY and OPENAI_API_BASE so override externally with gpt-jrc coords) | |
| class JRCChatOpenAI(ChatOpenAI): | |
| def _get_request_payload( | |
| self, | |
| input_: LanguageModelInput, | |
| *, | |
| stop: Optional[List[str]] = None, | |
| **kwargs: Any, | |
| ) -> dict: | |
| """ | |
| NOTE: this solves bug_00_tool_message: by changing role of tool messages to system | |
| gpt@jrc is happy | |
| """ | |
| r = super()._get_request_payload(input_=input_, stop=stop, **kwargs) | |
| for m in r["messages"]: | |
| if m["role"] == "tool": | |
| m["role"] = "system" | |
| return r | |