ERNIE Bot 大模型

项目:使用 ERNIE Bot 完成文本创作、对话和语义向量转换

日期:5.10-5.15

简介:

        在这个学习日志中,我将记录我使用 ERNIE Bot Python 库完成文本创作、对话和语义向量转换的全过程。ERNIE Bot 是由文心&飞桨官方提供的 Python 库,提供了方便易用的 Python 接口,可以调用文心大模型的能力,完成包括文本创作、通用对话、语义向量转换和 AI 作图等多项任务。

        在这个项目中,我将首先进行认证鉴权,确保可以正常访问 ERNIE Bot 的功能。然后,我将进行单轮对话和多轮对话的实验,观察模型的响应结果。最后,我将尝试将文本转换为语义向量,并进行简单的分析。

一、认证鉴权

        为了能够正常使用 ERNIE Bot 的功能,我首先进行了认证鉴权操作。通过设置 api_typeaccess_token,我成功连接到文心&飞桨官方提供的 ERNIE Bot 服务,确保可以使用其提供的各项功能。

# 认证鉴权
import erniebot

erniebot.api_type = 'aistudio'
erniebot.access_token = '*****************' # 个人token

二、单轮对话实验

        在单轮对话实验中,通过使用 erniebot.ChatCompletion.create API,发起了对话补全请求。我向模型发送了一条消息:“请对我说‘你好,世界!’”,并观察了模型的响应结果。通过打印模型的响应结果,可以查看模型对于用户消息的回复内容。

        具体代码如下:

# 第一个hello-world程序(单轮对话)
# messages中的每一项都是一个字典,其中的'role': 'user'表示发出当前消息的角色是“用户”,'content'对应消息的具体内容
response = erniebot.ChatCompletion.create(    #erniebot.ChatCompletion.create API,发起对话补全请求,并打印模型的响应结果
    model='ernie-3.5',
    messages=[{'role': 'user', 'content': "请对我说“你好,世界!”"}],
)
print(response.get_result())

结果:

三、多轮对话实验

        在多轮对话实验中,我模拟了一个对话场景,首先向模型发起了一个询问:“请问你能以《你好,世界》为题,写一首现代诗吗?”然后,我将模型在第一轮对话中的回答加入到消息列表中,并继续向模型发起第二轮对话:“谢谢你!请问你能把这首诗改写成七言绝句吗?”通过打印模型的响应结果,我可以观察模型在多轮对话中的表现和处理逻辑。

        具体代码如下:

# 第二个hello-world程序(多轮对话)
# 第一轮对话
model = 'ernie-3.5'
messages = [{'role': 'user', 'content': "请问你能以《你好,世界》为题,写一首现代诗吗?"}]
first_response = erniebot.ChatCompletion.create(
    model=model,
    messages=messages,
)
print(first_response.get_result())

# 第二轮对话
# 将模型在第一轮对话里做出的回答加入到messages中(调用to_message方法将响应转换为消息)
messages.append(first_response.to_message())
messages.append({'role': 'user', 'content': "谢谢你!请问你能把这首诗改写成七言绝句吗?"})

second_response = erniebot.ChatCompletion.create(
    model=model,
    messages=messages,
)
print(second_response.get_result())

结果: 

四、语义向量转换实验

        在语义向量转换实验中,我使用了 erniebot.Embedding.create API,将文本转换为语义向量。我准备了两个输入文本:“我是百度公司开发的人工智能语言模型,我的中文名是文心一言,英文名是 ERNIE-Bot。”和“2018年深圳市各区 GDP”。通过打印模型返回的语义向量,我可以观察文本的语义信息在向量空间中的表示。

        具体代码如下:


# 语义向量 : 将文本转化为用数值表示的向量形式
# ERNIE Bot提供erniebot.Embedding.create API生成输入文本的语义向量

import numpy as np

response = erniebot.Embedding.create(
    model='ernie-text-embedding',
    input=[
        "我是百度公司开发的人工智能语言模型,我的中文名是文心一言,英文名是ERNIE-Bot。",
        "2018年深圳市各区GDP"
    ])

for embedding in response.get_result():
    embedding = np.array(embedding)
    print(embedding)

五、总结与反思

        通过完成这个项目,我对于使用 ERNIE Bot 进行文本创作、对话和语义向量转换有了更深入的了解。我学会了如何调用 ERNIE Bot 提供的各项功能,并且通过实验观察了模型的表现和输出结果。在未来的实践中,我将继续探索 ERNIE Bot 的更多应用场景,并深入研究其中的原理和算法,以提升我的文本处理和自然语言处理能力。

具体代码链接:飞桨AI Studio星河社区-人工智能学习与实训社区

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值