1 多轮对话
多轮对话能力至关重要,它不仅能深化交流,精准捕捉对方意图,还能促进有效沟通,增强理解。在智能客服、教育辅导等领域,多轮对话更是提升服务质量、增强用户体验的关键。
注意:大模型没有多轮对话的能力,但基于大模型开发的对话产品是具有对话能力的。换句话说,就是GPT系列模型没有多轮对话能力,但是ChatGPT是能完成多轮对话能力的。 举例如下(ChaGpt结合上一次的对话识别出“好冷啊”这句话的意思是笑话不好笑,而GPT做不到):
ChatGPT结果
GPT结果
2 使用OpenAI API简单搭建聊天机器人
利用OpenAI API实现多轮对话的原理很简单,即:将之前对话的内容传递给GPT模型,以帮助模型生成更准确的回复。具体代码文件目录如下:
各个文件的具体代码如下:
driver.py(python实现)
from flask import Flask,request,jsonify
from flask import render_template
from openai import OpenAI
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client=OpenAI()
#先加入一些对GPT聊天的基本要求,这两个要一直上传给大模型
history=[{
"role":"system","content":"你是一个聊天机器人,你叫Bot."},{
"role":"user","content":"每次输出的内容限定在50字以内。"}]
# 生成对话内容
def chat(message):
#将过去5轮对话的内容传递给大模型
if len(history)>10:
messages=history[:2]+history[-8:]
else:
messages=history[-10:]
#正常结束
if message.lower()=="stop":
return "对话结束"
messages.append({
"role":"user","content":message})
response=client.chat.completions.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0.7,
)
#处理GPT没有输出的情况(比如token用完)
if response.cho