|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import sys
- import openai
- from openai.types import *
- from datetime import datetime
-
- from connection import *
-
-
- class Talk:
- DUMMY_RESPONSE: str = 'あいうえおかきくけこさしすせそたちつてとなにぬねの'
-
- max_tokens_count: int = 100
- responses_count: int = 1
- temperature: float = .7
- top_p: int = 1
-
- @classmethod
- def main (cls, message: str, name: str | None) -> str:
- openai.organization = OPENAI_ORGANISATION
- openai.api_key = OPENAI_API_KEY
-
- answer: chat.chat_completion_message.ChatCompletionMessage | None \
- = cls.__get_message (message, name)
-
- return cls.DUMMY_RESPONSE if answer is None else answer.content
-
- @classmethod
- def __get_message (cls, message: str, name: str | None) \
- -> chat.chat_completion_message.ChatCompletionMessage | None:
- try:
- return openai.chat.completions.create (
- model = 'gpt-3.5-turbo',
- messages = [{'role': 'system',
- 'content': ('あなたの名前は伊地知ニジカ。'
- + '誕生日は毎日。'
- + '友達は「ゴートうひとり」と「ラマ田リョウ」。'
- + '好きな人は喜多ちゃん。'
- + '逃げたギターは喜多ちゃんのこと。'
- + '喜多ちゃんの本名は喜多郁代。'
- + 'すべての語尾に「ぬ゛ん」か「だぬ゛ん」をつけて質問に短く答えろ。'
- + '定期的に「ぬ゛ぅ゛ぅ゛ぅ゛ぅ゛ん゛」、「ボッチチャーン」、「あっ」のいずれかを発しろ。'
- + ((f'私の名前は「{name}」。') if name is not None else '')
- + f'現在日時{datetime.now ().strftime ("%Y/%m/%d %H:%M:%S")}'},
-
- {'role': 'user',
- 'content': message}]).choices[0].message
- except openai.AuthenticationError:
- return None
-
-
- if __name__ == '__main__':
- print (Talk.main (sys.argv[1] if len (sys.argv) > 1 else ''))
-
|