[七夕节快乐] 没有女友,生成你的专属虚拟女友吧~

白云朵朵,描绘梦想

苍穹蓝蓝,相约翱翔

风儿吹吹,思绪乱飞

雨儿飘飘,落入心间

相思苦苦,爱意浓浓

七夕佳节,爱你永久

祝七夕愉快!


七夕来临,你“孤寡”了吗?


在这里插入图片描述

在这里插入图片描述

好了好了,言归正传,孤寡够了,那就来点实际的吧

下图中的图片全部都是由文心大模型ERNIE-VILG生成的,目前还是偏向于动漫风的多一点

在这里插入图片描述

那能不能让她说话呢,也是可以的!

效果一览

闲着也是闲着不如,试试文心大模型的文生图,获取你的专属女友!

考虑到第一次使用Ai Studio的用户,这里进行简单的指引

先fork才能运行嗷~感谢您的fork!

在这里插入图片描述

fork之后等待片刻,点击启动环境,选择高级GPU版本确定即可

在这里插入图片描述

本文已经将代码编写的很规整,大家在使用前只需要点击左侧run即可

部分文本你可以根据你的需要和提升进行更改

在这里插入图片描述

文心大模型

先上官方网址:

https://wenxin.baidu.com/wenxin/multi

文心·跨模态大模型

基于知识增强的跨模态语义理解关键技术,可实现跨模态检索、图文生成、图片文档的信息抽取等应用的快速搭建,落实产业智能化转型的AI助力。

我们本篇讲使用文心大模型的图文生图功能以及智能问答,打造一个属于你的AI女友!

在这里插入图片描述

文生图 ERNIE-ViLG

全球最大中文跨模态生成模型

1 模型介绍

文心ERNIE-ViLG参数规模达到100亿,是目前为止全球最大规模中文跨模态生成模型,在文本生成图像、图像描述等跨模态生成任务上效果全球领先,在图文生成领域MS-COCO、COCO-CN、AIC-ICC等数据集上取得最好效果。

2 使用说明

文心ERNIE-ViLG可以根据用户输入的文本,自动创作图像。你可以在文本框中输入一段文本描述,并选择生成风格,模型就会根据输入的内容自动创作出符合要求的图像。

友情提示:文生图不错,但文生人图,一直都是目前的难点,理性看待效果,多次尝试嗷

3 获取token

当然,我这里client_id,client_secret肯定和你们不一样,你们可以自行前往申请(点击即可获取,不麻烦!)

https://wenxin.baidu.com/younger/apiDetail?id=20008

找到下图位置,申请调用密匙即可

在这里插入图片描述

import requests
import json

# 执行代码前填入你的AK和SK
# 'client_id':'xxxxxxxxxxxxxx'
# 'client_secret':'xxxxxxxxxxx'

# 获取token
token = requests.request('POST',
                    'https://wenxin.baidu.com/younger/portal/api/oauth/token',
                data={
                    'grant_type':'client_credentials',
                    'client_id':'your ak',
                    'client_secret':'your sk'},
                    timeout=3)
token = json.loads(token.text)['data']

token
# 如果代码没有问题,下面的输出应该是这样的
# 'xx.xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxx'
'24.de6566949558fc7dc4716a4403ea2e0e.86400000.1659069656295.6e72c5323745779c7900ab465efc9fe4-38781'

4 调用ERNIE-VILG Api

运行这段代码,直接点击代码左侧的在这里插入图片描述
即可

# 生成存图的目录
import os
def init_mkdir():
    data_path = 'output-img'
    if not os.path.exists(data_path): # 判断文件夹是否存在
        os.makedirs(data_path) # 不存在则新建文件夹

init_mkdir()

我这里使用的描述文本就是

desp = ‘美丽温柔可爱的小仙女’

大家可以根据自己的需要进行多次尝试,尽量使用比较简洁明了的文本即可。

比如: 美丽 可爱 漂亮 大方 仙女 女朋友

大家当然也可以自行尝试,如果你希望生成的不是人,是风景的话,效果更佳

这里还有第二个参数

style = ['油画','水彩画','中国画']

这里是目前所支持的三种风格,这三种风格文字不能进行更改,但你可以选择使用哪一个风格生成图片,把对应的[x]进行更改即可

油画: ‘style’: style[0]

水彩画: ‘style’: style[1]

中国画: ‘style’: style[2]

运行这段代码,直接点击代码左侧的在这里插入图片描述
即可

url = "https://wenxin.baidu.com/younger/portal/api/rest/1.0/ernievilg/v1/txt2img"
style = ['油画','水彩画','中国画']
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
    "Content-Type": "application/x-www-form-urlencoded"
}

# 你想要的女朋友是什么样的呢?
# 我的是这样的!
# 不超过16个字
desp = '漂亮,美丽,小仙女,女朋友'

# access_token 前面生成的token
# text 你需要生成的图像的文本
# style 哪一种风格
# resolution 分辨率,目前只支持1024的大小
payload={
    'access_token': token,
    'text': desp[:16],
    'style': style[2],
    'resolution': 1024
    }

response = requests.request("POST", url, data=payload, headers = headers,timeout = 30)

out = json.loads(response.text)

print(out)

task_id = out["data"]["taskId"]

print(task_id)
{'code': 0, 'msg': 'success', 'data': {'taskId': 1019148}}
1019148

拿到taskId,拿到taskId才可以执行下一个代码块获取得到的图像文件。

生成的图像用如下接口获取

5 获取返回的图片

这里要记得等待一下,再执行代码,毕竟一张图的生成是需要时间的!

大概就是两三分钟

当然你可以等一下就运行一次,这里我也写了提示,如果没有生成完是可以提示的。

运行这段代码,直接点击代码左侧的在这里插入图片描述
即可

from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline
import requests

url = "https://wenxin.baidu.com/younger/portal/api/rest/1.0/ernievilg/v1/getImg"

payload={
    'access_token': token,
    'taskId': task_id
    }

response = requests.request("POST", url, data=payload)

# 获取图片的路径
img = json.loads(response.text)["data"]["imgUrls"]

# 默认是生成十张图片
if (len(img)!=10):
    print("图片正在生成中,请耐心等待,稍后重新运行代码......")

# 存图片的目录
init_mkdir()

# 展示十张生成的图片并保存
for i in img:
    i = i["image"]
    #使用requests直接get 下载图片使用
    r = requests.get(i)
    ii = i.split('/')[-1]+'.png'
    out_ii = 'output-img/' + ii
    with open(out_ii, 'wb') as f:
        f.write(r.content)
    f.close()
    img_ = Image.open(out_ii)
    plt.show()
    plt.imshow(img_)
图片正在生成中,请耐心等待,稍后重新运行代码......

暖心问答 ERNIE 3.0 Zeus 文本生成

ERNIE 3.0 Zeus 文本生成

全球首个融合任务相关知识的千亿中文大模型

1 模型介绍

ERNIE 3.0 Zeus 是全新发布的融合任务相关知识的千亿大模型,该模型大幅刷新各类 NLP 任务最好效果,在各类公开数据集及真实场景上零样本与小样本能力均取得显著提升。当前 API 为开发者提供大模型的探索和体验。

2 使用说明

在文本框中输入一句或者一段话,模型将会根据输入的内容进行后文续写。

3 实战

这里的文本你可以随意输入,然后依旧是执行小三角运行代码即可

que = ‘你喜欢我吗?’

运行这段代码,直接点击代码左侧的在这里插入图片描述
即可

import requests

url = "https://wenxin.baidu.com/younger/portal/api/rest/1.0/ernie/3.0/zeus"

que = '你喜欢我吗?'

text = '问题:' + que + '?' + ' ' + '回答:'
payload={
    'text': text,
    'seq_len': 256,
    'task_prompt': '',
    'dataset_prompt': '',
    'access_token': token,
    'topk': 10,
    'stop_token': ''
    }

response = requests.request("POST", url, data=payload)

print(response.text)
{"code":0,"msg":"","data":{"result":"喜欢"}}
answer = json.loads(response.text)["data"]["result"]

answer
'喜欢'

唇形合成,让她开口说爱你

1 PaddleSpeech文本转语音

将上述生成的文本转换成语音格式

运行下面的代码,直接点击代码左侧的在这里插入图片描述
即可

# 安装库,大概需要1-2分钟
!pip install pytest-runner
!pip install paddlespeech

# 下载nltk数据包,如果项目中有就不用下载了
%cd /home/aistudio
!wget -P data https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz
!tar zxvf data/nltk_data.tar.gz
# 一定是GPU版本才可以运行起来
# 在文本中加上前缀我,后缀你
if ('我' not in answer):
    answer = '我好好好' + answer
if ('你' not in answer):
    answer =  answer + '你'

# 黏人一点,dddd
text = '臭宝,'+ answer + '呀,我要一直和你在一起,超幸福的'

from paddlespeech.cli.tts.infer import TTSExecutor

audio_path = "/home/aistudio/output.wav"
tts = TTSExecutor()
tts(text=text, output="/home/aistudio/output.wav")
# 进行项目可以查看效果
import IPython.display as ipd

ipd.Audio(audio_path)

此文仅为搬运,原作链接:https://aistudio.baidu.com/aistudio/projectdetail/4374178

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐