PaddleNLP 支持主流LLM 对话模型,同时支持自动构建多轮对话,可通过以下脚本。
使用对话模板
from paddlenlp.transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-v1.1") # 单论对话 query = "北京有什么好玩的" inputs = tokenizer.apply_chat_template(query, return_tensors="pd") # 多轮对话 query = [["1+1=", "1+1=2"], ["再加一"]] inputs = tokenizer.apply_chat_template(query, return_tensors="pd")
自定义对话模板
在介绍如何自定义对话模板之前,介绍对话模板构造的逻辑:final_query = system + conversation_history + query
。
-
system: 在最终 prompt 最前面的固定文本,比如:你是一个人工智能助手,风趣幽默,通常喜欢用比较文艺的语言风格跟人们沟通。
-
conversation_history: 将多轮对话构造成一个 query,不同模型通常会有不同的构造规则。
-
query: 用户最新的输入。
构建自定义对话模板非常简单,只需要创建一个 chat_template.json
文件即可,如下所示