|
@ -41,16 +41,13 @@ class ZhipuaiChat(PyOperator): |
|
|
prompt=messages, |
|
|
prompt=messages, |
|
|
**self.kwargs |
|
|
**self.kwargs |
|
|
) |
|
|
) |
|
|
|
|
|
return self.stream_output(response) |
|
|
else: |
|
|
else: |
|
|
response = zhipuai.model_api.invoke( |
|
|
response = zhipuai.model_api.invoke( |
|
|
model=self._model, |
|
|
model=self._model, |
|
|
prompt=messages, |
|
|
prompt=messages, |
|
|
**self.kwargs |
|
|
**self.kwargs |
|
|
) |
|
|
) |
|
|
if self.stream: |
|
|
|
|
|
for x in response.events(): |
|
|
|
|
|
yield {'event': x.event, 'id': x.id, 'data': x.data, 'meta': x.meta} |
|
|
|
|
|
else: |
|
|
|
|
|
return response |
|
|
return response |
|
|
|
|
|
|
|
|
def parse_inputs(self, messages: List[dict]): |
|
|
def parse_inputs(self, messages: List[dict]): |
|
@ -67,12 +64,14 @@ class ZhipuaiChat(PyOperator): |
|
|
elif k == 'answer': |
|
|
elif k == 'answer': |
|
|
new_m = {'role': 'assistant', 'content': v} |
|
|
new_m = {'role': 'assistant', 'content': v} |
|
|
else: |
|
|
else: |
|
|
'Invalid message key: only accept key value from ["question", "answer"].' |
|
|
|
|
|
|
|
|
raise KeyError('Invalid message key: only accept key value from ["question", "answer"].') |
|
|
new_messages.append(new_m) |
|
|
new_messages.append(new_m) |
|
|
return new_messages |
|
|
return new_messages |
|
|
|
|
|
|
|
|
def stream_output(self, response): |
|
|
|
|
|
raise RuntimeError('Stream is not yet supported.') |
|
|
|
|
|
|
|
|
@staticmethod |
|
|
|
|
|
def stream_output(response): |
|
|
|
|
|
for x in response.events(): |
|
|
|
|
|
yield {'event': x.event, 'id': x.id, 'data': x.data, 'meta': x.meta} |
|
|
|
|
|
|
|
|
@staticmethod |
|
|
@staticmethod |
|
|
def supported_model_names(): |
|
|
def supported_model_names(): |
|
|