File size: 1,208 Bytes
0cc999a |
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 28 29 30 |
from .base_model import BaseLLMModel
import google.generativeai as palm
class Google_PaLM_Client(BaseLLMModel):
def __init__(self, model_name, api_key, user_name="") -> None:
super().__init__(model_name=model_name, user=user_name)
self.api_key = api_key
def _get_palm_style_input(self):
new_history = []
for item in self.history:
if item["role"] == "user":
new_history.append({'author': '1', 'content': item["content"]})
else:
new_history.append({'author': '0', 'content': item["content"]})
return new_history
def get_answer_at_once(self):
palm.configure(api_key=self.api_key)
messages = self._get_palm_style_input()
response = palm.chat(context=self.system_prompt, messages=messages,
temperature=self.temperature, top_p=self.top_p)
if response.last is not None:
return response.last, len(response.last)
else:
reasons = '\n\n'.join(
reason['reason'].name for reason in response.filters)
return "由于下面的原因,Google 拒绝返回 PaLM 的回答:\n\n" + reasons, 0
|