『中秋赏月』程序员用文心大模型带你玩转不一样的中秋

简介: 『中秋赏月』程序员用文心大模型带你玩转不一样的中秋

中秋



中秋作为中国四大传统节日之一,又称祭月节、月光诞、月夕、秋节、仲秋节、拜月节、月娘节、月亮节、团圆节等,是中国民间的传统节日。中秋节源自天象崇拜,由上古时代秋夕祭月演变而来。中秋节自古便有祭月、赏月、吃月饼、看花灯、赏桂花、饮桂花酒等民俗,流传至今,经久不息。


文心大模型又能够和中秋一起产生什么样的火花呢?

让我们一起去看看吧~~~


文心大模型使用


可以参考:『抽丝剥茧』手把手快速上带你开启文心大模型的奇妙冒险


安装wenxin_api


!pip install wenxin_api


利用ERNIE-ViLG文生图模型生成图片


生成有关中秋的图片

在"text"中输入关键词即可(例如:中秋佳节、月亮、中秋吃月饼赏月、月饼、嫦娥奔月等)


稍等片刻即可

import wenxin_api 
from wenxin_api.tasks.text_to_image import TextToImage  
wenxin_api.ak = "You API Key"  # 填写自己的API Key
wenxin_api.sk = "You Secret Key"  # 填写自己的Secret Key
input_dict = {
    "text": "一家人一起过中秋吃月饼赏月",  # 文字描述内容
    "style": "水彩"  # 生成风格
}
photorst = TextToImage.create(**input_dict)
print(photorst)


2022-09-04 20:26:42,725 - model is painting now!, taskId: 1518540, waiting: 3m
2022-09-04 20:27:03,390 - model is painting now!, taskId: 1518540, waiting: 1m
{'imgUrls': ['https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796ex', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796i4', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f06397965q', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f063979630', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796v9', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796a2']}


下载生成的图片


import requests
img_names = []
for i in photorst['imgUrls']:
    img = requests.get(i)
    img_name = i.split('/')[-1]+'.png'
    img_names.append(img_name)
    with open(img_name, 'wb')as f:
        f.write(img.content)
print("下载完成")
2022-09-04 20:26:42,725 - model is painting now!, taskId: 1518540, waiting: 3m
2022-09-04 20:27:03,390 - model is painting now!, taskId: 1518540, waiting: 1m
{'imgUrls': ['https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796ex', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796i4', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f06397965q', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f063979630', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796v9', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/cad0bb72920308d8b5637355f0639796a2']}


下载生成的图片


import requests
img_names = []
for i in photorst['imgUrls']:
    img = requests.get(i)
    img_name = i.split('/')[-1]+'.png'
    img_names.append(img_name)
    with open(img_name, 'wb')as f:
        f.write(img.content)
print("下载完成")
下载完成


使用ERNIE 3.0模型,生成有关中秋的佳句


在"text"中输入有关的关键词即可


import wenxin_api 
from wenxin_api.tasks.composition import Composition
wenxin_api.ak = "You API Key"  # 填写自己的API Key
wenxin_api.sk = "You Secret Key"  # 填写自己的Secret Key
input_dict = {
    "text": "有关赞赏中秋的佳句:",  # 题目/内容
    "seq_len": 100,
    "topp": 0.5,
    "penalty_score": 1.2,
    "min_dec_len": 2,
    "min_dec_penalty_text": "。?:![<S>]",
    "is_unidirectional": 0,
    "task_prompt": "qa",
    "mask_type": "paragraph"
}
rst = Composition.create(**input_dict)
print(rst)
content = rst['result']


2022-09-04 23:03:55,861 - model 1: starts writing
{'result': '“海上生明月,天涯共此时。”今夜月明人尽望,不知秋思落谁家?举杯邀明月,对影成三人。'}


图片和文字合成


import random
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
# 初始化参数
x = 200  
y = 20  
css = ['./HGXC_CNKI.TTF', './HGXK_CNKI.TTF', './HGXS_CNKI.TTF']
word_size = 50  # 文字大小
word_css = random.choice(css)
strs = content
font = ImageFont.truetype(word_css,word_size)
imageFile = './3.jpg'#random.choice(img_names)
im1=Image.open(imageFile) 
draw = ImageDraw.Draw(im1)
print(font.getsize(strs))
im1=Image.open(imageFile)
draw = ImageDraw.Draw(im1)
right = 0   #往右位移量
down = 0    #往下位移量
w = 800     #文字宽度(默认值)
h = 800     #文字高度(默认值)
row_hight = 0 #行高设置(文字行距)
word_dir = 0; #文字间距
print(strs)
for k,s2 in enumerate(strs):            
    if k == 0:
        w,h = font.getsize(s2)   # 获取第一个文字的宽和高
    if s2 in [',', '。', '!', ';']:  # 换行识别
        right = right + w  + row_hight
        down = 0
        continue
    else :
        down = down+h + word_dir 
    draw.text((x+right, y+down),s2,(255,255,0),font=font)
new_filename = "new_mid_autumn.jpg"
im1.save(new_filename) 
del draw 
im1.close()



成品展示


image.png


快来试试你们的中秋佳作吧!


记得留言让大家一起欣赏哦~

目录
相关文章
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 人工智能 数据处理
阿里云CTO周靖人:全面投入升级AI大基建
9月19日,在2024杭州云栖大会上,阿里云CTO周靖人表示,阿里云正在围绕AI时代,树立一个AI基础设施的新标准,全面升级从服务器到计算、存储、网络、数据处理、模型训练和推理平台的技术架构体系,让数据中心成为一台超级计算机,为每个AI和应用提供高性能、高效的算力服务。
13841 15
|
人工智能 自然语言处理 搜索推荐
[AI Mem0 Platform] 快速开始,为您的AI应用注入长期记忆和个性化能力!
[AI Mem0 Platform] 快速开始,为您的AI应用注入长期记忆和个性化能力!
|
存储 测试技术 Python
Python 数组和列表有什么区别?
【8月更文挑战第29天】
2976 4
|
Rust 前端开发 JavaScript
Tauri框架:使用Rust构建轻量级桌面应用
Tauri是一个用Rust构建的开源框架,用于创建轻量、安全且高效的跨平台桌面应用,结合Rust与Web技术(HTML/CSS/JS)。它遵循最小权限原则,仅在必要时调用OS API。Tauri架构包括Rust后端、Web前端、Tauri API和包装器。通过`cargo tauri init`可创建新项目,Rust后端处理系统交互,前端负责UI,两者通过Tauri API通信。Tauri支持自定义API、集成前端框架、资源管理、自动更新、系统集成和安全配置。此外,Tauri拥有插件系统和丰富的扩展能力,提供调试和测试工具,并有性能优化建议。
978 4
|
安全 Python
如何在Python中处理多线程之间的共享状态?
如何在Python中处理多线程之间的共享状态?
207 3
|
SQL 关系型数据库 MySQL
【Python】已解决:ERROR 1064 (42000): You have an error in your SQL syntax. check the manual that correspo
【Python】已解决:ERROR 1064 (42000): You have an error in your SQL syntax. check the manual that correspo
3760 0
|
SQL 关系型数据库 MySQL
DataX - 全量数据同步工具(1)
DataX - 全量数据同步工具
|
存储 人工智能 安全
三个故事方法:使用 ChatGPT 编辑你的场景(全)
三个故事方法:使用 ChatGPT 编辑你的场景(全)
397 0
|
存储 缓存 架构师
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
架构设计 在架构设计过程中,我们会根据需要做出不同的架构设计,而在设计时需要涉及一定的架构设计核心要素。