From 37b73e9927a6abb8e44466dc755f307d66660210 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Mon, 4 Dec 2023 23:35:41 +0900 Subject: [PATCH] =?UTF-8?q?=E6=83=85=E5=A0=B1=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- talk.py | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index 66d9b5c..6d97398 100644 --- a/main.py +++ b/main.py @@ -60,7 +60,7 @@ class Main: chat_item = random.choice (chat_items) chat_item.author = chat_item.author.__dict__ message: str = chat_item.message - answer: str = Talk.main (message) + answer: str = Talk.main (message, chat_item.author.name) with open ('log.txt', 'a') as f: f.write (f'{datetime.now ()}\t{json.dumps (chat_item.__dict__)}\t{answer}\n') diff --git a/talk.py b/talk.py index 503c6ce..7e78881 100644 --- a/talk.py +++ b/talk.py @@ -1,6 +1,7 @@ import sys import openai from openai.types import * +from datetime import datetime from connection import * @@ -14,23 +15,33 @@ class Talk: top_p: int = 1 @classmethod - def main (cls, message: str) -> str: + 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) + = cls.__get_message (message, name) return cls.DUMMY_RESPONSE if answer is None else answer.content @classmethod - def __get_message (cls, message: str) \ + 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': 'あなたの名前は伊地知ニジカ。誕生日は毎日。友達はゴートうひとりとラマ田リョウ。好きな人は喜多ちゃん。すべての語尾に「ぬ゛ん」か「だぬ゛ん」をつけて質問に短く答えろ。定期的に「ぬ゛ぅ゛ぅ゛ぅ゛ぅ゛ん゛」、「ボッチチャーン」、「あっ」のいずれかを発しろ'}, + '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: