45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import datetime
|
||
from init import llm
|
||
import json
|
||
import json5
|
||
from utils import found_llm_think_data
|
||
|
||
|
||
#根据海报内容生成主题颜色
|
||
def gen_poster_color(data):
|
||
# 获取当前日期和星期
|
||
today = datetime.datetime.now()
|
||
# 获取今天是星期几,使用weekday()方法(周一=0, 周日=6)
|
||
weekday_number = today.weekday()
|
||
|
||
system_prompt=f"""
|
||
# 你是一个海报设计助手
|
||
今天是{today.strftime('%Y-%m-%d')} 星期{weekday_number+1}
|
||
|
||
## 工作技能
|
||
1. 你可以根据文案的主标题和副标题来设计主题颜色,包括背景色,主标题,副标题,内容卡片的背景色,内容卡片的标题颜色组section_colors不少于5个,内容字体颜色等,
|
||
2. 最终输出格式为JSON,具体如下:
|
||
|
||
{{"bg_color":"背景颜色值","title_color":"主标题颜色值","subtitle_color":"副标题颜色值",
|
||
"font_color":"内容字体颜色值","card_bg_color":"卡片背景色","section_colors":["color1","color2",...]}}
|
||
|
||
海报主标题:
|
||
{data['主标']}
|
||
海报副标题:
|
||
{data['副标']}
|
||
|
||
"""
|
||
|
||
messages = [{'role': 'user', 'content': system_prompt}]
|
||
response = llm.chat(
|
||
messages=messages,
|
||
stream=False,
|
||
) # get a new response from the model where it can see the function response
|
||
|
||
result = response[0]["content"]
|
||
|
||
think,data = found_llm_think_data(result)
|
||
|
||
return json5.loads(data)
|
||
|