MCPcopy Create free account
hub / github.com/CL-lau/SQL-GPT / chat

Method chat

gpt/chat.py:103–153  ·  view source on GitHub ↗
(self, questions, system_assistant=None, assistant=None, temperature=None, need_stream=False)

Source from the content-addressed store, hash-verified

101 return None
102
103 def chat(self, questions, system_assistant=None, assistant=None, temperature=None, need_stream=False):
104 try:
105 messages = []
106 if system_assistant is not None:
107 messages.append({"role": "system", "content": system_assistant})
108 if assistant is not None:
109 messages.append({"role": "assistant", "content": assistant})
110 if isinstance(questions, list):
111 for index, question in enumerate(questions):
112 messages.append({"role": "user", "content": question})
113 if isinstance(questions, str):
114 messages.append({"role": "user", "content": questions})
115 response = None
116 if temperature is None:
117 print(self.MODEL_TYPE, messages)
118 response = openai.ChatCompletion.create(
119 model=self.MODEL_TYPE,
120 messages=messages,
121 )
122 else:
123 if isinstance(temperature, float):
124 response = openai.ChatCompletion.create(
125 model=self.MODEL_TYPE,
126 messages=messages,
127 temperature=temperature,
128 )
129 logging.info(response)
130 result = self.processResponse(response)
131 return result
132 except openai.error.AuthenticationError:
133 if len(self.app_keys) > 0:
134 available_key = self.find_valid_key()
135 openai.api_key = self.app_keys[0]
136 self.OPENAI_API_KEY = self.app_keys[0]
137 self.chat(questions, system_assistant, assistant, temperature, need_stream)
138 if available_key is None:
139 return ""
140 else:
141 logging.error("No valid keys found.")
142 return ""
143 except openai.error.OpenAIError as e:
144 if len(self.app_keys) > 0:
145 available_key = self.find_valid_key()
146 openai.api_key = self.app_keys[0]
147 self.OPENAI_API_KEY = self.app_keys[0]
148 self.chat(questions, system_assistant, assistant, temperature, need_stream)
149 if available_key is None:
150 return ""
151 else:
152 logging.error("No valid keys found.")
153 return ""
154
155 def contextual_chat(self, questions, system_assistant=None, assistant=None, temperature=None, need_stream=False):
156 try:

Callers 2

contextual_chatMethod · 0.95
askFileMethod · 0.80

Calls 2

processResponseMethod · 0.95
find_valid_keyMethod · 0.95

Tested by

no test coverage detected