【大模型实践】基于文心一言的对话模型设计

文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息知识灵感。文心一言从数万亿数据和数千亿知识中融合学习,得到预训练大模型,在此基础上采用有监督精调、人类反馈强化学习、提示等技术,具备知识增强、检索增强和对话增强的技术优势。

本文使用gradio开发一个简单的对话页面,使用的大模型是文心一言。

一、获取token

百度的aistudio平台提供免费的文心一言调用token,每个用户100W个,点击token:

在我的令牌可以看到token:

后续会用到该token,请将代码中的token更换成自己的token。

二、编写代码

创建文件erniebot_test.py,代码如下,请将erniebot.access_token替换为自己的token:

bash 复制代码
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 :

bash 复制代码
conda create -n erniebot_test python=3.10

如下图,提示输入Y/N时输入y:

进入该虚拟环境:

bash 复制代码
conda activate erniebot_test

如下图:

安装依赖:

bash 复制代码
pip install -U erniebot -i https://mirrors.aliyun.com/pypi/simple/
pip install -U gradio -i https://mirrors.aliyun.com/pypi/simple/

运行代码:

bash 复制代码
python erniebot_test.py

如下图:

浏览器打开127.0.0.1即可:

在下方的文本框输入,按回车开启对话:

相关推荐
万少3 天前
一手实测,文心x1.1的升级很惊喜啊
百度·openai·文心一言
xcLeigh22 天前
文心一言4.5开源模型实战:ERNIE-4.5-0.3B轻量化部署与效能突破
人工智能·开源·大模型·文心一言·ernie·轻量化部署
倔强的石头1061 个月前
[源力觉醒 创作者计划]_文心4.5开源测评:国产大模型的技术突破与多维度能力解析
百度·开源·文心一言·文心大模型
bin91531 个月前
「源力觉醒 创作者计划」_文心大模型4.5系列开源模型, 从一行代码到一个生态:聊聊开源战略那些事儿,顺便扯扯文心大模型 4.5 的使用心得
人工智能·开源·文心一言·文心大模型·4.5系列开源模型
心之所依皆是你1 个月前
「源力觉醒 创作者计划」 百度AI的战略“惊蛰”,一场重塑格局的“破壁行动”
文心一言·deepseek·qwen3.0
玄明Hanko1 个月前
百度开源 ERNIE 4.5,将给国内大模型生态带来哪些影响
人工智能·文心一言·ai编程
玄明Hanko1 个月前
DeepSeek开源 vs 文心4.5开源
人工智能·文心一言·deepseek
水上冰石1 个月前
【源力觉醒 创作者计划】文心一言与deepseek集成springboot开发哪个更方便
spring boot·后端·文心一言
倔强的石头1061 个月前
[源力觉醒 创作者计划]_文心大模型4.5开源:从技术突破到生态共建的国产AI解读与本地部署指南
人工智能·开源·文心一言·文心大模型
chaofan9802 个月前
ERNIE-4.5-0.3B 实战指南:文心一言 4.5 开源模型的轻量化部署与效能跃升
人工智能·开源·文心一言