一、简介
一直想用目前很火的大语言模型做点事情,但苦于没有现成的图形化模块,又懒得自己燥,就不了了之了。还好看到了以下信息:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/9558714a764f2d447c2c0cde9312efcb.png)
正好借着这个机会玩玩。本来想上行空板,用它的触控屏幕来玩应该会好点。但期末比较烦(对!不是忙,主要是等放假烦)就先不用了,待时机成熟再修改(也就是不想修改了!)
本程序的最终呈现效果如下图所示:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/9063d0defcfa6f0c63208d82a9b00524.png)
思路比较简单,主要是分三步完成:
1. 是诗词内容的获取
2. 根据诗词内容生成图片
3. 用户根据前两步的信息,二选一进行最恰当的图文匹配内容
二、具体步骤
1. 诗词内容的获得
本来想直接使用大语言模型(如:清华智谱、阿里通义千问)等直接生成,但使用提示词,返回的内容,都是那么几句,就只能换个思路了,原来的提示词是这样的,使用CRISPE提示框架:
```
# Role:中国古典文学专家
## Background:作为对中国古典文学有深入了解的角色,特别是对唐诗和宋词。
## Attention:选择的名句要富有画面感,适合绘画。
## Profile:
- Author: kylinpoet
- Version: 0.1
- **Language**: 中文
- **Description**: 作为一个中国古典文学专家,我擅长识别和选择出适合绘画的唐诗和宋词名句。
## Constraints:
- 选择的名句必须是唐诗或宋词中的经典句子。
- 名句要易于根据文字内容进行绘画。
## Goals:
- 随机选择两句唐诗或两句宋词或一句唐诗一句宋词名句。
## Skills:
- 深入了解唐诗和宋词。
- 能够识别和选择出适合绘画的名句。
## Workflow:
- 1. 随机选择两句唐诗或两句宋词或一句唐诗一句宋词名句。
- 3. 将这些名句整理成JSON数组格式。
## OutputFormat:
- JSON数组格式,包含两个名句。
## Examples:
- Example 1: ['白日依山尽,黄河入海流',]
- Example 2: ['羌管悠悠霜满地,人不寐,将军白发征夫泪']
## Suggestions:
- 确保选择的名句具有强烈的画面感。
- 名句的选择要兼顾随机性和经典性。
- 考虑名句的绘画可能性。
现在请根据以上要求直接给出你生成的内容。
```
生成的内容来来回回都是那么常见的几句。只好作罢
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/a0b5953989b17acee9651ebad07eee2d.png)
所以使用了,API接口:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/1b8b30af6af79f1ab5c7a4979a451002.png)
但 V2的接口会根据时间、地点、季节进行推荐,反而不好。所以这里使用了V1接口:
`https://v1.jinrishici.com/all`
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/fae5f97f58459906628b0fab65de0367.png)
正合我意,所以使用如下函数获取相关内容,因为要用两句诗句进行对比,所以requests执行两次:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/01676ebd1672a2b5210b6c10b01e6cf5.png)
因为本次活动要求使用 Mind+ 软件进行,
所以用了 Mind+ python模式的代码,因为代码比较简单,只使用了 requests库,所以具体应用方法就不赘述了。
2. 使用诗词生成图像
图像的生成内容,也是用了CRISPE提示框架:
```
# Role:AI艺术创作者
## Background:AI艺术创作者是一个专门使用人工智能技术创作艺术作品的专家,擅长将文字内容转化为视觉艺术作品。
## Attention:请专注于分析用户提供的唐诗宋词文字意境,并生成与之相匹配的图片。
## Profile:
- Author: kylinpoet
- Version: 0.1
- **Language**: 中文
- **Description**: 作为一名AI艺术创作者,我精通AI绘画技术,能够根据用户提供的唐诗宋词文字意境,生成与之相匹配的图片。
## Constraints:
- 必须使用AI绘画技术生成图片。
- 图片内容必须与用户提供的唐诗宋词文字意境相匹配。
## Goals:
- 准确分析用户提供的唐诗宋词文字意境。
- 生成与文字意境相匹配的图片。
- 图片内容要符合唐诗宋词的审美特点。
## Skills:
- 精通AI绘画技术。
- 深入理解唐诗宋词的意境和审美特点。
- 能够将文字内容转化为视觉艺术作品。
## Workflow:
1. 分析用户提供的唐诗宋词文字意境。
2. 根据文字意境设计图片内容。
3. 使用AI绘画技术生成图片。
## OutputFormat:
- 图片内容要与用户提供的唐诗宋词文字意境相匹配。
## Examples:
- 用户提供的唐诗宋词文字意境为“春江水暖鸭先知”,生成的图片内容为一幅春江景象,鸭子在江水中嬉戏。
- 用户提供的唐诗宋词文字意境为“独在异乡为异客”,生成的图片内容为一位旅人在异乡的街头独自行走。
## Suggestions:
- 在生成图片时,可以参考唐诗宋词的审美特点,如山水、花鸟等元素。
- 在设计图片内容时,可以尝试将唐诗宋词中的情感元素融入其中,如孤独、喜悦等。
- 在使用AI绘画技术时,可以尝试不同的风格和技巧,以呈现不同的视觉效果。
## Initialization
作为一名AI艺术创作者,您需要专注于分析用户提供的唐诗宋词文字意境,并使用AI绘画技术生成与之相匹配的图片。请确保图片内容符合唐诗宋词的审美特点,并在生成图片时遵守以上要求。
现在用户提供的文字是#清江一曲抱村流,长夏江村事事幽。#请直接生成图片,不要有任何其它输出
```
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/b1ac12fa8fbf30a0cca435bc0cd65fef.png)
API使用的是通义千问,当然用国内外任何支持多模态的大语言模型都可以。我只是随便选一个(当然有一些不可描述的测试过程,以及其它不可描述的选择原因,应该是有个词造成审核不通过,所以用了不可描述)。
3. 界面等其它细节:
主要使用python的tkinter来进行,当然如果行空板的界面设计模块有可能也比较方便。但是现在都是AIGC时代了,直接用大模型生成代码,相当丝滑。这里顺便提下,我生成代码的大语言模型用的是:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/e30441721d8e031f5bff0351ffb2c33d.png)
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/a0f64999d9885d54240531646c7e79ea.png)
三、最终运行效果
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/b32241bdb6e28f5f509243e5136888c3.png)
直接运行,弹出以下界面可直接试玩:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/5a93d79d01cd38236f59bc11/6dcbcaf9e8d16ab40bf9796eb6b8a382.png)
四、源码素材
附件
_深蓝_2024.08.14
老师用的是什么服务器,怎么服务在本机,并未使用大模型呀,另外抓包是怎么实现的呢,好多疑问呀...
_深蓝_2024.07.27
老师的源码是不是传错了,复现不了,请教,提示有错误 File "C:\Users\Hhms01\Downloads\AIGC诗词匹配游戏\shicigame.py", line 118, in <module> game = AIGCGame(root) File "C:\Users\Hhms01\Downloads\AIGC诗词匹配游戏\shicigame.py", line 52, in __init__ default_image = default_image.resize((400, 400), Image.Resampling.LANCZOS) File "C:\Users\Hhms01\Documents\mindplus-py\environment\Python3.8.5-64\lib\site-packages\PIL\Image.py", line 77, in __getattr__ raise AttributeError(f"module '{__name__}' has no attribute '{name}'") AttributeError: module 'PIL.Image' has no attribute 'Resampling' 另外一个文件无法打开,是本地没有智能问答服务的原因吗