0

GPT2 カスタム チャットボットの相互作用の問題

GPT2 カスタム チャットボットのシングル インタラクション。この実装ではスレッドを使用していませんが、「multiprocessing_chunksize」と表示されています。ここでは、gpt2 を使用してチャットボットを構築し、カスタムの日付セット (タイプ: ペルソナ) によってトレーニングされたカスタム モデルと対話しようとします。

#from bot_make.utils import helper
import shutil
from simpletransformers.conv_ai import ConvAIModel
import os
import pickle
from termcolor import colored
import requests

def cache_select(cache_name):
    shutil.unpack_archive('base_model/'+cache_name,'./single_interact/cache_dir','zip')
    print('done')

def cache_down(url):
    try:
        r = requests.get(url, allow_redirects=True)
        open('single_interact/cache_dir.zip', 'wb').write(r.content)
        shutil.unpack_archive('single_interact/cache_dir.zip','./single_interact/cache_dir','zip')
        os.remove(f"single_interact/cache_dir.zip")
        return True
    except:
        return False


def model_down(url):
    try:
        r = requests.get(url, allow_redirects=True)
        open('single_interact/for_load.tar.gz', 'wb').write(r.content)
        return True
    except:
        return False

print('Model and Cache down')
cache_ck = cache_down('https://bucket.s3.amazonaws.com/generated_data_1_model_2_cache_dir.zip')
model_ck = model_down('https://bucket.s3.amazonaws.com/generated_data_1_model_2.tar.gz')

print('Start BOT')
def model_load(model_name):
    return pickle.load(open('single_interact/'+model_name, 'rb'))

#cache_select('base_model_small_cache_dir.zip')
my_model = model_load('for_load.tar.gz')

#my_model.interact()
os.chdir('single_interact/')
a = ['hello']
def single_response(user_input): 
  reply, history = my_model.interact_single(message=user_input, history=a)
  for i in history :
    a.append(i)

  return reply

print("\n===============================================")
print("================= Conv AI.V ===================")
print("===============================================\n")
while 1:
    talk = input(colored("You: ",'green'))
    if talk=='exit':break
    response = single_response(talk)

    myset = set(a)
    a = list(myset)
    #print('Bot : ',response)
    print(colored("Bot:",'red'),response)
    #print('History of re : ',a)
4

0 に答える 0