File size: 823 Bytes
3724ac8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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