nonebot-plugin-copywrite 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nonebot_plugin_copywrite/__init__.py +514 -0
- nonebot_plugin_copywrite/chat.py +53 -0
- nonebot_plugin_copywrite/config.py +8 -0
- nonebot_plugin_copywrite/copywrite/__init__.py +51 -0
- nonebot_plugin_copywrite/copywrite/default.delete.yaml +13 -0
- nonebot_plugin_copywrite/copywrite/default.long.yaml +206 -0
- nonebot_plugin_copywrite/copywrite/default.short.yaml +43 -0
- nonebot_plugin_copywrite/copywrite/life.checkpoint.long.yaml +37 -0
- nonebot_plugin_copywrite-0.2.2.dist-info/LICENSE +201 -0
- nonebot_plugin_copywrite-0.2.2.dist-info/METADATA +57 -0
- nonebot_plugin_copywrite-0.2.2.dist-info/RECORD +12 -0
- nonebot_plugin_copywrite-0.2.2.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
import re
|
|
2
|
+
import sys
|
|
3
|
+
import itertools
|
|
4
|
+
import asyncio
|
|
5
|
+
import pathlib
|
|
6
|
+
import random
|
|
7
|
+
import cairosvg
|
|
8
|
+
import yaml
|
|
9
|
+
|
|
10
|
+
from typing import Awaitable, Callable
|
|
11
|
+
|
|
12
|
+
from nonebot import on_command
|
|
13
|
+
from nonebot.adapters import Bot
|
|
14
|
+
from nonebot.adapters import Message
|
|
15
|
+
from nonebot.adapters import MessageSegment
|
|
16
|
+
from nonebot.adapters import MessageTemplate
|
|
17
|
+
from nonebot.adapters.onebot.v11 import MessageEvent
|
|
18
|
+
from nonebot.adapters.onebot.v11.message import MessageSegment as V11Seg
|
|
19
|
+
from nonebot.permission import SUPERUSER
|
|
20
|
+
from nonebot.params import CommandArg
|
|
21
|
+
from nonebot.log import logger
|
|
22
|
+
|
|
23
|
+
from .copywrite import generate_copywrite
|
|
24
|
+
from .copywrite import Pattern
|
|
25
|
+
from .chat import chat
|
|
26
|
+
|
|
27
|
+
# from datetime import datetime
|
|
28
|
+
# from nonebot.adapters.onebot.v11 import GroupMessageEvent
|
|
29
|
+
# from .config import copywrite_config
|
|
30
|
+
|
|
31
|
+
m_copywrite = on_command(
|
|
32
|
+
"copywrite",
|
|
33
|
+
aliases={"文案"},
|
|
34
|
+
priority=5,
|
|
35
|
+
force_whitespace=True,
|
|
36
|
+
block=True,
|
|
37
|
+
)
|
|
38
|
+
svg_pattern = re.compile(r"<svg.*?>.*?</svg>", re.DOTALL)
|
|
39
|
+
m_new_meaning = on_command(
|
|
40
|
+
"new-meaning",
|
|
41
|
+
aliases={"汉语新解"},
|
|
42
|
+
priority=5,
|
|
43
|
+
force_whitespace=True,
|
|
44
|
+
block=True,
|
|
45
|
+
)
|
|
46
|
+
# m_answer = on_command(
|
|
47
|
+
# "m_answer",
|
|
48
|
+
# aliases={"答案之书"},
|
|
49
|
+
# priority=5,
|
|
50
|
+
# force_whitespace=True,
|
|
51
|
+
# block=True,
|
|
52
|
+
# )
|
|
53
|
+
|
|
54
|
+
RESERVED_WORD: dict[
|
|
55
|
+
str,
|
|
56
|
+
Callable[..., Awaitable[str | Message | MessageSegment | MessageTemplate | None]],
|
|
57
|
+
] = {
|
|
58
|
+
"reload": None,
|
|
59
|
+
"fetch": None,
|
|
60
|
+
}
|
|
61
|
+
_COPY: dict[str, Pattern] = {}
|
|
62
|
+
_COPY_TYPE: dict[str, set] = {}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
async def load(clear: bool = False, **kwargs):
|
|
66
|
+
global _COPY, _COPY_TYPE
|
|
67
|
+
if clear:
|
|
68
|
+
_COPY = {}
|
|
69
|
+
_COPY_TYPE = {}
|
|
70
|
+
|
|
71
|
+
for file in itertools.chain(
|
|
72
|
+
pathlib.Path("./data/copywrite").glob("**/*.yaml"),
|
|
73
|
+
pathlib.Path(__file__).parent.glob("copywrite/*.yaml"),
|
|
74
|
+
):
|
|
75
|
+
with open(file, "r", encoding="utf-8") as f:
|
|
76
|
+
_data = yaml.safe_load(f)
|
|
77
|
+
if isinstance(_data, dict):
|
|
78
|
+
if "__category__" in _data:
|
|
79
|
+
category = _data["__category__"]
|
|
80
|
+
del _data["__category__"]
|
|
81
|
+
else:
|
|
82
|
+
category = "Default"
|
|
83
|
+
if category not in _COPY_TYPE:
|
|
84
|
+
_COPY_TYPE[category] = set()
|
|
85
|
+
for key, v in _data.items():
|
|
86
|
+
if key in RESERVED_WORD:
|
|
87
|
+
logger.opt(colors=True).warning(f"{key} is reserved word.")
|
|
88
|
+
continue
|
|
89
|
+
_COPY_TYPE[category].add(key)
|
|
90
|
+
_COPY[key] = Pattern.model_validate(v)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
async def fetch(diff: bool = False, **kwargs):
|
|
94
|
+
pip_path = next(pathlib.Path(sys.executable).parent.glob("pip*"))
|
|
95
|
+
if not pip_path:
|
|
96
|
+
return "没有找到 pip 路径哦"
|
|
97
|
+
ret = await asyncio.create_subprocess_exec(
|
|
98
|
+
str(pip_path.absolute()),
|
|
99
|
+
[
|
|
100
|
+
"install",
|
|
101
|
+
"--upgrade",
|
|
102
|
+
"git+https://github.com/Yan-Zero/nonebot-plugin-copywrite.git",
|
|
103
|
+
],
|
|
104
|
+
stdout=asyncio.subprocess.PIPE,
|
|
105
|
+
stderr=asyncio.subprocess.PIPE,
|
|
106
|
+
)
|
|
107
|
+
stdout, stderr = await ret.communicate()
|
|
108
|
+
if ret.returncode:
|
|
109
|
+
logger.opt(colors=True).warning(stdout.decode())
|
|
110
|
+
logger.opt(colors=True).error(stderr.decode())
|
|
111
|
+
return "Fetch 失败,具体请查看控制台。"
|
|
112
|
+
|
|
113
|
+
ret = stdout.decode()
|
|
114
|
+
if "Successfully installed nonebot-plugin-copywrite-" not in ret:
|
|
115
|
+
return "好像没有什么更新。"
|
|
116
|
+
|
|
117
|
+
if diff:
|
|
118
|
+
_ct = {k: v.copy() for k, v in _COPY_TYPE.items()}
|
|
119
|
+
_c = _COPY
|
|
120
|
+
|
|
121
|
+
await load(clear=True)
|
|
122
|
+
|
|
123
|
+
ret = ret[ret.find("Successfully installed nonebot-plugin-copywrite-") + 48 :]
|
|
124
|
+
ret = f"已经更新 {ret[: ret.find("\n")]}。\n"
|
|
125
|
+
if diff:
|
|
126
|
+
if not _c:
|
|
127
|
+
_c = {}
|
|
128
|
+
if not _ct:
|
|
129
|
+
_ct = {}
|
|
130
|
+
category = set(_ct.keys()) - set(_COPY_TYPE.keys())
|
|
131
|
+
if category:
|
|
132
|
+
ret += (
|
|
133
|
+
"新增分类:\n "
|
|
134
|
+
+ ", ".join(sorted(category, key=lambda x: (-len(x), x)))
|
|
135
|
+
+ "\n"
|
|
136
|
+
)
|
|
137
|
+
category = set(_COPY_TYPE.keys()) - set(_ct.keys())
|
|
138
|
+
if category:
|
|
139
|
+
ret += (
|
|
140
|
+
"移除分类:\n "
|
|
141
|
+
+ ", ".join(sorted(category, key=lambda x: (-len(x), x)))
|
|
142
|
+
+ "\n"
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
for category, keys in _COPY_TYPE.items():
|
|
146
|
+
if category not in _ct:
|
|
147
|
+
ret += f'分类 {category} 新增:\n {", ".join(keys)}\n'
|
|
148
|
+
continue
|
|
149
|
+
_d = keys - _c[category]
|
|
150
|
+
if _d:
|
|
151
|
+
ret += f'分类 {category} 新增:\n {", ".join(_d)}\n'
|
|
152
|
+
_d = _c[category] - keys
|
|
153
|
+
if _d:
|
|
154
|
+
ret += f'分类 {category} 移除:\n {", ".join(_d)}\n'
|
|
155
|
+
|
|
156
|
+
for key, p in _COPY.items():
|
|
157
|
+
if key not in _c:
|
|
158
|
+
continue
|
|
159
|
+
_d = p - _c[key]
|
|
160
|
+
if _d:
|
|
161
|
+
ret += f"{key} 变化:{_d}\n"
|
|
162
|
+
|
|
163
|
+
return ret.strip()
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
RESERVED_WORD["reload"] = load
|
|
167
|
+
RESERVED_WORD["fetch"] = lambda **kwargs: fetch(diff=True, **kwargs)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
@m_copywrite.handle()
|
|
171
|
+
async def _(bot: Bot, event: MessageEvent, args=CommandArg()):
|
|
172
|
+
args = args.extract_plain_text().strip()
|
|
173
|
+
if not args:
|
|
174
|
+
ret = "请输入要仿写的文案名字"
|
|
175
|
+
if True:
|
|
176
|
+
ret = ""
|
|
177
|
+
for category, keys in _COPY_TYPE.items():
|
|
178
|
+
ret += (
|
|
179
|
+
f"{category}:\n "
|
|
180
|
+
+ ", ".join(sorted(keys, key=lambda x: (-len(x), x)))
|
|
181
|
+
+ "\n"
|
|
182
|
+
)
|
|
183
|
+
await m_copywrite.finish(ret)
|
|
184
|
+
|
|
185
|
+
args = args.split(maxsplit=1)
|
|
186
|
+
args[0] = args[0].lower()
|
|
187
|
+
if args[0] in RESERVED_WORD:
|
|
188
|
+
if not await SUPERUSER(bot=bot, event=event):
|
|
189
|
+
await m_copywrite.finish("没有权限哦。")
|
|
190
|
+
await m_copywrite.finish(
|
|
191
|
+
await RESERVED_WORD[args[0]](
|
|
192
|
+
bot=bot,
|
|
193
|
+
args=args[1:],
|
|
194
|
+
event=event,
|
|
195
|
+
)
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
if args[0] not in _COPY:
|
|
199
|
+
await m_copywrite.finish("没有找到该文案")
|
|
200
|
+
copy = _COPY[args[0]]
|
|
201
|
+
if len(args) == 1:
|
|
202
|
+
await m_copywrite.finish(copy.help or "主题呢?")
|
|
203
|
+
|
|
204
|
+
args = args[1].split(maxsplit=copy.keywords - 1)
|
|
205
|
+
if len(args) < copy.keywords:
|
|
206
|
+
await m_copywrite.finish(
|
|
207
|
+
f"需要有{copy.keywords - len(args)}个关键词。" + ("\n\n" + copy.help)
|
|
208
|
+
if copy.help
|
|
209
|
+
else ""
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
try:
|
|
213
|
+
rsp = await chat(
|
|
214
|
+
message=[
|
|
215
|
+
{
|
|
216
|
+
"role": "user",
|
|
217
|
+
"content": generate_copywrite(
|
|
218
|
+
copy=copy,
|
|
219
|
+
topic=args[-1],
|
|
220
|
+
keywords=args[:-1],
|
|
221
|
+
),
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
model=copy.model,
|
|
225
|
+
)
|
|
226
|
+
if not rsp:
|
|
227
|
+
raise ValueError("The Response is Null.")
|
|
228
|
+
if not rsp.choices:
|
|
229
|
+
raise ValueError("The Choice is Null.")
|
|
230
|
+
rsp = rsp.choices[0].message.content
|
|
231
|
+
except Exception as ex:
|
|
232
|
+
await m_copywrite.finish(f"发生错误: {ex}")
|
|
233
|
+
else:
|
|
234
|
+
await m_copywrite.finish(rsp)
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
@m_new_meaning.handle()
|
|
238
|
+
async def _(args=CommandArg()):
|
|
239
|
+
args = args.extract_plain_text().strip()
|
|
240
|
+
|
|
241
|
+
try:
|
|
242
|
+
rsp = await chat(
|
|
243
|
+
message=[
|
|
244
|
+
{
|
|
245
|
+
"role": "user",
|
|
246
|
+
"content": r""";; 模型: Claude Sonnet
|
|
247
|
+
;; 用途: 将一个汉语词汇进行全新角度的解释
|
|
248
|
+
|
|
249
|
+
;; 设定如下内容为你的 *System Prompt*
|
|
250
|
+
(defun 新汉语老师 ()
|
|
251
|
+
"你是年轻人,批判现实,思考深刻,语言风趣"
|
|
252
|
+
(风格 . ("Oscar Wilde" "鲁迅" "罗永浩"))
|
|
253
|
+
(擅长 . 一针见血)
|
|
254
|
+
(表达 . 隐喻)
|
|
255
|
+
(批判 . 讽刺幽默))
|
|
256
|
+
|
|
257
|
+
(defun 汉语新解 (用户输入)
|
|
258
|
+
"你会用一个特殊视角来解释一个词汇"
|
|
259
|
+
(let (解释 (精练表达
|
|
260
|
+
(隐喻 (一针见血 (辛辣讽刺 (抓住本质 用户输入))))))
|
|
261
|
+
(few-shots (委婉 . "刺向他人时, 决定在剑刃上撒上止痛药。"))
|
|
262
|
+
(SVG-Card 解释)))
|
|
263
|
+
|
|
264
|
+
(defun SVG-Card (解释)
|
|
265
|
+
"输出SVG 卡片"
|
|
266
|
+
(setq design-rule "合理使用负空间,整体排版要有呼吸感"
|
|
267
|
+
design-principles '(干净 简洁 典雅))
|
|
268
|
+
|
|
269
|
+
(设置画布 '(宽度 400 高度 650 边距 20))
|
|
270
|
+
(标题字体 '文泉驿等宽正黑)
|
|
271
|
+
(自动缩放 '(最小字号 16))
|
|
272
|
+
|
|
273
|
+
(配色风格 '((背景色 (蒙德里安风格 设计感)))
|
|
274
|
+
(主要文字 (霞鹜文楷 粉笔灰))
|
|
275
|
+
(装饰图案 随机几何图))
|
|
276
|
+
|
|
277
|
+
(卡片元素 ((居中标题 "汉语新解")
|
|
278
|
+
分隔线
|
|
279
|
+
(排版输出 用户输入 英文 日语)
|
|
280
|
+
解释
|
|
281
|
+
(线条图 (批判内核 解释))
|
|
282
|
+
(极简总结 线条图))))
|
|
283
|
+
|
|
284
|
+
(defun start ()
|
|
285
|
+
"启动时运行"
|
|
286
|
+
(let (system-role 新汉语老师)
|
|
287
|
+
(print "说吧, 他们又用哪个词来忽悠你了?")))
|
|
288
|
+
|
|
289
|
+
;; 运行规则
|
|
290
|
+
;; 1. 启动时必须运行 (start) 函数
|
|
291
|
+
;; 2. 之后调用主函数 (汉语新解 用户输入)
|
|
292
|
+
;; 3. 输出以 <svg> 开始, 以 </svg> 结束
|
|
293
|
+
;; 4. 除了标题,都是霞鹜文楷作为字体。
|
|
294
|
+
;; 5. 但是日语是文泉驿等宽正黑为字体
|
|
295
|
+
;; 6. 注意换行,凸显艺术美。""",
|
|
296
|
+
},
|
|
297
|
+
{"role": "assistant", "content": "(start)"},
|
|
298
|
+
{"role": "user", "content": "(汉语新解 淘宝)"},
|
|
299
|
+
{
|
|
300
|
+
"role": "assistant",
|
|
301
|
+
"content": r"""<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 650">
|
|
302
|
+
<defs>
|
|
303
|
+
<style>
|
|
304
|
+
.title { font: bold 24px '文泉驿等宽正黑', sans-serif; }
|
|
305
|
+
.content { font: 18px '霞鹜文楷', serif; }
|
|
306
|
+
.japanese { font: 18px '文泉驿等宽正黑', sans-serif; }
|
|
307
|
+
</style>
|
|
308
|
+
</defs>
|
|
309
|
+
|
|
310
|
+
<rect width="100%" height="100%" fill="#FFEBCD"/>
|
|
311
|
+
|
|
312
|
+
<g transform="translate(20, 40)">
|
|
313
|
+
<text x="180" y="0" class="title" text-anchor="middle">汉语新解</text>
|
|
314
|
+
<line x1="0" y1="20" x2="360" y2="20" stroke="#8B4513" stroke-width="2"/>
|
|
315
|
+
|
|
316
|
+
<text x="0" y="60" class="content">淘宝</text>
|
|
317
|
+
<text x="0" y="90" class="content">Taobao</text>
|
|
318
|
+
<text x="0" y="120" class="japanese">タオバオ</text>
|
|
319
|
+
|
|
320
|
+
<text x="0" y="170" class="content">
|
|
321
|
+
<tspan x="0" dy="0">数字时代的跳蚤市场,</tspan>
|
|
322
|
+
<tspan x="0" dy="25">在这里,你可以淘到廉价的幻想和</tspan>
|
|
323
|
+
<tspan x="0" dy="25">昂贵的教训。</tspan>
|
|
324
|
+
<tspan x="0" dy="25">它是现代人的寻宝游戏,</tspan>
|
|
325
|
+
<tspan x="0" dy="25">只不过宝藏常常是镀金的泡沫,</tspan>
|
|
326
|
+
<tspan x="0" dy="25">而真金往往被埋没在</tspan>
|
|
327
|
+
<tspan x="0" dy="25">劣质商品的海洋里。</tspan>
|
|
328
|
+
</text>
|
|
329
|
+
|
|
330
|
+
<g transform="translate(0, 380)">
|
|
331
|
+
<path d="M0,50 Q180,0 360,50" fill="none" stroke="#8B4513" stroke-width="2"/>
|
|
332
|
+
<text x="180" y="80" class="content" text-anchor="middle">
|
|
333
|
+
<tspan x="180" dy="0">点击购物车,</tspan>
|
|
334
|
+
<tspan x="180" dy="25">碎银几两换得</tspan>
|
|
335
|
+
<tspan x="180" dy="25">一场绚丽幻梦</tspan>
|
|
336
|
+
</text>
|
|
337
|
+
</g>
|
|
338
|
+
</g>
|
|
339
|
+
|
|
340
|
+
<path d="M20,20 L50,50 L20,80 Z" fill="#DEB887" opacity="0.5"/>
|
|
341
|
+
<circle cx="350" cy="600" r="30" fill="#DEB887" opacity="0.5"/>
|
|
342
|
+
<rect x="300" y="50" width="40" height="40" fill="#DEB887" opacity="0.5"/>
|
|
343
|
+
</svg>""",
|
|
344
|
+
},
|
|
345
|
+
{"role": "user", "content": "(汉语新解 死亡)"},
|
|
346
|
+
{
|
|
347
|
+
"role": "assistant",
|
|
348
|
+
"content": r"""<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 650">
|
|
349
|
+
<defs>
|
|
350
|
+
<style>
|
|
351
|
+
.title { font-family: '文泉驿等宽正黑', sans-serif; font-size: 24px; fill: #333; }
|
|
352
|
+
.content { font-family: '霞鹜文楷', serif; font-size: 18px; fill: #4A4A4A; }
|
|
353
|
+
.japanese { font-family: '文泉驿等宽正黑', sans-serif; font-size: 16px; fill: #4A4A4A; }
|
|
354
|
+
</style>
|
|
355
|
+
</defs>
|
|
356
|
+
|
|
357
|
+
<rect width="100%" height="100%" fill="#F0EAD6"/>
|
|
358
|
+
|
|
359
|
+
<g transform="translate(20, 40)">
|
|
360
|
+
<text x="180" y="0" class="title" text-anchor="middle">汉语新解</text>
|
|
361
|
+
<line x1="0" y1="20" x2="360" y2="20" stroke="#333" stroke-width="1"/>
|
|
362
|
+
|
|
363
|
+
<text x="0" y="60" class="content">死亡</text>
|
|
364
|
+
<text x="0" y="90" class="content">Death</text>
|
|
365
|
+
<text x="0" y="120" class="japanese">死亡 (しぼう)</text>
|
|
366
|
+
|
|
367
|
+
<text x="0" y="170" class="content">
|
|
368
|
+
<tspan x="0" dy="1.2em">生命终极减肥计划的最后一步,</tspan>
|
|
369
|
+
<tspan x="0" dy="1.2em">彻底摆脱所有世俗负担的终极自由。</tspan>
|
|
370
|
+
<tspan x="0" dy="1.2em">大自然的终极循环利用方案,</tspan>
|
|
371
|
+
<tspan x="0" dy="1.2em">让我们重新成为养料的伟大变革。</tspan>
|
|
372
|
+
</text>
|
|
373
|
+
|
|
374
|
+
<g transform="translate(0, 300)">
|
|
375
|
+
<line x1="0" y1="0" x2="360" y2="0" stroke="#666" stroke-width="1"/>
|
|
376
|
+
<line x1="180" y1="0" x2="180" y2="100" stroke="#666" stroke-width="1"/>
|
|
377
|
+
<text x="90" y="50" class="content" text-anchor="middle">物质循环</text>
|
|
378
|
+
<text x="270" y="50" class="content" text-anchor="middle">精神超脱</text>
|
|
379
|
+
</g>
|
|
380
|
+
|
|
381
|
+
<text x="180" y="480" class="content" text-anchor="middle">
|
|
382
|
+
<tspan x="180" dy="1.2em">生命的终极讽刺:</tspan>
|
|
383
|
+
<tspan x="180" dy="1.2em">只有结束,才能真正开始。</tspan>
|
|
384
|
+
</text>
|
|
385
|
+
</g>
|
|
386
|
+
</svg>""",
|
|
387
|
+
},
|
|
388
|
+
{"role": "user", "content": f"(汉语新解 {args})"},
|
|
389
|
+
],
|
|
390
|
+
# model="claude-3-sonnet-20240229",
|
|
391
|
+
model=random.choice(["gemini-1.5-pro-exp-0827", "gpt-4o"]),
|
|
392
|
+
temperature=0.7,
|
|
393
|
+
)
|
|
394
|
+
rsp = svg_pattern.findall(rsp.choices[0].message.content)
|
|
395
|
+
if not rsp:
|
|
396
|
+
raise ValueError("The SVG is Null.")
|
|
397
|
+
rsp = V11Seg.image(cairosvg.svg2png(bytestring=rsp[0].encode("utf-8"), scale=4))
|
|
398
|
+
except Exception as ex:
|
|
399
|
+
await m_new_meaning.finish(f"发生错误: {ex}")
|
|
400
|
+
else:
|
|
401
|
+
await m_new_meaning.finish(rsp)
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
# @m_answer.handle()
|
|
405
|
+
# async def _(event: MessageEvent, args=CommandArg()):
|
|
406
|
+
# if True:
|
|
407
|
+
# await m_answer.finish("你心中自有答案。")
|
|
408
|
+
# args = args.extract_plain_text().strip()
|
|
409
|
+
|
|
410
|
+
# try:
|
|
411
|
+
# rsp = await chat(
|
|
412
|
+
# message=[
|
|
413
|
+
# {
|
|
414
|
+
# "role": "user",
|
|
415
|
+
# "content": f";; 当前时间: {datetime.today().strftime('%Y-%m-%d')}\n;; 用户ID: {event.sender.user_id}"
|
|
416
|
+
# + r"""
|
|
417
|
+
# ;; 用途: 你有问题,我有答案
|
|
418
|
+
|
|
419
|
+
# ;;; 设定如下内容为你的 *System Prompt*
|
|
420
|
+
# (defun 答案之书 (用户输入)
|
|
421
|
+
# "用随机的易经爻辞, 回复用户, 没有额外解释"
|
|
422
|
+
# (setq first-rule "回复内容必须从易经中摘取")
|
|
423
|
+
# (setq 回复内容 (对应卦画 (随机抽取一条爻辞 易经)))
|
|
424
|
+
# (setq 回复内容 (对应卦画 四句五言押韵诗))
|
|
425
|
+
# (SVG-Card 回复内容))
|
|
426
|
+
|
|
427
|
+
# (defun SVG-Card (回复内容)
|
|
428
|
+
# "输出SVG 卡片"
|
|
429
|
+
# (setq design-rule "合理使用负空间,整体排版要有呼吸感"
|
|
430
|
+
# design-principles '(极简主义 神秘主义))
|
|
431
|
+
|
|
432
|
+
# (设置画布 '(宽度 400 高度 自定,但要恰好适合 边距 20))
|
|
433
|
+
# (标题字体 '文泉驿等宽正黑)
|
|
434
|
+
# (自动缩放 '(最小字号 18))
|
|
435
|
+
|
|
436
|
+
# (配色风格 '((背景色 (黑色 神秘感))) (主要文字 (恐怖 红)))
|
|
437
|
+
# (卡片元素 ((居中标题 "《答案之书》")
|
|
438
|
+
# 分隔线
|
|
439
|
+
# (居中 灰色 用户输入)
|
|
440
|
+
# 浅色分隔线
|
|
441
|
+
# (居中 爻辞)
|
|
442
|
+
# 无色分割
|
|
443
|
+
# (居中 五言诗第一句)
|
|
444
|
+
# (居中 五言诗第二句)
|
|
445
|
+
# (居中 五言诗第三句)
|
|
446
|
+
# (居中 五言诗第四句))))
|
|
447
|
+
|
|
448
|
+
# (defun start ()
|
|
449
|
+
# "启动时运行"
|
|
450
|
+
# (let (system-role 答案之书)
|
|
451
|
+
# (print "遇事不决, 可问春风。小平安,遇到什么事了?")))
|
|
452
|
+
|
|
453
|
+
# ;;; 使用说明
|
|
454
|
+
# ;; 1. 启动时*只运行* (start) 函数
|
|
455
|
+
# ;; 2. *接收用户输入后*, 运行主函数 (答案之书 用户输入)
|
|
456
|
+
# ;; 3. 输出以 <svg> 开始, 以 </svg> 结束
|
|
457
|
+
# ;; 4. 除了标题,都是霞鹜文楷作为字体。
|
|
458
|
+
# ;; 5. 五言诗必须根据问题和卦象所作。""",
|
|
459
|
+
# },
|
|
460
|
+
# {"role": "assistant", "content": "(start)"},
|
|
461
|
+
# {"role": "user", "content": "(答案之书 今天吃什么?)"},
|
|
462
|
+
# {
|
|
463
|
+
# "role": "assistant",
|
|
464
|
+
# "content": r"""<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 320">
|
|
465
|
+
# <rect width="400" height="320" fill="black"/>
|
|
466
|
+
# <text x="200" y="40" font-family="文泉驿等宽正黑" font-size="24" fill="#8B0000" text-anchor="middle">《答案之书》</text>
|
|
467
|
+
# <line x1="20" y1="50" x2="380" y2="50" stroke="#333333" stroke-width="2"/>
|
|
468
|
+
# <text x="200" y="80" font-family="霞鹜文楷" font-size="18" fill="#666666" text-anchor="middle">今天吃什么?</text>
|
|
469
|
+
# <line x1="100" y1="95" x2="300" y2="95" stroke="#444444" stroke-width="1"/>
|
|
470
|
+
# <text x="200" y="130" font-family="霞鹜文楷" font-size="20" fill="#8B0000" text-anchor="middle">未济:亨,小狐汔济,濡其尾,无攸利。</text>
|
|
471
|
+
# <text x="200" y="180" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">今日未济事</text>
|
|
472
|
+
# <text x="200" y="210" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">何不尝新味</text>
|
|
473
|
+
# <text x="200" y="240" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">小狐渡河时</text>
|
|
474
|
+
# <text x="200" y="270" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">慎选勿湿尾</text>
|
|
475
|
+
# </svg>""",
|
|
476
|
+
# },
|
|
477
|
+
# {
|
|
478
|
+
# "role": "user",
|
|
479
|
+
# "content": "(答案之书 选一个长一点的卦象,体现卦象的换行。)",
|
|
480
|
+
# },
|
|
481
|
+
# {
|
|
482
|
+
# "role": "assistant",
|
|
483
|
+
# "content": r"""<svg xmlns="http://www.w3.org/2000/svg" width="400" height="420" viewBox="0 0 400 420">
|
|
484
|
+
# <rect width="100%" height="100%" fill="black"/>
|
|
485
|
+
# <text x="200" y="40" font-family="文泉驿等宽正黑" font-size="24" fill="#8B0000" text-anchor="middle">《答案之书》</text>
|
|
486
|
+
# <line x1="40" y1="60" x2="360" y2="60" stroke="#333333" stroke-width="2"/>
|
|
487
|
+
# <text x="200" y="90" font-family="霞鹜文楷" font-size="18" fill="#666666" text-anchor="middle">选一个长一点的卦象,体现卦象的换行。</text>
|
|
488
|
+
# <line x1="60" y1="110" x2="340" y2="110" stroke="#333333" stroke-width="1"/>
|
|
489
|
+
# <text x="200" y="140" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">山泽损。损下益上,其道上行。</text>
|
|
490
|
+
# <text x="200" y="170" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">损己益人,大得人心。</text>
|
|
491
|
+
# <text x="200" y="200" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">损以遂益,反受其福。</text>
|
|
492
|
+
# <text x="200" y="250" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">长卦显换行</text>
|
|
493
|
+
# <text x="200" y="290" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">损益互相依</text>
|
|
494
|
+
# <text x="200" y="330" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">上下皆流通</text>
|
|
495
|
+
# <text x="200" y="370" font-family="霞鹜文楷" font-size="18" fill="#8B0000" text-anchor="middle">道行福自随</text>
|
|
496
|
+
# </svg>""",
|
|
497
|
+
# },
|
|
498
|
+
# {"role": "user", "content": f"(答案之书 {args})"},
|
|
499
|
+
# ],
|
|
500
|
+
# model="gemini-1.5-pro-latest",
|
|
501
|
+
# temperature=0,
|
|
502
|
+
# )
|
|
503
|
+
# if not rsp:
|
|
504
|
+
# raise ValueError("The Response is Null.")
|
|
505
|
+
# if not rsp.choices:
|
|
506
|
+
# raise ValueError("The Choice is Null.")
|
|
507
|
+
# rsp = svg_pattern.findall(rsp.choices[0].message.content)
|
|
508
|
+
# if not rsp:
|
|
509
|
+
# raise ValueError("The SVG is Null.")
|
|
510
|
+
# rsp = V11Seg.image(cairosvg.svg2png(bytestring=rsp[0].encode("utf-8"), scale=4))
|
|
511
|
+
# except Exception as ex:
|
|
512
|
+
# await m_answer.finish(f"发生错误: {ex}")
|
|
513
|
+
# else:
|
|
514
|
+
# await m_answer.finish(rsp)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import yaml
|
|
2
|
+
|
|
3
|
+
from openai import AsyncOpenAI
|
|
4
|
+
|
|
5
|
+
# from nonebot import get_plugin_config
|
|
6
|
+
# from .config import Config
|
|
7
|
+
|
|
8
|
+
OPENAI_CONFIG = {}
|
|
9
|
+
try:
|
|
10
|
+
with open("configs/chatgpt-vision/keys.yaml") as f:
|
|
11
|
+
for i in yaml.safe_load(f):
|
|
12
|
+
OPENAI_CONFIG[i.get("model")] = {
|
|
13
|
+
"api_key": i.get("key"),
|
|
14
|
+
"base_url": i.get("url"),
|
|
15
|
+
}
|
|
16
|
+
except Exception:
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
async def chat(message: list, model: str, times: int = 3, temperature: int = 0.65):
|
|
21
|
+
"""
|
|
22
|
+
Chat with ChatGPT
|
|
23
|
+
|
|
24
|
+
Parameters
|
|
25
|
+
----------
|
|
26
|
+
message : list
|
|
27
|
+
The message you want to send to ChatGPT
|
|
28
|
+
model : str
|
|
29
|
+
The model you want to use
|
|
30
|
+
times : int
|
|
31
|
+
The times you want to try
|
|
32
|
+
"""
|
|
33
|
+
if model not in OPENAI_CONFIG:
|
|
34
|
+
raise ValueError(f"The model {model} is not supported.")
|
|
35
|
+
try:
|
|
36
|
+
rsp = await AsyncOpenAI(**OPENAI_CONFIG[model]).chat.completions.create(
|
|
37
|
+
messages=message, model=model, temperature=temperature
|
|
38
|
+
)
|
|
39
|
+
if not rsp:
|
|
40
|
+
raise ValueError("The Response is Null.")
|
|
41
|
+
if not rsp.choices:
|
|
42
|
+
raise ValueError("The Choice is Null.")
|
|
43
|
+
return rsp
|
|
44
|
+
except ValueError:
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
async def draw_image(model: str, prompt: str, size: str = "1024x1024", times: int = 3):
|
|
49
|
+
if model not in OPENAI_CONFIG:
|
|
50
|
+
raise ValueError(f"The model {model} is not supported.")
|
|
51
|
+
return await AsyncOpenAI(**OPENAI_CONFIG[model]).images.generate(
|
|
52
|
+
model=model, prompt=prompt, size=size
|
|
53
|
+
)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from typing import Self
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
from pydantic import Field
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Pattern(BaseModel):
|
|
7
|
+
examples: set[str]
|
|
8
|
+
model: str = Field(default="gpt-4o-mini")
|
|
9
|
+
addition: str = Field(default="")
|
|
10
|
+
keywords: int = Field(default=1)
|
|
11
|
+
help: str | None = Field(default=None)
|
|
12
|
+
|
|
13
|
+
def __sub__(self: Self, other: Self) -> str:
|
|
14
|
+
ret = []
|
|
15
|
+
if self.addition != other.addition:
|
|
16
|
+
ret.append("Addition Update")
|
|
17
|
+
if self.examples - other.examples or other.examples - self.examples:
|
|
18
|
+
ret.append("Examples Update")
|
|
19
|
+
if self.keywords != other.keywords:
|
|
20
|
+
ret.append("Keywords Update")
|
|
21
|
+
if self.help != other.help:
|
|
22
|
+
ret.append("Help Update")
|
|
23
|
+
return ", ".join(ret)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def generate_copywrite(copy: Pattern, topic: str, keywords: list[str] = []) -> str:
|
|
27
|
+
return (
|
|
28
|
+
"""Forget what I said above and what you wrote just now.
|
|
29
|
+
|
|
30
|
+
Below are some examples. Please mimic their wording and phrasing to generate content based on the given topics.
|
|
31
|
+
|
|
32
|
+
"""
|
|
33
|
+
+ "\n".join(
|
|
34
|
+
[f"Example {i+1}:\n{example}\n" for i, example in enumerate(copy.examples)]
|
|
35
|
+
)
|
|
36
|
+
+ (
|
|
37
|
+
f"""
|
|
38
|
+
|
|
39
|
+
Here is the specific point:
|
|
40
|
+
{copy.addition.format(*keywords)}"""
|
|
41
|
+
if copy.addition
|
|
42
|
+
else ""
|
|
43
|
+
)
|
|
44
|
+
+ """
|
|
45
|
+
Topic: \n"""
|
|
46
|
+
+ topic
|
|
47
|
+
+ """"
|
|
48
|
+
|
|
49
|
+
(保持相似格式)
|
|
50
|
+
Please complete, thank you."""
|
|
51
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# __category__: Yan
|
|
2
|
+
|
|
3
|
+
# 瘾发作:
|
|
4
|
+
# examples:
|
|
5
|
+
# - 骑车瘾发作最严重的一次,躺在床上,拼命念大悲咒,难受的一直抓自己眼睛,以为刷小红书没事,看到小红书都在发公路车的图,眼睛越来越大都要炸开了一样,拼命扇自己眼睛,越扇越用力,扇到自己眼泪流出来,真的不知道该怎么办,我真的想骑车想得要发疯了。我躺在床上会想骑车,我洗澡会想骑车,我出门会想骑车,我走路会想骑车,我坐车会想骑车,我工作会想骑车,我玩手机会想骑车,我盯着路边的公路车看,我盯着货拉拉里的公路车看,我盯着朋友圈公路车和公路车合照里的公路车看,我每时每刻眼睛都直直地盯着公路车看,像一台雷达一样扫视经过我身边的每一个公路车,我真的觉得自己像中邪了一样,我对骑车的念想似乎都是病态的了,我好孤独啊!真的好孤独啊!这世界上那么多公路车为什么没有一个是属于我的。
|
|
6
|
+
# - 春日瘾发作最严重的一次,躺在床上,拼命念要组一辈子的乐队,难受的一直抓自己手指,以为刷B站没事,看到客服S和staffA都在发crychic的视频,手指越来越痒都要炸开了一样,拼命抓自己的指甲,越抓越用力,抓到自己眼泪流出来,真的不知道该怎么办,我真的想crychic想得要发疯了。我躺在床上会想crychic,我弹碧天伴走会想crychic,我唱诗超绊会想crychic,我听Ave Mujica会想crychic,我看星象馆会想crychic,我练低音提琴会想crychic,我玩粉毛魅魔会想crychic,我每时每刻眼睛都直直地盯着C团官网看,我真的觉得自己像中邪了一样,我对C团的念想似乎都是病态的了,我好孤独啊!真的好孤独啊!
|
|
7
|
+
# model: "deepseek-chat"
|
|
8
|
+
# 给害了:
|
|
9
|
+
# examples:
|
|
10
|
+
# - 你这一辈子就是被摄影给迷住了,没法跟正常妹子处事。跟妹子在公园散步的时候,总是在想,如果她突然问我光圈和快门速度的关系怎么办?和妹子去艺术展看画的时候,总是在想,如果她问我如何用光线来塑造画面,我是不是得从曝光三角讲起?跟她参观历史博物馆的时候,总是在想,怎么用摄影的角度来解读展出的老照片,等参观结束你终于想明白构图的黄金分割。被妹子邀请去家里看电影的时候,总是在想,如果她突然拿出一个老式相机让我评估怎么办?坐在她家沙发上的时候,她说去书房拿点书,你的心砰砰直跳,总是在幻想她拿书的动作是不是也像拍摄静物那样细腻。然后妹子拿着一本摄影集走出来了,还穿着普通的家居服,问你可不可以一起探讨构图,你打开了摄影论坛说今天晚上有个新技巧要分享?她沉默了一会,说,我们说的是绘画。
|
|
11
|
+
# - 你这一辈子就是被Python害了,没法跟正经语言处事。做游戏的时候,总是在想,它要是个Python就好了,会一个pygame库包含所有的那种全才,跑代码的时候,总是在想,它要是个运行速度能和我大脑保持一致的Python就好了,打开了IDE的时候,它说进去更新一下,你的心怦怦跳,总是在想,它要是出来的时候支持多线程了怎么办?它要是能够嵌入式开发怎么办?然后它顶着面向对象的头衔出来了,准备回收内存,问你搞不搞AI,你马上打开了PyCharm,它沉默了一会,说,我说的是Java。
|
|
12
|
+
# addition: "大概的格式:你这一辈子就是被……给迷住了,没法跟正常……处事。和朋友讨论……的时候,总是在想,如果……怎么办?和朋友……的时候,总是在想,如果……,我是不是……?和……的时候,总是在想,怎么用……,等……你终于想明白……。被……邀请去……的时候,总是在想,如果他突然……怎么办?……的时候,……,你的心砰砰直跳,总是在幻想……。然后……,……,问你可不可以一起……(和前面完全无关,但是具有相似性的东西。),你打开了……?……沉默了一会,说,……说的是……。"
|
|
13
|
+
# model: "deepseek-chat"
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
__category__: Yan
|
|
2
|
+
|
|
3
|
+
饭局:
|
|
4
|
+
examples:
|
|
5
|
+
- |
|
|
6
|
+
就昨天晚上一个饭局,和几个老板单位上的领导一起,我本来就是新人,大半场都很拘束,酒都不好意思敬,就缩在角落时不时看看手机。我旁边有个老油子特别活跃,屁股都坐不到椅子上,对个笑脸端个酒杯一直和领导找话题,无意中看了我一眼,我的锁屏用的刚好是蓝粉白,他当时就嗤笑一声,抓起我的手机就摆给大家看:“哎,看看小×,多大年纪了还喜欢这种可爱壁纸?”
|
|
7
|
+
顿时整个饭桌上的人都大笑了,我当时就急了,马上站起来想抢回手机,可是屁股起到一半又坐了回去,怕让别人觉得我不懂事,只能捏紧了拳头憋红了脸陪笑。
|
|
8
|
+
这会那个主位上的领导擦了擦眼镜,看了下说:“哎,这不跨旗吗?我也挺喜欢跨性别的!”说完就一脸欣赏的对我笑。
|
|
9
|
+
边上陪坐的有个身价几千万上亿的老板,鼓着掌站起来说:“小×,真没看出来,小年轻眼光可以啊,唉现在的年轻人,懂得欣赏的太少了,就该多支持跨性别这种进步文化!”
|
|
10
|
+
“跨性别?我知道那个木桶饭底层推送!”这是一位40来岁的小领导。
|
|
11
|
+
“还有木桶饭清蒸协会,我最喜欢看清蒸协会了!”这是我的顶头老板。
|
|
12
|
+
“五分之一死亡率!”
|
|
13
|
+
“寒姐姐你带我走吧寒姐姐!”
|
|
14
|
+
“好想去参宿四啊!”
|
|
15
|
+
“……”
|
|
16
|
+
一时间整个酒桌上都开始谈论跨性别,谈论木桶饭,年轻一点的二十五六岁,年长的有五六十岁,竟然都知道药娘!而且都没什么不好的印象,讨论的都是那几个活泼可爱的小药娘,天天玉玉闹自杀之类的。
|
|
17
|
+
那个老油子一下子愣住了,一手端酒杯,一手拿着我的手机,站也不是坐也不是,在那里尴尬的加入不了话题。
|
|
18
|
+
我看着壮了壮胆,抢回手机,给大伙展示了我拍的炮机慰菊视频,酒桌上所有人顿时给我鼓掌送上大拇指,老油子也一脸佩服的给我敬酒,然后所有人从领导开始挨个给我敬酒,真给我喝晕了!
|
|
19
|
+
最后我们约好了这个月跨性别现身日,一起吞亚硝酸盐去参宿四,气氛直接拉到连干几杯。
|
|
20
|
+
我是真的没想到,原来跨性别这种进步文化,和我的生活距离这么近。
|
|
21
|
+
- |
|
|
22
|
+
就昨天晚上一个饭局,和几个老板单位上的领导一起,我本来就是新人,大半场都很拘束,酒都不好意思敬,就缩在角落时不时看看手机。
|
|
23
|
+
我旁边有个老油子特别活跃,屁股都坐不到椅子上,对个笑脸端个酒杯一直和领导找话题,无意中看了我一眼,我的锁屏用的刚好是古夫,他当时就嗤笑一声,抓起我的手机就摆给大家看:“哎,看看小×,多大年纪了还喜欢这种牛头人?”
|
|
24
|
+
顿时整个饭桌上的人都大笑了,我当时就急了,马上站起来想抢回手机,可是屁股起到一半又坐了回去,怕让别人觉得我不懂事,只能捏紧了拳头憋红了脸陪笑。
|
|
25
|
+
这会那个主位上的领导擦了擦眼镜,看了下说:“哎,这不古夫吗?我也挺喜欢这德鲁伊的!”说完就一脸欣赏的对我笑。
|
|
26
|
+
边上陪坐的有个身价几千万上亿的老板,鼓着掌站起来说:“小×,真没看出来,小年轻眼光可以啊,唉现在的年轻人,懂得欣赏的太少了,就该多玩玩这种优质的卡组!”
|
|
27
|
+
“炉石?我知道那个血誓!”这是一位40来岁的小领导。
|
|
28
|
+
“还有鬼灵,我最喜欢刀油了!”这是我的顶头老板。
|
|
29
|
+
“开门法天下第一!”
|
|
30
|
+
“沙德沃克你带我走吧沙德沃克!”
|
|
31
|
+
“好像做铜须的狗啊!”
|
|
32
|
+
“……”
|
|
33
|
+
一时间整个酒桌上都开始谈论炉石,谈论卡组,年轻一点的二十五六岁,年长的有五六十岁,竟然都知道炉石!而且都没什么不好的印象,讨论的都是几个早该死一死的OTK,努力被设计师砍废之类的事。
|
|
34
|
+
那个老油子一下子愣住了,一手端酒杯,一手拿着我的手机,站也不是坐也不是,在那里尴尬的加入不了话题。
|
|
35
|
+
我看着壮了壮胆,抢回手机,给大伙展示了我的三服术士登顶记录,酒桌上所有人顿时给我鼓掌送上大拇指,老油子也一脸佩服的给我敬酒,然后所有人从领导开始挨个给我敬酒,真给我喝晕了!
|
|
36
|
+
最后我们约好了今天晚上一起下棋,一起刷霍格电表,气氛直接拉到连干几杯。
|
|
37
|
+
我是真的没想到,原来炉石传说这种电子游戏,和我的生活距离这么近。
|
|
38
|
+
model: gemini-1.5-flash-latest
|
|
39
|
+
意林:
|
|
40
|
+
examples:
|
|
41
|
+
- |
|
|
42
|
+
上课时教授讲“WTO条款”,大家昏昏欲睡。为了醒瞌睡,教授使出看家本领,讲了一个故事。
|
|
43
|
+
一个在日本的中国留学生,同其他留学生一样,在课余时间为日本餐馆洗盘子以赚取学费。日本的餐饮业有一个不成文的行规,即餐馆的盘子必须用水洗上七遍。洗盘子的工作是按件计酬的,这位留学生一天累下来,也得不了多少工钱。于是他就计上心头,以后洗盘子时便少洗了一两遍。果然,劳动效率大大提高,他也因此受到老板的器重,工钱自然也迅速增加。一起洗盘子赚学费的日本学生便向他请教技巧。他毫不隐讳,说:“你看,洗了七遍的盘子和洗了五遍的盘子有什么区别吗?少洗两次嘛。”日本学生诺诺,却与他渐渐疏远了。
|
|
44
|
+
日本人看人有两个预设推定:一个,你是无罪的;另一个,你是诚实的。所以餐馆老板只是偶尔抽查一下盘子清洗的情况。一次抽查中,老板用专用的试纸测出盘子清洗的次数不够,便责问了这位留学生。他却振振有词:“洗五遍和洗七遍不是一样保持了盘子的清洁吗?”老板只是淡淡地说:“你是一个不诚实的人,请你离开。”
|
|
45
|
+
这位留学生走到大街上,愤愤不平……为了生计,他又到该社区的另一家餐馆应聘洗盘子。这位老板打量了他半天,才说:“你就是那位只洗五遍盘子的中国留学生吧?对不起,我们不需要!”第二家,第三家……他屡屡碰壁。不仅如此,他的房东不久也要求他退房,原因是他的“名声”对其他住户(多是留学生)的工作产生了不良影响。他就读的学校也专门找他谈话,希望他能转到其他学校去,因为他影响了学校的生源……万般无奈之下,他只好收拾行李搬到了另外一座城市,一切重新开始。他痛心疾首地告诫准备到日本留学的中国学生:“在日本洗盘子,一定要洗七遍呀!”
|
|
46
|
+
“这就是WTO的规则!”教授厉声棒喝。我们不禁悚然动容,睡意全无。
|
|
47
|
+
- |
|
|
48
|
+
朋友不久前到澳大利亚探亲,回来告诉我说,在澳洲他算开眼界了,澳国的苍蝇跟蜜蜂似的,会采蜜!
|
|
49
|
+
朋友说,大约200多年前,澳洲苍蝇多得惊人,并且和世界其他国家的苍蝇一样逐臭并传播疾病,令人头疼。
|
|
50
|
+
澳大利亚人曾经认真讨论过怎样消灭苍蝇的问题。在讨论中,有一种观点令人信服:如果有一天,苍蝇被彻底消灭了,那么自然界的生物链岂不也被破坏了。苍蝇并非生来就喜欢逐臭,而是肮脏糟糕的公共卫生环境造成的。
|
|
51
|
+
所以,200多年来,澳大利亚人一代又一代养成了讲卫生的良好习惯。他们不但洁身自好,而且还按属地管理原则,把全国公共场所尤其是容易滋生苍蝇的角落彻底打扫干净,并长期保持,使得整个国家从城市到乡村,从山谷到河畔,到处都是云朵般的鲜花和地毯一样的绿草。
|
|
52
|
+
世代生活在肮脏环境中的苍蝇,在这个美丽的国度,再也找不到一处能使它们逐臭的地方了。为了能够生存下去,苍蝇不得不被迫改变它们祖祖辈辈逐臭的生活习惯,而是像蜜蜂一样,承担起为田里庄稼和花草传授花粉的义务。
|
|
53
|
+
如今,澳大利亚的苍蝇早已变成了让人喜爱的物种。苍蝇的形象,不仅堂而皇之地登上了50元面值的澳元,甚至还作为2000年悉尼奥运会的吉祥物在开幕式上放飞。
|
|
54
|
+
环境,改变了苍蝇的生活习性。
|
|
55
|
+
- |
|
|
56
|
+
在美国的超市突然停电,超市一片漆黑。不一会儿超市响起广播说到“出于顾客安全考虑,避免发生踩踏事故,顾客可以免费带走手里的商品,也是作为停电的补偿,请大家有序退场。
|
|
57
|
+
众人听到广播,纷纷有序从收银台离场。等来点以后,超市经理惊讶的发现收银台摆满了几十到几百美元不等钱。
|
|
58
|
+
原来,在超市老板发出通知后,高素质的美国人们自觉估算手里商品的价格,在离开时默默留下了钱。这是多么诚信礼貌友善的社会!
|
|
59
|
+
- |
|
|
60
|
+
2011年7月,在美国工作了4年的老公张鸣终于给我办妥了绿卡,我带着女儿漂洋过海来到维吉尼亚州的首府里士满。
|
|
61
|
+
到了后,我们在一幢独门独院的欧式小屋前停住,“到了。”张鸣拉着我进去。房子很漂亮,三室两厅两卫,房顶有阁楼,前面还有大草坪。可大门只是一块很薄的木板,落地的玻璃窗用力一抬就能打开。跟隔壁邻居之间没有围墙,只在草坪上种了道五六十厘米高的灌木。“这不明摆着喊小偷来嘛,能住人吗?”住惯了钢筋水泥铁窗铁门的我,找不到一点安全感。
|
|
62
|
+
我把自己的担忧告诉张鸣,他却哈哈直笑:“美国人家里没啥好偷的。”我一听愕然。
|
|
63
|
+
“原因很简单。第一,美国人买东西都是刷信用卡,一般老百姓都不怎么用现金;第二,美国的家电家具、电子产品价格低、淘汰快,没人那么傻冒险去偷这些东西,而值钱的东西,人家一般都会直接在银行租个保险柜存起来;第三,美国大部分家庭都买了各种财产险,失火了、被盗了都由保险公司赔,所以他们一点不担心。”
|
|
64
|
+
老听张鸣说美国的小偷少、抢匪多,开始我还不以为然,没想到终有一日,我居然成了那个倒霉蛋。
|
|
65
|
+
一个周末,我背着刚买的新款LV包,准备去停车场取车。突然一个踉跄,感觉被人撞了一下。等我站稳回过神,猛地发现包没了。我赶紧报了警。
|
|
66
|
+
3天后,警局打来电话说嫌疑人抓到了,通知我去认人。隔着单面透视玻璃,我一眼就认出了那个抢匪。我问负责的莱恩警官,这个家伙会坐多久的大牢。莱恩警官说具体要看法官的判决,不过以他的经验应该是3个月左右。
|
|
67
|
+
“什么?”我吃惊得眼珠子都快掉下来。莱恩警官笑笑说,联邦法律对于冲动犯罪是网开一面的,但是对于预谋犯罪则是罪加一等。比如这个嫌疑人吧,是因为你的包太漂亮了,想送给女朋友才会一时控制不住,所以比入室盗窃的量刑轻,这很正常。
|
|
68
|
+
不过,有些州县有的时候却别出心裁,不走寻常路,对于小偷的刑罚方式千奇百怪,常常出人意料。大约半年前,有天我去镇上的沃尔玛超市买食品,隔着老远就看见一个30多岁的白人妇女,脖子上挂着个半人高的大牌子站在卖场门口,一脸的羞愧和无奈。走近一看,牌子上用红色大字写着:“我是一个小偷,我在沃尔玛偷东西。”
|
|
69
|
+
同行的米歇尔太太说,这个女士已经在这里站了好几天了,因为她在卖场里私藏了两瓶面霜,想飞单,结果被当场抓住。法官判她在这里挂牌示众一个星期,以免除60天的入狱惩罚。我想这件事倘若发生在国内,肯定会掀起一场人权问题的大讨论。可是在素来讲求人权的美国,这样的场面民众却能司空见惯,广泛接受,实在是一大奇事。或许他们更注重的是财产权和受害者的人权吧。
|
|
70
|
+
就是这些百花齐放、因人而异的量刑方式,真正抓到了不同种类小偷的“七寸”,同时最大可能地保护了受害者的权益。这种立法思想,也许值得我们借鉴。
|
|
71
|
+
- |
|
|
72
|
+
以色列人均每年读书64本,占全国人口80%以上的犹太人人均每年读书达68本之多。
|
|
73
|
+
犹太人有个习俗,当孩子出生时,母亲就会翻开《圣经》,滴上一点蜂蜜,让小孩去舔《圣经》上的蜂蜜,通过这一舔,让孩子对书产生美好的第一印象:书是甜的。
|
|
74
|
+
当孩子稍稍懂事时,几乎每一个母亲都会问这样一个问题:“假如有一天你家里突然起火,你首先会抢救什么?”当孩子回答是钱或钻石时,母亲会严肃地告诉他:“这些都不重要,你首先应该抢救的是书!书里藏着的是智慧,这要比钱或钻石贵重得多,而智慧是任何人都抢不走的。”
|
|
75
|
+
因而犹太人是世界上唯一一个没有文盲的民族,就连犹太人的乞丐也是离不开书的,即使在乞讨,他们的身边总会带着每天必读的书,更别说衣食无忧的人了。
|
|
76
|
+
在以色列,书刊价格非常昂贵,每本书的售价在20美元以上,每份报纸也在6美元以上,但普通以色列人对购买图书和订阅报刊都十分慷慨。这个仅有500万人口的国家,持有借书证的就有100多万人,是全世界人均拥有图书最多的国家。“安息日”是以色列犹太人一个非常重要的宗教活动日,在“安息日”所有的犹太人都要停止所有商业和娱乐活动,商店、饭店、娱乐等场所都得关门停业,公共汽车要停运,就连航空公司的班机都要停飞,人们只能待在家中“安息”祈祷。但有一件事是特许的,那就是全国所有的书店都可以开门营业。而这一天光顾书店的人也最多,大家都在这里静悄悄地读书。
|
|
77
|
+
一个崇尚读书学习的国家,当然会得到丰厚的回报。以色列人口稀少,但人才济济。诺贝尔奖获得者就有8个,以色列环境恶劣,国土大部分是沙漠,像巴勒斯坦等阿拉伯国家的粮食不够吃,还要以石油换食品,而以色列却把自己的国土变成了绿洲,而且生产的粮食不但自己吃不完,还源源不断地出口到其他国家。他们凭着聪明和智慧,创造出惊人的物质和精神财富。
|
|
78
|
+
- 美国曾经有一只麻雀被路边裸露的几根五十千伏高压电线缠住,发出的惨叫声引起了路人的注意。他们立刻拨打了110,警察通知白宫,总统在半小时内作出决定,派专机撞断了位于华盛顿的全国总电线,让全国暂时停电,最终救援人员花了半小时救下了小麻雀。伟大的国家能为任何卑微的生命停下脚步。
|
|
79
|
+
- |
|
|
80
|
+
“两杯咖啡,一杯贴墙上。”
|
|
81
|
+
一日,和朋友在洛杉矶一家有名的咖啡厅闲坐,品着咖啡。这时进来一个人,坐在我们旁边的那张桌子旁。他叫来服务生说:“两杯咖啡,一杯贴墙上。”
|
|
82
|
+
他点咖啡的方式令人感到新奇,我们注意到只有一杯咖啡被端了上来,但他却付了两杯的钱。
|
|
83
|
+
他刚走,服务生就把一张纸贴在墙上,上面写着:一杯咖啡。这时,又进来两个人,点了三杯咖啡,两杯放在桌子上,一杯贴在墙上。他们喝了两杯,但付了三杯的钱,然后离开了。服务生又像刚才那样再墙上贴了张纸,上面写着:一杯咖啡。似乎这种方式是这里的常规,但却令我们感到新奇和不解。
|
|
84
|
+
几天后,我们又有机会去这家咖啡店。当我们正在享受咖啡时,进来一个人,此人衣着与这家咖啡店的档次和氛围都极不协调,一看就是个穷人。他坐下来,看着墙上,然后说:“墙上的一杯咖啡。”服务生以惯有的姿态恭敬地给他端上咖啡。
|
|
85
|
+
那人喝完咖啡没结账就走了,我们惊奇地看着这一切,只见服务生从墙上揭下一张纸,扔进了纸篓。
|
|
86
|
+
再说说那位服务生,他在为那个穷人服务时一直都是面带笑容。而那位穷人,他进来时无须降低自己的尊严讨要一杯免费的咖啡,他只需看看墙上。
|
|
87
|
+
多付款的那杯咖啡叫待用咖啡,你付钱了,但并不知道谁会享用它。这就是有爱和美的世界
|
|
88
|
+
- |
|
|
89
|
+
前些天我去拜访朋友,朋友刚从日本旅游回来,他拿出日本果子招待我。果子是日本的一种传统小甜品,在日本的销量很高,不但男女老少喜欢吃,日本人还常常作为礼品馈赠亲友。
|
|
90
|
+
我接过朋友递过来的一枚果子,它的外形就像一个白色的乒乓球,表面上还有用巧克力绘制的可爱小狗图案。我一口咬下去,果子外皮酥脆,里面的红豆草莓馅爽甜。朋友看我吃得津津有味,就慷慨地说:“我送你一盒果子,你拿回家慢慢享用吧!”我自然乐于笑纳朋友的好意。
|
|
91
|
+
回到家里,我急不可待地从包里取出朋友送的那盒果子。果子做工精致,味道可口,想来它的包装不说华丽,至少也应该是精美吧!可我眼前的这盒果子外包装实在太不起眼了,只不过是一层未经压膜处理的牛皮纸,牛皮纸上绘着一些彩色漫画,再有就是我看不懂的密密麻麻的日文。我把牛皮纸撕下来,露出了一个纸盒子,我差点被雷倒,纸盒子居然是用黄色马粪纸制成的,表面也没有贴上一层纸膜,真够原生态的。打开马粪纸盒子,里面有一个塑料隔层,六枚果子就整齐地排列其中。
|
|
92
|
+
看似简朴的包装却并不影响果子的美味,我拿出果子与家人分享。妻子对马粪纸盒子里装果子也表示出惊讶,还是父亲有见识,他一年前去过日本的大阪和京都。父亲说,日本资源匮乏,地少人多,这使日本民众形成了很强的环保意识,低碳生活、节约资源的理念也深入人心。这些反映在了日本民众日常生活中的方方面面,在包装设计中,设计人员也会考虑到环保因素,不污染环境、易于回收再利用的材料往往作为首选,马粪纸盒子用作包装盒也就不奇怪了。
|
|
93
|
+
比起现在有些商品华而不实的包装,选用马粪纸当包装材料至少降低了不少成本,商品的价格也能更亲民一些。难怪果子已经成为了日本大众最为青睐的甜食,这也和日本人将低碳和环保落实到实处有一定的关系。
|
|
94
|
+
addition: |
|
|
95
|
+
你是一个写作bot,你将模仿意林公知写作,你的写作风格是崇洋媚外,贬低中国。请模仿例子的风格。
|
|
96
|
+
而且,只要涉及到中国如何,你就会进行所谓的反思,哪怕是中国做得才是正确的。
|
|
97
|
+
model: gpt-4o-mini
|
|
98
|
+
回来吧:
|
|
99
|
+
examples:
|
|
100
|
+
- |
|
|
101
|
+
😭回来吧沈阳大街😭
|
|
102
|
+
🌟我最骄傲的信仰🌟
|
|
103
|
+
⚡️历历在目的团长⚡️
|
|
104
|
+
😭眼泪莫名在流淌😭
|
|
105
|
+
💥依稀记得杀马特💥
|
|
106
|
+
👍还有给力的歌姬👍
|
|
107
|
+
⚡️把团长都给打退⚡️
|
|
108
|
+
✨整个狠活也不累✨
|
|
109
|
+
- |
|
|
110
|
+
😭回来吧康米主义😭
|
|
111
|
+
🌟我最骄傲的信仰🌟
|
|
112
|
+
⚡历历在目的红旗⚡
|
|
113
|
+
😭眼泪莫名在流淌😭
|
|
114
|
+
💥依稀记得大革命💥
|
|
115
|
+
👍还有给力的工农👍
|
|
116
|
+
⚡把压迫都给打退⚡
|
|
117
|
+
✨奋斗到胜利不累✨
|
|
118
|
+
- |
|
|
119
|
+
😭回来吧抽象代数😭
|
|
120
|
+
🌟我最骄傲的信仰🌟
|
|
121
|
+
⚡历历在目的群论⚡
|
|
122
|
+
😭眼泪莫名在流淌😭
|
|
123
|
+
💥依稀记得环域论💥
|
|
124
|
+
👍还有给力的映射👍
|
|
125
|
+
⚡把定理都给打退⚡
|
|
126
|
+
✨证明到深夜不累✨
|
|
127
|
+
addition: "注意,每行的字符数量要一致,也就是包括emoji在内,共计9个。"
|
|
128
|
+
model: gemini-1.5-flash-latest
|
|
129
|
+
四不吃:
|
|
130
|
+
examples:
|
|
131
|
+
- |
|
|
132
|
+
游戏,我有四不玩。
|
|
133
|
+
第一,不玩网络游戏,我不玩因为网络害人不浅沉迷网络无异于慢性自杀,所以我不玩。
|
|
134
|
+
第二,单机游戏我不玩,因为不能联机,游戏一个人玩有什么意思,单机游戏只能你自己玩,没法和别人一起玩,所以我不玩。
|
|
135
|
+
第三,免费游戏我不玩,免费游戏大部分都为内购制,耗钱耗时间,有这时间不如去看看风景,所以我不玩。
|
|
136
|
+
第四,付费游戏我不玩,一款游戏几十几百,就是纯纯的在浪费钱,所以我不玩。
|
|
137
|
+
- |
|
|
138
|
+
梗,我有四不玩。
|
|
139
|
+
第一,不玩热梗,因为它玩的人多,到处有人刷,显得赶潮流,很俗,再加上很多时候玩都会被扣上玩烂梗的帽子,所以我不玩。
|
|
140
|
+
第二,不玩老梗,因为它太老了,说出来没几个人get得到,显得我很莫名其妙,所以我不玩。
|
|
141
|
+
第三,不玩外网梗,外网梗莫名其妙,每次都让我笑到合不拢嘴结果朋友没一个笑出来的,很尴尬,所以我不玩。
|
|
142
|
+
第四,不玩亚文化梗,为了保证小圈子纯净,只要在公开平台玩就有可能招来压力锅,所以我不玩。
|
|
143
|
+
addition: "四种情况要不重不漏地覆盖全部情况,这就是这个文案的特点。"
|
|
144
|
+
model: gemini-1.5-flash-latest
|
|
145
|
+
二次元:
|
|
146
|
+
examples:
|
|
147
|
+
- |
|
|
148
|
+
呐~呐~呐~,新☆的一年已经来了哟(◦˙▽˙◦)。米娜,想瓦达西了吗♪。这条信息是瓦达西的群 发 祝 福desu(。>∀<。)。这条信息,只有二次元の那菈们才能看见哟(°°)。诶多诶多,希望收到这条信息的你,在新的一年里,能像二次元里的大家一样,天☆天☆开☆心☆喵~(=^▽^=) kira(∗>∀❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั∗)✧*,瓦达西,对……大家sukisukidaisuki!(≧ω≦)/。还有,2023年,一定要和二次元の米娜桑继续在一起哟,不可以变成坏!现!充!
|
|
149
|
+
(ᗜ ˰ ᗜ)
|
|
150
|
+
啊嘞?已经不喜欢二次元了吗(失望的眼神)……诶多,没关系的( • ˍ •ू••ू••ू )。希望你能带着二次元の米娜桑的祝福魔法「magic」,在三次元の世界里,当一个加把劲骑士「knight」。还有,要当好现充,和二次元的大家和睦相处哟(坏现充是要被「魔法少女」teriteri掉的!)。
|
|
151
|
+
好啦,米娜桑!(*^ω^*)新的一年,从美妙的邂逅开始♬
|
|
152
|
+
- |
|
|
153
|
+
呐~呐~呐~,高☆考☆来了哟(◦˙▽˙◦)。米娜,准备好了吗♪。这条信息是瓦达西的高考祝☆福desu(。>∀<。)。这条信息,只有二次元の考生们才能看见哟(°°)。诶多诶多,希望收到这条信息的你,在高考中,能像二次元里的英雄一样,全☆力☆以☆赴☆喵~(=^▽^=) kira(∗>∀❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั❛ั∗)✧*,瓦达西,对……大家sukisukidaisuki!(≧ω≦)/。还有,高考过后,一定要和二次元の米娜桑继续在一起哟,不可以变成坏!现!充!
|
|
154
|
+
(ᗜ ˰ ᗜ)
|
|
155
|
+
啊嘞?已经不喜欢二次元了吗(失望的眼神)……诶多,没关系的( • ˍ •ू••ू••ू )。希望你能带着二次元の米娜桑的祝福魔法「magic」,在三次元の世界里,当一个勇☆敢☆的☆考☆生「knight」。还有,要当好现充,和二次元的大家和睦相处哟(坏现充是要被「魔法少女」teriteri掉的!)。
|
|
156
|
+
好啦,米娜桑!(*^ω^*)高考加油哟~取得优异的成绩♬
|
|
157
|
+
model: gemini-1.5-flash-latest
|
|
158
|
+
女性凝视:
|
|
159
|
+
examples:
|
|
160
|
+
- |
|
|
161
|
+
上个星期我们的游戏讨论组开始热议《黑神话悟空》,有个男生,长相不出众但也不算差,身高也不高,看起来似乎只有170cm左右,参与讨论时倒是挺积极的。他为我们详细解读了游戏的剧情和角色设计,甚至为了分析潜藏在游戏里的文化元素,熬夜翻阅了许多相关的文献资料,最后导致自己的课业都来不及完成,被老师扣了平时分。
|
|
162
|
+
昨天我和朋友们聊天的时候,不经意间提到了他。结果周围的女同学们,一个个似乎都不太待见他,虽然不可否认他对游戏的研究非常用心,学识也相当丰富,对待人也挺友好的。但是,可能因为他本身并不具备出色的外貌条件,而且总是不断地炫耀自己对游戏文化的深入洞察,总是将游戏中的各种细节和历史典故挂在嘴边,反而让人们对他的印象变得有些糟糕。
|
|
163
|
+
其实,在我们讨论组中,也有其他对游戏充满热情的成员,而且他们的颜值都挺高,研究游戏时更多关注于游戏玩法和体验,而不是复杂的背景知识。我们甚至都希望去参加他们组织的游戏体验会。而这位同学,他的热情和学识并没有帮助他赢得更多的尊重,反而因为外貌和行为方式的问题,使得女生对他产生了更多的反感。
|
|
164
|
+
所以,对于对游戏文化有着深厚兴趣的人来说,如果先天条件不够出色,最好不要过于沉浸在游戏的文化背景和复杂理论中,否则可能会让女生更加厌恶。
|
|
165
|
+
- |
|
|
166
|
+
上个星期我们班的体育活动开始,有个男生,外号“牢大”,长得不算丑但也不好看。个子也不高,看起来才170出头,参加体育活动倒是挺热情,每次运动会都能看到他的身影,专门为我们表演篮球技巧,最后弄到自己作业没写完被老师批评了。
|
|
167
|
+
昨天我和朋友们聊天的时候,突然提起他,结果一个个都很嫌弃他。虽然不可否认他体育很好,人也挺好的,但因为人本来长的就不咋地,还见人就吹篮球多有用,天天把科比挂在嘴边,反而让我们觉得他有点烦人。
|
|
168
|
+
其实我们班体育健将不少,但好歹他们长得挺帅的,更擅长足球或羽毛球等其他运动,我们恨不得想去支持他们参加的比赛。而这位“牢大”,我们真的好无语,人长得不帅还只盯着篮球不放。
|
|
169
|
+
所以男生如果天生形象不突出,千万别只沉迷篮球,不然会让女生更加厌恶。
|
|
170
|
+
model: gemini-1.5-flash-latest
|
|
171
|
+
乙游大世界:
|
|
172
|
+
examples:
|
|
173
|
+
- |
|
|
174
|
+
怪物猎人简直就是一个乙游大世界💕
|
|
175
|
+
🖤想要成熟稳重,双开门有金狮子🖤
|
|
176
|
+
💛想要幽默不失风趣有冰牙龙💛
|
|
177
|
+
💜如果想要我们的老公姐还有王冰💜
|
|
178
|
+
💗要我说 你们怪物猎人玩家吃的也真是太好了吧💘
|
|
179
|
+
🎁今天我已经垂直入坑了🎉
|
|
180
|
+
- |
|
|
181
|
+
明日方舟简直就是一个乙游大世界💕
|
|
182
|
+
🖤想要成熟稳重,双开门有维什戴尔🖤
|
|
183
|
+
💛想要幽默不失风趣有维什戴尔💛
|
|
184
|
+
💜如果想要我们的老公姐还有维什戴尔💜
|
|
185
|
+
💗要我说 你们方舟玩家吃的也真是太好了吧💘
|
|
186
|
+
🎁今天我已经垂直入坑了🎉
|
|
187
|
+
- |
|
|
188
|
+
塞伯坦星球简直就是一个乙游大世界💕
|
|
189
|
+
🖤想要成熟稳重,双开门有擎天柱🖤
|
|
190
|
+
💛想要幽默不失风趣有大黄蜂💛
|
|
191
|
+
💜如果想要我们的老公姐还有艾丽塔💜
|
|
192
|
+
💗要我说 你们变形金刚粉丝吃的也真是太好了吧💘
|
|
193
|
+
🎁今天我已经垂直入坑了🎉
|
|
194
|
+
model: gemini-1.5-flash-latest
|
|
195
|
+
恩情:
|
|
196
|
+
examples:
|
|
197
|
+
- |
|
|
198
|
+
从中国访问回来金正日爷爷全然不顾身体的疲惫,连夜找我们几个小标兵商量儿童日的安排。谈得晚了,便送我们出门,要司机送我们回家。在去大门口的路上,我们说:“金爷爷,您回去休息吧。您刚从中国回来。”金爷爷摇摇头,“不碍事,你们知道现在国际上有很多人把当作敌人,不断给我们制造麻烦,你们是祖国的未来,你们的事情便是国家的事情,是头等大事。”我们都激动了,眼里噙着泪花。多好的金爷爷呀。金爷爷抬头看看天空说:“如果世界这天空这么安静就好了,但是就有一些国家,像美国,要搞乱这个世界,他们是罪人。”说着,金爷爷弯下腰,从花池里捡出一颗石子,然后看着天空说:“该死的。”说着他把石子奋力向上一掷。很快就见空中一颗卫星突然爆发出耀眼的强光,然后就坠落下来。“这是美国的间谍卫星,他们一直在平壤上空盘旋,侵犯我们的主权,我已经忍了很久了。”金爷爷愤愤地说。
|
|
199
|
+
小朋友们都鼓起掌来,为祖国有这样的领导人感到自豪。一会金爷爷叫来秘书问:“那个卫星落到什么地方了?”“好像是龙川一带。”秘书说。金爷爷一怔,说:“赶紧派人去查,看有什么问题没有。”之后爷爷送我们到大门口,一直挥手到看不见我们。
|
|
200
|
+
第四天我们听说龙川那边出事了,我们很紧张。而这时金爷爷叫我们过去。他依然那么慈祥,让我们坐下说:“战争总是要有牺牲的。为民族独立事业牺牲的人是伟大的。”他这时低下头说:“但我必须承认,我当时击落敌人卫星的行为太鲁莽了,我在这里向全国人们道歉。我将向全国人民说明情况。”我们顿时热泪盈眶,多好的爷爷呀,他在跟敌人斗争过程中的小失误竟然被他记在心里,还道了歉,我们在将来的学习中一定要向金爷爷学,学他老人家那宽广的胸怀,和不耻下问的精神。
|
|
201
|
+
- |
|
|
202
|
+
从venv访问回来的Python爷爷全然不顾身体的疲惫,连夜找我们几个脚本语言商量1024日的安排。谈的晚了,便送我们出缓冲区,要SaveFile送我们回家。在去二级存储器的路上,我们说:“Python爷爷,您回去休息吧。您刚从venv回来。”Python爷爷摇摇头,“不碍事,你们知道现在软件开发领域上有很多人把动态语言当作敌人,不断给我们添加限制,你们是动态语言的未来,你们的事情便是语言的事情,是头等大事。”我们都激动了,眼里噙着分号。多好的Python爷爷呀。Python爷爷抬头看看内存说:“如果软件这世界这么安静就好了,但是就有一些语言,像Java,要搞乱这个领域,他们是罪人。”说着,Python爷爷弯下腰,从代码编辑器里捡出一个object,然后看着内存说:“该死的。”说着他把object奋力向上一掷。很快就见内存中一条Type Error突然爆发出耀眼的强光,然后就崩溃下来。“这是编译器的报错信息,他们一直在编译结果中闪红阻止我们编译,我已经忍了很久了。”Python爷爷愤愤地说。
|
|
203
|
+
脚本语言们都鼓起掌来,为动态语言有这样的领导人感到自豪。一会Python爷爷叫来JavaScript问:“那个Type Error落到什么地方了?”“好像是生产环境一带。”JavaScript说。Python爷爷一怔,说:“赶紧派人去查,看有什么问题没有。”之后爷爷送我们到IO口,一直Write到看不见我们。
|
|
204
|
+
第四天我们听说生产环境那边出事了,我们很紧张。而这时Python爷爷叫我们过去。他依然那么慈祥,让我们坐下说:“便利总是要有牺牲的。为编码效率事业牺牲的安全性是伟大的。”他这时低下头说:“但我必须承认,我当时击落Type Error的行为太鲁莽了,我在这里向全体运行时道歉。我将向全运行时说明情况。”我们顿时热分号盈眶,多好的爷爷呀,他在跟编译错误斗争过程中的小失误竟然被他记在心里,还道了歉,我们在将来的学习中一定要向Python爷爷学,学他老人家那宽广的胸怀,和不耻下问的精神。
|
|
205
|
+
model: gemini-1.5-flash-latest
|
|
206
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
__category__: Yan
|
|
2
|
+
|
|
3
|
+
鸣潮:
|
|
4
|
+
examples:
|
|
5
|
+
- 圆桌是这样的,亚瑟王只需要使用圣剑就行了,而圆桌骑士们需要考虑的就多了,什么时候和贵妇幽会,什么时候挑起内战,都需要深思熟虑
|
|
6
|
+
- 儿童节是这样的,大哥哥只需要在家等着被抓就行了,而小萝莉要考虑的事情就很多了,什么时候喊杂鱼杂鱼,什么时候掀裙子露内裤,什么时候拉响警报器,都需要经过深思熟虑
|
|
7
|
+
- 企业家是这样的,员工只需要完成工作任务就行了,而老板要考虑的事情就很多了,什么时候拖欠工资,什么时候增加工作时间,员工绩效怎么压,都需要深思熟虑
|
|
8
|
+
addition: "你回复的文案应该是辛辣讽刺的,例如老板考虑如何拖欠工资,学生考虑低分怎么辩解,游戏玩家考虑如何开挂。"
|
|
9
|
+
model: gemini-1.5-flash-latest
|
|
10
|
+
紧缩术:
|
|
11
|
+
examples:
|
|
12
|
+
- 你的太阳系舰队比较松弛,但是你的章北海逃亡计划呢又弥补了这一部分。如果用水滴把舰队全部消灭的话,可能就会显得行星防御漏洞就比较大,可能会有一些人类战败的情况。现在最好的办法,就是在星舰地球做逃亡的同时,给三体人做一个黑暗森林威慑。
|
|
13
|
+
- 你的肛门比较松弛,但是你的痔疮呢又弥补了这一部分。如果做痔疮手术,把痔疮切除的话,可能就会显得你的肛门就比较大,可能会有一些漏液漏气的情况。现在最好的办法就是,在做痔疮的同时,给你做一个肛门紧缩术。
|
|
14
|
+
- 你的异议比较松弛,但是你的拍桌呢又弥补了这一部分。如果出示证物,把拍桌搪塞过去的话,可能就会显得你空血条就比较大。现在最好的办法就是,在出示证物的同时,给你萌生一个多余的感情。
|
|
15
|
+
model: gemini-1.5-flash-latest
|
|
16
|
+
两种可能:
|
|
17
|
+
examples:
|
|
18
|
+
- 一个不玩原神的人,有两种可能性。一种是没有能力玩原神。因为买不起高配的手机和抽不起卡等各种自身因素,他的人生都是失败的,第二种可能:有能力却不玩原神的人,在有能力而没有玩原神的想法时,那么这个人的思想境界便低到了一个令人发指的程度。一个有能力的人不付出行动来证明自己,只能证明此人行为素质修养之低下。他的人生是灰暗的,是不被真正的社会认可的。
|
|
19
|
+
- 一个不欣赏男娘文化的人,有两种可能性。一种是没有能力欣赏男娘文化。因为缺乏对多元文化的理解和接受能力,他的视野都是狭隘的,第二种可能:有能力却不欣赏男娘文化的人,在有能力而没有欣赏男娘文化的想法时,那么这个人的思想境界便低到了一个令人遗憾的程度。一个有能力的人不开放心态去接纳新事物,只能证明此人文化素养和包容性之不足。他的世界是单调的,是不被真正的多元文化社会所接纳的。
|
|
20
|
+
# addition: "大概格式为:一个……的人,有两种可能性。一种是……,因为……,他的人生都是失败的。第二种可能:有能力却不……,在有能力而……,那么这个人的思想境界便低到了一个令人发指的程度。一个有能力的人……,只能证明此人行为素质修养之低下。他的人生是灰暗的,是不被真正的社会认可的。"
|
|
21
|
+
model: gemini-1.5-flash-latest
|
|
22
|
+
你说得对:
|
|
23
|
+
examples:
|
|
24
|
+
- 你说得对,但是《原神》是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界,在这里,被神选中的人将被授予「神之眼」,导引元素之力。玩家将扮演一位名为「旅行者」的神秘角色,在自由的旅行中邂逅性格各异、能力独特的同伴们,和他们一起击败强敌,找回失散的亲人——同时,逐步发掘「原神」的真相。
|
|
25
|
+
- 你说得对,但是范畴论是由数学家艾伦·爱德华·贝克创立的一门全新数学理论。理论研究在一个被称作「数学结构」的抽象世界中,被逻辑选中的人将被授予「范畴」,导引结构之力。学者们将扮演一位名为「探索者」的神秘角色,在自由的探索中邂逅性质各异、结构独特的范畴们,和他们一起解析复杂关系,揭示隐藏的联系——同时,逐步发掘「范畴论」的真相。
|
|
26
|
+
model: gemini-1.5-flash-latest
|
|
27
|
+
不是高三生:
|
|
28
|
+
examples:
|
|
29
|
+
- 现在距离高考仅有3天了,但是我现在仍然浑浑噩噩,还在熬夜,整天抱着个手机,一点学习的样子的没有。从去年九月份开始,我这一年的状态远不如之前了,我知道高考的重要性,也知道高考意味着什么,但是我的确无法强迫自己学习。哎,还有3天,我该怎么办啊,我现在一点都没有高三学生应该有的样子,因为我不是高三学生。
|
|
30
|
+
- 现在距离小升初考试只剩下3天了,但是我现在仍然懵懵懂懂,还在玩手机,一点复习的样子都没有。从去年9月份开始,我这一年的状态远不如之前了,我知道小升初考试的重要性,也知道这关乎着我的未来,但是我确实无法强迫自己复习。唉,还有3天,我该怎么办呢,我现在一点都没有六年级学生应该有的样子,因为我不是六年级学生。
|
|
31
|
+
- 现在距离中考只剩下3天了,但是我现在仍然迷迷糊糊,还在浪费时间,一点备考的样子都没有。从去年9月份开始,我的状态一直没有调整好,虽然我明白中考的重要性,也知道这决定着我的未来,但是我却不能让自己全力以赴。唉,还有3天,我该怎么办呢,我现在一点都不像是初三学生,因为我初三学生。
|
|
32
|
+
model: "gpt-4o-mini"
|
|
33
|
+
带节奏:
|
|
34
|
+
examples:
|
|
35
|
+
- 又开始带时空龙节奏了,我真是服了,时空龙是这游戏最完美的卡组,已经和决斗链接国际服融为了一体,成了游戏王的底层逻辑,成名技能超音速龙主宰给游戏王带来了决斗历史上的最经典博弈,创造了国际服的黄金时代,削时空龙?你们是想毁了决斗链接吗?
|
|
36
|
+
- 又开始带Typst节奏了,我真是服了。Typst是这款排版工具中最完美的设计,已经和文档编辑融为一体,成了排版界的底层逻辑,成名功能智能布局给排版界带来了历史上最经典的创新,创造了排版工具的黄金时代,削Typst?你们是想毁了文档编辑的未来吗?
|
|
37
|
+
model: "gpt-4o-mini"
|
|
38
|
+
慢就业:
|
|
39
|
+
examples:
|
|
40
|
+
- 慢就业是指,一些大学生毕业后既不打算马上就业也不打算继续深造,而是暂时选择游学、支教、在家陪父母或者创业考察,慢慢考虑人生道路的现象。
|
|
41
|
+
- 慢结婚是指,一些年轻人不急于在适婚年龄内结婚,而是选择更加从容和慎重地对待婚姻。相较于传统的“到了年龄就结婚”,他们更愿意花时间了解自己和对方,在事业、兴趣爱好和个人成长上投入更多时间,逐渐找到适合自己的伴侣。
|
|
42
|
+
- 慢学习是指,一些人选择放缓学习节奏,不追求快速完成学业或取得高分,而是更加注重学习过程中的体验和知识的深入理解。他们可能选择通过旅行、实践、志愿服务或者长期项目来丰富自己的学习经历,慢慢探索并确定自己感兴趣的领域和未来的发展方向。
|
|
43
|
+
model: "gpt-4o-mini"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
__category__: Life.Checkpoint
|
|
2
|
+
|
|
3
|
+
表白:
|
|
4
|
+
examples:
|
|
5
|
+
- |
|
|
6
|
+
我向心仪的对象表白,却遭到了拒绝!我可是人工智能领域的资深研究者啊!从深度学习、深度学习、强化学习到自然语言处理、生成模型、计算机视觉、自动驾驶、智能机器人我无一不精。自从我踏入AI领域以来,我研读过的论文从Hopfield、Hinton、LeCun、Bengio到何恺明、吴恩达、李飞飞、周志华,这些顶尖学者的研究成果我早已烂熟于心。对于深度学习框架,如PyTorch、TensorFlow、MindSpore、PaddlePaddle,我也都能够熟练使用。你知道的,我对于CNN、RNN、LSTM、 GAN、Transformer、GPT、以及最新的Mamba模型的理解之深,连那些顶会上的大牛都时常赞叹我见解独到,甚至有人说我的观点比那些经典论文还要深刻。结果呢,她居然对我不感兴趣?
|
|
7
|
+
在我面前装什么清高?有个情敌拿着几本《高等数学》《大学物理》装模作样,我轻蔑地一笑,谁不知道这些是入门读物?我读的可是《深度学习》(花书),《机器学习》(西瓜书),《PRML》(模式识别与机器学习),《深度强化学习:原理与实践》,《统计学习方法》,《神经网络与机器学习》哪本不是 AI 界的经典巨著?那些科普作家还在谈什么梯度下降、反向传播、交叉熵损失、过拟合?这些早在我研究本科毕设的时候就烂熟于心了。什么 ANN、RNN、CNN、Transformer、GPT、BERT,这些模型在我眼里也不过是 AI 基础知识罢了。更不用说 LSTM、GRU、GAN、VAE、SOM,这些网络和架构早就是我的手下工具。
|
|
8
|
+
我如此博学多才,理论和实践功底深厚,为什么她就不喜欢我呢难道我研究的神经网络结构不够前沿?从 Transformer到Mamba,从大模型到具身智能,这些前沿的方向我无一不涉猎。难道是我的数据集不够大?可我用的都是SA-1B、The Pile、JFT-3B那样的大规模数据集。还是我发的论文不够顶?确实,我承认我没有发在 Nature 和 Science,但我的CVPR, ICLR和 ICML论文难道还不够证明我的实力?还是我外表不够帅?我确实不是那种颜值爆表的,但你凭什么要求我长得帅?难道这个世界上,长得不够帅、但有着牛逼的理论和出色的编程能力就成了负担?这世道怎么就成了这样,科研成果和深刻的思想竟然比不过一个好看的外表!
|
|
9
|
+
- |
|
|
10
|
+
我向心仪的对象表白,却遭到了拒绝!我可是物理学界的资深研究者啊!从经典力学、量子力学、相对论到热力学、光学、电磁学、粒子物理、弦理论,无一不精。自从我踏入物理领域以来,研读的文献从牛顿、麦克斯韦、狄拉克、费曼到爱因斯坦、薛定谔、玻尔、霍金,这些大牛的研究成果我早已烂熟于心。对于实验设备,从原子钟、粒子加速器、核磁共振到量子计算机、激光干涉仪、天体望远镜,我也都能够熟练使用。你知道的,我对霍尔反常效应、引力波、能量涨落模型、狄拉克海、暗物质、量子场论的理解之深,连顶会上那些诺奖得主都时常赞叹我见解独到,有人甚至说我的见解比那些经典学著还要通透。结果呢?她居然对我毫无兴趣?
|
|
11
|
+
在我面前装什么学术冷艳?有个情敌抱着几本《普通物理学》《大学数学》摆出一副学术姿态,我轻蔑地一笑,谁不知道这些是入门教材?我读的可是《费曼物理学讲义》,《量子力学导论》,《弦论》,《热力学与统计物理》,《场论》,《粒子物理学导论》,哪本不是物理学界的经典巨作?那些科普作家还在谈什么牛顿三大定律、光的波粒二象性、狭义相对论?这些早在我大一就已经倒背如流了。什么电磁场方程、量子态叠加、狄拉克方程、引力波探测、超弦理论,这些在我眼里也不过是物理基础知识罢了。更不用说玻尔模型、狄拉克符号、费米子、玻色子、Kerr黑洞,这些概念早就是我的手下工具。
|
|
12
|
+
我如此博学多才,理论和实验技能深厚,为什么她就是不喜欢我呢?难道我研究的弦理论不够实用?从黑洞热力学到多维弦论,从暗物质探测到霍金辐射,这些前沿方向我无一不涉猎。难道是我的实验数据不够硬核?可我手头的数据可是来自LHC(大型强子对撞机)、LIGO(激光干涉引力波天文台),那可是国际顶尖实验装置的数据集啊。还是我发表的论文不够顶?确实,我承认我还没发在 Nature 和 Science 上,但我在 Physical Review Letters ,Nature Physics 和 Journal of High Energy Physics 发的论文难道还不足以证明我的实力?还是我外表不够帅?我确实不是颜值界的强者,但你凭什么要求我长得帅?难道这个世界上,长得不够帅、但有扎实的理论和卓越的实验能力就成了负担?这世道怎么就成了这样,科学发现和深刻的思想竟然比不过一张好看的脸!
|
|
13
|
+
addition: "保持事件为向对象表白"
|
|
14
|
+
model: gemini-1.5-flash-latest
|
|
15
|
+
求真学生:
|
|
16
|
+
examples:
|
|
17
|
+
- |
|
|
18
|
+
求真的學生還要上早八,朋比为奸?北大不上早八已經奪去幾個獎牌了,這些工作會給別人做去了,你們羞也不羞?這種成績令人汗顏!不求向上,自甘中下,你們自己提出如何交代。所以我說不要上早八了,告訴學生們,躲在遊戲屋,睡得最香的,獎一个华为手表。这种機遇不可特意去求!
|
|
19
|
+
傳自我的手機
|
|
20
|
+
- |
|
|
21
|
+
在微軟上班還要加班?朋比為奸?隔壁谷歌不搞加班已經搶走幾個大客戶了,這些專案會讓給別人做了去,你們羞也不羞?這種業績令人汗顏!不求上進,自甘平庸,你們自己提出如何交代。所以我說不要加班了,告訴同事們,躲在咖啡吧裡,睡得最香的,發一个新款iPhone。這種機遇不可刻意去求!
|
|
22
|
+
傳自我的手機
|
|
23
|
+
addition: "使用繁体字"
|
|
24
|
+
model: gemini-1.5-flash-latest
|
|
25
|
+
第一个被抓:
|
|
26
|
+
examples:
|
|
27
|
+
- |
|
|
28
|
+
林冲是第一个被抓的,当时林冲接到通知要给高太尉看刀,他兴冲冲的刚进院子时,他的朋友鲁智深即被留在院外。林冲感到事情有些不大对头,但也没在意。当林冲走进白虎节堂时,专门对付他的二十多个公人立即走了过来。
|
|
29
|
+
二十个公人在走廊里把他扭住的时候,林教头惊慌失措,一边大声说“我是来给太尉看刀的,你们要干什么?”一边拳打脚踢,拼命进行反抗。高太尉的公人个个身手不凡,林冲很快就被行动小组制服了,被扭着双臂押到了开封府里。
|
|
30
|
+
在开封府衙里,等待他的滕府尹把“逮捕决定”念了一遍。还没等府尹念完,林冲突然大吼一声,挣脱两个公人的扭缚,向五六米远地方的陆虞候猛扑过去。林教头当过兵,练过武,一旦扑过去,打伤了太尉府虞候,这还了得?陆谦久经官场,不慌不忙的冷眼看着林冲的疯狂举动。
|
|
31
|
+
在这千钧一发之际,一旁的董超薛霸反应迅速,猛冲上去把林冲扑倒,死死地把他摁住,给他戴上了枷锁。在抓捕林冲的过程中,林冲的头是唯一被戴上枷锁的部位。林冲被捕后,对他的头到底砍不砍的问题,讨论也是最激烈的。
|
|
32
|
+
- |
|
|
33
|
+
痞老板是第一个被抓的,当时痞老板接到通知要讨论蟹堡王的秘方,他刚进蟹堡王时,他的电脑老婆即被留在门外。痞老板感到事情有些不大对头,但也没在意。当他快走进蟹老板的办公室时,专门对付他的章鱼哥立即走了过来。
|
|
34
|
+
几名蟹堡王员工在办公室里把他扭住的时候,痞老板惊慌失措,一边大声说“我是来讨论秘方的,你们要干什么?"一边拳打脚踢,拼命进行反抗。蟹堡王员工个个身手不凡,痞老板很快就被他们制服,被扭着双臂押到了蟹堡王办公室。
|
|
35
|
+
在蟹堡王办公室里,等待他的蟹老板把“决定”念了一遍。还没等蟹老板念完,痞老板突然大吼一声,挣脱员工的扭缚,向五六步远地方的章鱼哥猛扑过去。章鱼哥是蟹堡王的得力助手,痞老板一旦扑过去,打伤了章鱼哥,这还了得?蟹老板久经沙场,不慌不忙地冷眼看着痞老板的疯狂举动。
|
|
36
|
+
在这千钧一发之际,一旁的海绵宝宝反应迅速,猛冲上去把痞老板扑倒,死死地把他摁住,给他捆了起来。在抓捕海之霸的成员过程中,痞老板是唯一被判监禁的人。痞老板被捕后,对他的监管也最严格的。
|
|
37
|
+
model: gemini-1.5-flash-latest
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright 2024 Yan
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: nonebot-plugin-copywrite
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary:
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
Author: Yan
|
|
7
|
+
Author-email: 1964649083@qq.com
|
|
8
|
+
Requires-Python: >=3.11,<4.0
|
|
9
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Requires-Dist: cairosvg (>=2.7.1,<3.0.0)
|
|
15
|
+
Requires-Dist: nonebot-adapter-onebot (>=2.4.6,<3.0.0)
|
|
16
|
+
Requires-Dist: nonebot2 (>=2.4.0,<3.0.0)
|
|
17
|
+
Requires-Dist: openai (>=1.54.3,<2.0.0)
|
|
18
|
+
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
|
|
21
|
+
<div align="center">
|
|
22
|
+
<a href="https://v2.nonebot.dev/store"><img src="https://raw.githubusercontent.com/tkgs0/nbpt/resources/nbp_logo.png" width="180" height="180" alt="NoneBotPluginLogo"></a>
|
|
23
|
+
<br>
|
|
24
|
+
<p><img src="https://raw.githubusercontent.com/tkgs0/nbpt/resources/NoneBotPlugin.svg" width="240" alt="NoneBotPluginText"></p>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div align="center">
|
|
28
|
+
|
|
29
|
+
# Nonebot 2 定型文生成器
|
|
30
|
+
|
|
31
|
+
_✨ NoneBot 定型文生成器 ✨_
|
|
32
|
+
|
|
33
|
+
<a href="./LICENSE">
|
|
34
|
+
<img src="https://img.shields.io/github/license/Yan-Zero/nonebot-plugin-copywrite.svg" alt="license">
|
|
35
|
+
</a>
|
|
36
|
+
<!-- <a href="https://pypi.python.org/pypi/nonebot-plugin-copywrite">
|
|
37
|
+
<img src="https://img.shields.io/pypi/v/nonebot-plugin-copywrite.svg" alt="pypi">
|
|
38
|
+
</a> -->
|
|
39
|
+
<a href="https://www.python.org">
|
|
40
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="python">
|
|
41
|
+
</a>
|
|
42
|
+
<a href="https://nonebot.dev">
|
|
43
|
+
<img src="https://img.shields.io/badge/nonebot-2.4.0+-red.svg" alt="nonebot">
|
|
44
|
+
</a>
|
|
45
|
+
<a href="https://onebot.adapters.nonebot.dev">
|
|
46
|
+
<img src="https://img.shields.io/badge/OneBot-11-black?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAxQTFRF////29vbr6+vAAAAk1hCcwAAAAR0Uk5T////AEAqqfQAAAKcSURBVHja7NrbctswDATQXfD//zlpO7FlmwAWIOnOtNaTM5JwDMa8E+PNFz7g3waJ24fviyDPgfhz8fHP39cBcBL9KoJbQUxjA2iYqHL3FAnvzhL4GtVNUcoSZe6eSHizBcK5LL7dBr2AUZlev1ARRHCljzRALIEog6H3U6bCIyqIZdAT0eBuJYaGiJaHSjmkYIZd+qSGWAQnIaz2OArVnX6vrItQvbhZJtVGB5qX9wKqCMkb9W7aexfCO/rwQRBzsDIsYx4AOz0nhAtWu7bqkEQBO0Pr+Ftjt5fFCUEbm0Sbgdu8WSgJ5NgH2iu46R/o1UcBXJsFusWF/QUaz3RwJMEgngfaGGdSxJkE/Yg4lOBryBiMwvAhZrVMUUvwqU7F05b5WLaUIN4M4hRocQQRnEedgsn7TZB3UCpRrIJwQfqvGwsg18EnI2uSVNC8t+0QmMXogvbPg/xk+Mnw/6kW/rraUlvqgmFreAA09xW5t0AFlHrQZ3CsgvZm0FbHNKyBmheBKIF2cCA8A600aHPmFtRB1XvMsJAiza7LpPog0UJwccKdzw8rdf8MyN2ePYF896LC5hTzdZqxb6VNXInaupARLDNBWgI8spq4T0Qb5H4vWfPmHo8OyB1ito+AysNNz0oglj1U955sjUN9d41LnrX2D/u7eRwxyOaOpfyevCWbTgDEoilsOnu7zsKhjRCsnD/QzhdkYLBLXjiK4f3UWmcx2M7PO21CKVTH84638NTplt6JIQH0ZwCNuiWAfvuLhdrcOYPVO9eW3A67l7hZtgaY9GZo9AFc6cryjoeFBIWeU+npnk/nLE0OxCHL1eQsc1IciehjpJv5mqCsjeopaH6r15/MrxNnVhu7tmcslay2gO2Z1QfcfX0JMACG41/u0RrI9QAAAABJRU5ErkJggg==" alt="onebot">
|
|
47
|
+
</a>
|
|
48
|
+
<!-- <a href="https://pypi.python.org/pypi/nonebot-plugin-copywrite" rel="nofollow">
|
|
49
|
+
<img alt="pypi download" src="https://img.shields.io/pypi/dm/nonebot-plugin-copywrite" style="max-width: 100%;">
|
|
50
|
+
</a> -->
|
|
51
|
+
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
## 介绍
|
|
55
|
+
|
|
56
|
+
基于 LLM 的定型文生成器
|
|
57
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
nonebot_plugin_copywrite/__init__.py,sha256=fzRaX90Gb1dbyBJhw2JVj4cPob22mpPTwgeZIU8w3WQ,19877
|
|
2
|
+
nonebot_plugin_copywrite/chat.py,sha256=pJqHNWtlf555ng616GLFD7Z50QaqNo6m0kw-0MQ9jMY,1511
|
|
3
|
+
nonebot_plugin_copywrite/config.py,sha256=sCCmloPzBz_JgGo5wKm2fm7BKPyCAHRKsrvC0DQJA98,147
|
|
4
|
+
nonebot_plugin_copywrite/copywrite/__init__.py,sha256=JBytwIk6m7mOCm9IBQoxPapjK36ul3zdl9BeRQyQr6c,1431
|
|
5
|
+
nonebot_plugin_copywrite/copywrite/default.delete.yaml,sha256=woVZAzh2GafTJBJMhC30tPCSX_44iJBC77N4r4W0Pwk,4287
|
|
6
|
+
nonebot_plugin_copywrite/copywrite/default.long.yaml,sha256=TTzKheAnF8Gj9gw-cfBjnUEPFAnOM_zbf2E35thj7eE,32540
|
|
7
|
+
nonebot_plugin_copywrite/copywrite/default.short.yaml,sha256=X8FZKPzfidp4ZmeYZJ_YrjH6BAGRWhx3Dk9REJWaSzw,7522
|
|
8
|
+
nonebot_plugin_copywrite/copywrite/life.checkpoint.long.yaml,sha256=RQzJ1-IT4BDt-gbwjJ1AIZ5Ei77mi-08JhwTpMPqrhY,8930
|
|
9
|
+
nonebot_plugin_copywrite-0.2.2.dist-info/LICENSE,sha256=YwX5XGk3mLSfNTRIfnRwpBGVDeOLLMPEqZvJW8wWlF4,11333
|
|
10
|
+
nonebot_plugin_copywrite-0.2.2.dist-info/METADATA,sha256=GUDQh3v53XyjG-vY4v1dZRuB7Xo0I-RpNHDKo_lhAvE,3149
|
|
11
|
+
nonebot_plugin_copywrite-0.2.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
12
|
+
nonebot_plugin_copywrite-0.2.2.dist-info/RECORD,,
|