聊天机器人或客服助手是AI工具,希望通过互联网上的文本或语音与用户的交付,实现业务价值。聊天机器人的发展在这几年间迅速进步,从最初的基于简单逻辑的机器人到现在基于自然语言理解(NLU)的人工智能。对于后者,构建此类聊天机器人时最常用的框架或库包括国外的RASA、Dialogflow和Amazon Lex等,以及国内大厂百度、科大讯飞等。这些框架可以集成自然语言处理(NLP)和NLU来处理输入文本、分类意图并触发正确的操作以生成响应。
第一步:安装 OpenAI 库pip install openai
安装后,我们就可以加载数据了:
import osimport jsonimport openaiimport pandas as pdfrom dotenv import load_dotenvload_dotenv()os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_KEY')openai.api_key = os.getenv('OPENAI_KEY')data = pd.read_csv('data/data.csv')new_df = pd.DataFrame({'Interview AI': data['Text'].iloc[::2].values, 'Human': data['Text'].iloc[1::2].values})print(new_df.head(5))
我们将问题加载到Interview AI列中,并将相应的答案加载到Human列中。我们还需要创建一个环境变量.env文件来保存OPENAI_API_KEY
接下来,我们将数据转换为 GPT-3 的标准。根据文档,确保数据采用JSONL具有两个键的格式,这个很重要:prompt例如completion
{ "prompt" : "
" , "completion" : "" } { "prompt" : "
" , "completion" : "" }
重新构造数据集以适应以上方式,基本是循环遍历数据框中的每一行,并将文本分配给Human,将Interview AI文本分配给完成。
output = []for index, row in new_df.iterrows(): print(row) completion = '' line = {'prompt': row['Human'], 'completion': row['Interview AI']} output.append(line)print(output)with open('data/data.jsonl', 'w') as outfile: for i in output: json.dump(i, outfile) outfile.write('n')
使用prepare_data命令,这时会在提示时询问一些问题,我们可以提供Y或N回复。
os.system("openai tools fine_tunes.prepare_data -f 'data/data.jsonl' ")
最后,一个名为的文件data_prepared.jsonl被转储到目录中。
3、fun-tuning 模型要fun-tuning模型,我们只需要运行一行命令:
os .system( "openai api fine_tunes.create -t 'data/data_prepared.jsonl' -m davinci " )
这基本上使用准备好的数据从 OpenAI 训练davinci模型,fine-tuning后的模型将存储在用户配置文件下,可以在模型下的右侧面板中找到
结论GPT-3 是一种强大的大型语言生成模型,最近火到无边无际的chatgpt就是基于GPT-3上fine-tuning的,我们也可以对GPT-3进行fine-tuning,以构建适合我们自己业务的聊天机器人。fun-tuning过程调整模型的参数可以更好地适应业务对话数据,让机器人更善于理解和响应业务的需求。经过fine-tuning的模型可以集成到聊天机器人平台中以处理用户交互,还可以为聊天机器人生成客服回复习惯与用户交互。整个实现可以在这里找到,数据集可以从这里下载。
花粉社群VIP加油站
猜你喜欢