Spaces:
Running
Running
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 | |