【大模型实践】基于文心一言的对话模型设计
2023-12-22 18:00:35
文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识中融合学习,得到预训练大模型,在此基础上采用有监督精调、人类反馈强化学习、提示等技术,具备知识增强、检索增强和对话增强的技术优势。
本文使用gradio开发一个简单的对话页面,使用的大模型是文心一言。
一、获取token
百度的aistudio平台提供免费的文心一言调用token,每个用户100W个,点击token:
在我的令牌可以看到token:
后续会用到该token,请将代码中的token更换成自己的token。
二、编写代码
创建文件erniebot_test.py,代码如下,请将erniebot.access_token替换为自己的token:
import gradio as gr
import random
import time
import os
import erniebot
import gradio as gr
def predict(content, his):
if len(his)>0 and isinstance(his[0], list):
his = his[0]
erniebot.api_type = "aistudio"
erniebot.access_token ="xxx" # 替换为自己的token
message = []
for idx, msg in enumerate(his):
if idx % 2 == 0:
message.append(
{'role': 'user',
'content': msg,}
)
else:
message.append(
{'role': 'assistant',
'content': msg,}
)
message.append(
{'role': 'user',
'content': content,}
)
response = erniebot.ChatCompletion.create(model="ernie-bot", messages=message)
return response.result
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.ClearButton([msg, chatbot])
def respond(message, chat_history):
bot_message = predict(message, chat_history)
chat_history.append((message, bot_message))
return "", chat_history
msg.submit(respond, [msg, chatbot], [msg, chatbot])
if __name__ == "__main__":
demo.launch(inbrowser=True, server_port=80, share=True, server_name="0.0.0.0")
三、创建环境
您可以参考【深度学习实践】换脸应用dofaker本地部署中的anaconda安装教程完成anaconda的安装。
创建虚拟环境erniebot_test?:
conda create -n erniebot_test python=3.10
如下图,提示输入Y/N时输入y:
进入该虚拟环境:
conda activate erniebot_test
如下图:
安装依赖:
pip install -U erniebot -i https://mirrors.aliyun.com/pypi/simple/
pip install -U gradio -i https://mirrors.aliyun.com/pypi/simple/
运行代码:
python erniebot_test.py
如下图:
浏览器打开127.0.0.1即可:
在下方的文本框输入,按回车开启对话:
文章来源:https://blog.csdn.net/qq_40035462/article/details/135153476
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!