Files
aitsc/src/flask_prompt_master/routes/__pycache__/routes.cpython-312.pyc

452 lines
51 KiB
Plaintext
Raw Normal View History

2025-08-29 00:34:40 +08:00
<EFBFBD>
2026-04-02 17:39:09 +08:00
g<18>i<EFBFBD><69><00><00>b<00>ddlmZmZmZmZmZmZmZmZddl m
2025-08-29 00:34:40 +08:00
Z
2025-10-10 23:39:54 +08:00
ddl m Z ddl mZmZmZmZmZddlmZmZddlmZmZddlmZddlZdd lmZddlZddlZddlZddl Z ddl!Z!e!jDe#<23>Z$ed
e#<23>Z%e
2025-10-17 23:26:07 +08:00
d d <0C> <0A>Z&ejNZ'ejPZ(d>d<0E>Z)d?d<0F>Z*d@d<10>Z+d<11>Z,d<12>Z-e%j]dddg<02><16>d<17><00>Z/e%j]d<18>d<19><00>Z0e%j]d<1A>d<1B><00>Z1e%j]dddg<02><16>d<1D><00>Z2e%j]d<1E>d<1F><00>Z3e%j]d d!g<01><16>d"<22><00>Z4e%j]d#dg<01><16>d$<24><00>Z5e%j]d%dg<01><16>d&<26><00>Z6e%j]d'dg<01><16>d(<28><00>Z7e%j]d)dg<01><16>d*<2A><00>Z8e%j]d+dg<01><16>d,<2C><00>Z9e%j]d-dg<01><16>d.<2E><00>Z:e%j]d/dg<01><16>d0<64><00>Z;e%j]d1dg<01><16>d2<64><00>Z<e%j]d/d!g<01><16>d3<64><00>Z=e%j]d4dg<01><16>d5<64><00>Z>e%j]d6dg<01><16>d7<64><00>Z?e%j]d8dg<01><16>d9<64><00>Z@e%j]d:dg<01><16>d;<3B><00>ZAe%j]d<<3C>d=<3D><00>ZBy)A<>)<08> Blueprint<6E>render_template<74>request<73>redirect<63>url_for<6F>flash<73>jsonify<66> current_app)<01>OpenAI)<01>db)<05>User<65>Prompt<70>Feedback<63>PromptTemplate<74>WxUser)<02> PromptHistory<72>UserStatistics)<02>
2025-08-29 00:34:40 +08:00
PromptForm<EFBFBD> FeedbackForm)<01>ConfigN)<01>datetime<6D>mainz#sk-fdf7cc1c73504e628ec0119b7e11b8cczhttps://api.deepseek.com/v1)<02>api_key<65>base_urlc<00><><00>|r-tjj|<00>}|r |jStjj d<01><02>j <00>}|r |jSy)u获取系统提示词模板T)<01>
is_defaultu<EFBFBD>你是一个专业的提示词工程师,擅长将普通的描述转换为结构化、专业的 Prompt。
你需要:
1. 分析用户的需求和意图
2. 将其转换为清晰、详细的提示词
3. 添加必要的上下文和约束条件
4. 使用专业的术语和格式
5. 确保生成的提示词能够获得最佳的 AI 响应
2026-04-02 17:39:09 +08:00
请直接返回优化后的提示词,不要添加任何解释或其他内容。)r<00>query<72>get<65> system_prompt<70> filter_by<62>first)<03> template_id<69>template<74>default_templates <20>5D:\aaa\aitsc\src\flask_prompt_master\routes\routes.py<70>get_system_promptr&sd<00><00><12>!<21>'<27>'<27>+<2B>+<2B>K<EFBFBD>8<><08> <13><1B>)<29>)<29> )<29>&<26>+<2B>+<2B>5<>5<><14>5<>F<>L<>L<>N<><14><17><1F>-<2D>-<2D>-<2D> U<01>c
2025-12-20 23:19:19 +08:00
<00><><00>ddl}t|<01>}|j<00>}tjj d<03>tjj d|<01><00><02>tjj d|<00><00><02>tjj d|<04><00><02>tjj d<07>t |<02>D<00>]} t jjjdd |d
2025-09-07 23:05:30 +08:00
<EFBFBD>d |d
2025-12-20 23:19:19 +08:00
<EFBFBD>gd d d<0E><0F>}t|j<00>|z
dz<00>}|jdjjj<00>} tjj d<11>tjj d| <09><00><02>tjj d|<08>d<14><03>tjj d<07>t|| ||<08><15>| cSy%#t $r<>}
2025-10-10 23:39:54 +08:00
t#|
2025-12-20 23:19:19 +08:00
<EFBFBD>} tjj%d|dz<00>d|<02>d| <0B><00><06>||dz
k(r<>d| j'<00>vsd| j'<00>vrYd}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
yd| j'<00>vsd| j'<00>vrYd}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
yd | j'<00>vsd!| j'<00>vrYd}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
y"d#| <0B><00>cYd}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
cS|j(d$|z<00>Yd}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
<EFBFBD><02>d}
2025-10-10 23:39:54 +08:00
~
2025-12-20 23:19:19 +08:00
wwxYw)&u3调用大模型API生成提示词带重试机制rNu=== API 调用参数 ===u
2025-09-19 00:14:29 +08:00
模板ID: u输入文本: u系统提示: z==================<3D> deepseek-chat<61>system<65><02>role<6C>content<6E>user<65>ffffff<66>?<3F><><00><)<05>model<65>messages<65> temperature<72>
2025-12-20 23:19:19 +08:00
max_tokens<EFBFBD>timeouti<74>u=== API 响应结果 ===u生成的提示词: u生成耗时: <20>ms)<04>
2025-10-10 23:39:54 +08:00
input_text<EFBFBD>generated_textr"<00>generation_timeuLLM API调用失败 (尝试 <20><00>/z): r6<00>timeu'提示词生成超时请稍后重试<E9878D>
2025-09-07 23:05:30 +08:00
connection<EFBFBD>networku-网络连接失败请检查网络后重试z
2025-12-20 23:19:19 +08:00
rate limit<69>quotau'API调用频率过高请稍后重试u提示词生成失败: <20>u'提示词生成失败,请稍后重试)r=r&r
<00>logger<65>info<66>range<67>client<6E>chat<61> completions<6E>create<74>int<6E>choices<65>messager-<00>strip<69>save_to_history<72> Exception<6F>str<74>error<6F>lower<65>sleep) r8r"<00> max_retriesr=r<00>
start_time<EFBFBD>attempt<70>responser:r9<00>e<> error_msgs r%<00>generate_with_llmrY3s<><00><00><0F>%<25>k<EFBFBD>2<>M<EFBFBD><1A><14><19><19><1B>J<EFBFBD><10><16><16><1B><1B>6<>7<><0F><16><16><1B><1B>j<EFBFBD><1B> <0A>6<>7<><0F><16><16><1B><1B>n<EFBFBD>Z<EFBFBD>L<EFBFBD>9<>:<3A><0F><16><16><1B><1B>n<EFBFBD>]<5D>O<EFBFBD><<3C>=<3D><0F><16><16><1B><1B>0<>1<><18><1B>%<25><07>0 %<25><1D>{<7B>{<7B>.<2E>.<2E>5<>5<>%<25>%<25>-<2D>@<40>#<23>
<EFBFBD>;<3B><12> <20><1E><1A>6<> <0E>H<EFBFBD>"<22>9<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>;<3B><1A>#;<3B>t<EFBFBD>"C<>D<>O<EFBFBD>&<26>-<2D>-<2D>a<EFBFBD>0<>8<>8<>@<40>@<40>F<>F<>H<>N<EFBFBD> <17> <1E> <1E> #<23> #<23>$><3E> ?<3F> <17> <1E> <1E> #<23> #<23>&:<3A>><3E>:J<>$K<> L<> <17> <1E> <1E> #<23> #<23>n<EFBFBD>_<EFBFBD>4E<34>R<EFBFBD>$H<> I<> <17> <1E> <1E> #<23> #<23>$8<> 9<> <1C>%<25>-<2D>'<27> /<2F>  <0E>"<22> !<21>?&<26>f 5<><35>%<19> %<25><1B>A<EFBFBD><06>I<EFBFBD> <17> <1E> <1E> $<24> $<24>'C<>G<EFBFBD>a<EFBFBD>K<EFBFBD>=<3D>PQ<50>R]<5D>Q^<5E>^a<>bk<62>al<61>%m<> n<><17>+<2B><01>/<2F>)<29><1C> <09><0F><0F> 1<>1<>V<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>?P<>5P<35>D<>!<21>Y<EFBFBD>_<EFBFBD>_<EFBFBD>%6<>6<>)<29>y<EFBFBD><EFBFBD><EFBFBD>GX<47>:X<>J<>!<21>Y<EFBFBD>_<EFBFBD>_<EFBFBD>%6<>6<>'<27>Y<EFBFBD>_<EFBFBD>_<EFBFBD>EV<45>:V<>D<>4<>Y<EFBFBD>K<EFBFBD>@<40>@<40> <17>D<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD>G<EFBFBD>|<7C> $<24> $<24><>! %<25>s8<00>DG4<02>4 K%<05>=A"K <05>%$K <05>$K <05>9K <05>=K%<05>K <05> K%c
<00><><00> t<00>}d}|r-tjj|<02>}|r |j}t j d||||||d<02>|<04><01>}tj|<05>tjjd|j<00><00><02>|jS#t$r5} tjjdt| <09><00><00><02>Yd} ~ yd} ~ wwxYw)u保存生成记录到历史N)<06>user_id<69>original_input<75>generated_promptr"<00> template_namer:u历史记录已保存: ID=u保存历史记录失败: <20>)<10>get_current_user_idrrr<00>namer<00> add_historyr<00>update_statisticsr
rBrC<00>idrNrPrO)
r8r9r"r:<00>kwargsr[r^r#<00>historyrWs
r%rMrMvs<><00><00><14>%<25>'<27><07><1D> <0A> <16>%<25>+<2B>+<2B>/<2F>/<2F> <0B><<3C>H<EFBFBD><17> (<28> <0A> <0A> <0A> <20>+<2B>+<2B>
2025-10-10 23:39:54 +08:00
<EFBFBD><1B>%<25>+<2B>#<23>'<27>+<2B> 
<EFBFBD><15>
2025-12-20 23:19:19 +08:00
<EFBFBD><07> <17>(<28>(<28><17>1<><13><1A><1A><1F><1F>"<<3C>W<EFBFBD>Z<EFBFBD>Z<EFBFBD>L<EFBFBD> I<>J<><16>z<EFBFBD>z<EFBFBD><19><> <14><14><13><1A><1A> <20> <20>#=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>!F<>G<><13><><14>s<00>B#B&<00>& C$<03>/+C<03>C$c<00><00> y#YyxYw)u获取当前用户IDr;r_r_r'r%r`r`<00>s<00><00><11><11><><11><10>s<00>c <00>@<00>ddddddddd d
2025-08-29 00:34:40 +08:00
d <0B>
}|j|d <0C>S) u3根据分类返回对应的Font Awesome图标类名zfa-magicz fa-pen-fancyz
fa-palettezfa-codez fa-chart-linez fa-briefcasezfa-graduation-capzfa-cityz fa-industryzfa-concierge-bell)
2025-12-20 23:19:19 +08:00
u 通用工具u 内容创作u 设计创意u 技术研发u 商业营销u 专业服务u 教育培训u 智慧城市u 工业制造u 生活服务zfa-star)r)<02>category<72>iconss r%<00>get_template_iconrk<00>s<<00><00>#<23>&<26>$<24>!<21>'<27>&<26>+<2B>!<21>%<25>+<2B> <06>E<EFBFBD> <11>9<EFBFBD>9<EFBFBD>X<EFBFBD>y<EFBFBD> )<29>)r'r<<00>GET<45>POST)<01>methodsc <00><><00>t<00>}tjj<00>}tjj d<01><02>j<00>}t t d<03>|D<00><00><00>}t t d<04>|D<00><00><00>}t t d<05>|D<00><00><00>}g}d|vr"|jd<01>|jd<01>|j|<05>t t d<06>|D<00><00><00>}|j<00><00>r<> tjjd<07>}|jjj!<00>} | s$t#dd <09>t%d
|d|t&||||<07> <0B> St)| |<08>}
|
r|
j+d <0C>r't#d |
<EFBFBD><00>d <09>t%d
|d|t&||||<07> <0B> Stjjdd<0F>} t,jj d<10><11>j/<00>} | r | j0} nd} t=| |
| <0A><14>}t>j@jC|<0F>t>j@jE<00>t#dd<16>t%d
|||t&|||||| <0B><17> St%d
|d|t&||||<07> <0B> S#t2$r7}t4j6j9dt;|<0E><00><00><02>d} Yd}~<0E><>d}~wwxYw#t2$r<>}t4j6jGdt;|<0E><00><00><02>t>j@jI<00>t#dt;|<0E><00><00>d <09>t%d
|d|t&||||<07> <0B> cYd}~Sd}~wwxYw)Nu通用<E9809A>ric3<00>NK<00>|]}|js<01>|j<00><01><00>y<00>w<01>N<><01>industry<72><02>.0<EFBFBD>ts r%<00> <genexpr>zindex.<locals>.<genexpr><3E>s<00><00><><00>L<> <0A>1<EFBFBD><11><1A><1A>A<EFBFBD>J<EFBFBD>J<EFBFBD> <0A><><00>%<01>%c3<00>NK<00>|]}|js<01>|j<00><01><00>y<00>wrr<00><01>
professionrus r%rxzindex.<locals>.<genexpr><3E>s<00><00><><00>Q<>=<3D>a<EFBFBD>A<EFBFBD>L<EFBFBD>L<EFBFBD>Q<EFBFBD>\<5C>\<5C>=<3D>ryc3<00>NK<00>|]}|js<01>|j<00><01><00>y<00>wrrrprus r%rxzindex.<locals>.<genexpr><3E>s<00><00><><00>P<>M<EFBFBD>q<EFBFBD>Q<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>
2025-10-17 23:26:07 +08:00
<EFBFBD>
2025-12-20 23:19:19 +08:00
<EFBFBD>M<EFBFBD>ryc3<00>NK<00>|]}|js<01>|j<00><01><00>y<00>wrr<00><01> sub_categoryrus r%rxzindex.<locals>.<genexpr><3E>s<00><00><><00>X<> <0A>1<EFBFBD><11><1E><1E><01><0E><0E> <0A>ryr"u请输入您的需求描述rPz generate.html)<08>form<72>prompt<70> templatesrk<00>
2025-08-29 00:34:40 +08:00
industries<EFBFBD> professions<6E>
2025-12-20 23:19:19 +08:00
categories<EFBFBD>sub_categoriesu提示词生成失败u生成失败: <20> search_state<74><00>admin)<01>
login_namer;u获取用户ID失败: )r8r9r[u提示词生成成功<E58A9F>success)
r<EFBFBD>r<>r<>rkr<>r<>r<>r<><00>selected_template_idr<64>u 生成提示词时发生错误: )%rrr<00>allr <00>sorted<65>set<65>append<6E>remove<76>extend<6E>validate_on_submitrr<>rr8<00>datarLrrrkrY<00>
startswithr r!<00>uidrNr
rB<00>warningrOrr <00>session<6F>add<64>commitrP<00>rollback)r<><00> all_templatesr<73>r<>r<><00>all_categoriesr<73>r<>r"r8r9r<><00>
admin_userr[rWr<>s r%<00>indexr<78><00>s3<00><00> <15><<3C>D<EFBFBD>#<23>(<28>(<28>,<2C>,<2C>.<2E>M<EFBFBD><1F>$<24>$<24>.<2E>.<2E><08>.<2E>A<>E<>E<>G<>I<EFBFBD><18><03>L<> <0A>L<>L<>M<>J<EFBFBD><18><13>Q<>=<3D>Q<>Q<>R<>K<EFBFBD><1B>C<EFBFBD>P<>M<EFBFBD>P<>P<>Q<>N<EFBFBD><13>J<EFBFBD><0F>><3E>!<21><12><19><19>(<28>#<23><16><1D><1D>h<EFBFBD>'<27><0E><15><15>n<EFBFBD>%<25><1B>C<EFBFBD>X<> <0A>X<>X<>Y<>N<EFBFBD> <0B><1E><1E> <20>> @<01>!<21>,<2C>,<2C>*<2A>*<2A>=<3D>9<>K<EFBFBD><1D><1F><1F>-<2D>-<2D>3<>3<>5<>J<EFBFBD><1E><15>3<>W<EFBFBD>=<3D>&<26><EFBFBD>T<EFBFBD>$<24>Zc<5A>7H<37>U_<55>1<<3C><1A>4B<34>D<01>D<01> /<2F>z<EFBFBD>;<3B>G<>N<EFBFBD>"<22>^<5E>%><3E>%><3E>?V<>%W<><15><0E>~<7E>&6<>7<><17>A<>&<26><EFBFBD>T<EFBFBD>$<24>Zc<5A>7H<37>U_<55>1<<3C><1A>4B<34>D<01>D<01> #<23><<3C><<3C>+<2B>+<2B>N<EFBFBD>B<EFBFBD>?<3F>L<EFBFBD>
<1C>!<21>Z<EFBFBD>Z<EFBFBD>1<>1<>W<EFBFBD>1<>E<>K<>K<>M<>
<EFBFBD><1D>(<28>n<EFBFBD>n<EFBFBD>G<EFBFBD> <20>G<EFBFBD> <1C>%<25>-<2D><1F><0E>F<EFBFBD>
<0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F> <11>,<2C>i<EFBFBD> 8<>"<22>?<3F><14>f<EFBFBD>Xa<58>3D<33>Q[<5B>-8<>Z<EFBFBD>0><3E>U`<60>.:<3A> <<3C> <<3C> <1B>?<3F><14>d<EFBFBD>i<EFBFBD>+<<3C><1A>%0<>Z<EFBFBD>(6<> 8<>8<><38>9<1D> <1C><1B>"<22>"<22>*<2A>*<2A>-C<>C<EFBFBD><01>F<EFBFBD>8<EFBFBD>+L<>M<><1B><07><> <1C><>(<19> @<01> <17> <1E> <1E> $<24> $<24>'G<><03>A<EFBFBD><06>x<EFBFBD>%P<> Q<> <0E>J<EFBFBD>J<EFBFBD> <1F> <1F> !<21> <11>4<>S<EFBFBD><11>V<EFBFBD>H<EFBFBD>=<3D>w<EFBFBD> G<>"<22>?<3F><14>d<EFBFBD>V_<56>3D<33>Q[<5B>-8<>Z<EFBFBD>0><3E>@<01> @<01><>  @<01>sX<00>A(K)<00>7AK)<00>= K)<00>?J&<00>A0K)<00>& K&<03>/-K!<03>K)<00>!K&<03>&K)<00>) M5<03>2A8M0<03>*M5<03>0M5z/api/templates/<category>c
2025-10-17 23:26:07 +08:00
<00><><00>|dk(rtjj<00>}n.tjj|<00><02>j<00>}g}|D]n}|j|j
2025-12-20 23:19:19 +08:00
|j |j|j|j|j|jd<03>}|j|<04><00>ptd|t|<02>d<05><03>S)u$根据分类获取模板的API端点r<E782B9>rp)rdra<00> descriptionrirtr|r<>rT)r<>r<><00>count)rrr<>r rdrar<>rirtr|r<>rr<>r <00>len)rir<><00> template_listr#<00> template_dicts r%<00>get_templates_by_categoryr<79> s<><00><00><10>5<EFBFBD><18>"<22>(<28>(<28>,<2C>,<2C>.<2E> <09>"<22>(<28>(<28>2<>2<>H<EFBFBD>2<>E<>I<>I<>K<> <09><17>M<EFBFBD><1D><08><1A>+<2B>+<2B><1C>M<EFBFBD>M<EFBFBD>#<23>/<2F>/<2F> <20>)<29>)<29> <20>)<29>)<29>"<22>-<2D>-<2D>$<24>1<>1<>%<25>3<>3<> 
<EFBFBD> <0A> <16><1C><1C>]<5D>+<2B><1E> <13><17>"<22><14>]<5D>#<23><06> <07>r'z/prompt/<int:prompt_id>c<00>Z<00>tjj|<00>}td|<01><02>S)Nz prompt.html)r<>)rr<00>
get_or_404r)<02> prompt_idr<64>s r%<00> show_promptr<74>)s#<00><00> <13>\<5C>\<5C> $<24> $<24>Y<EFBFBD> /<2F>F<EFBFBD> <1A>=<3D><16> 8<>8r'z/feedback/<int:prompt_id>c<00><><00>tjj|<00>}t<00>}|j <00>r<>t |j j|jjd|j<00><02>}tjj|<03>tjj<00>td<03>tt!d|j<00><05><00>St#d||<01><07>S)Nr;)<04>rating<6E>commentr[r<>u感谢您的反馈zmain.show_prompt<70>r<>z feedback.html)r<>r<>)rrr<>rr<>rr<>r<>r<>rdr r<>r<>r<>rrrr)r<>r<>r<><00>feedbacks r%<00>submit_feedbackr<6B>.s<><00><00> <13>\<5C>\<5C> $<24> $<24>Y<EFBFBD> /<2F>F<EFBFBD> <17>><3E>D<EFBFBD> <0B><1E><1E> <20><1B><17>;<3B>;<3B>#<23>#<23><18>L<EFBFBD>L<EFBFBD>%<25>%<25><15><1C>i<EFBFBD>i<EFBFBD> 
2025-08-29 00:34:40 +08:00
<EFBFBD><08> <0B>
<EFBFBD>
<EFBFBD><0E><0E>x<EFBFBD> <20>
<EFBFBD>
<EFBFBD>
2025-10-10 23:39:54 +08:00
<EFBFBD><19><19><1B> <0A>%<25>&<26><17><07> 2<>f<EFBFBD>i<EFBFBD>i<EFBFBD>H<>I<>I<> <1A>?<3F><14>f<EFBFBD> E<>Er'z/api/template/<int:template_id>c<00><><00>tjj|<00>}t|j|j
2025-12-20 23:19:19 +08:00
|j |jd<01><04>S)N)rdrar<>r)rrr<>r rdrar<>r)r"r#s r%<00>get_template_detailsr<73>@sJ<00><00><1D>#<23>#<23>.<2E>.<2E>{<7B>;<3B>H<EFBFBD> <12><16>k<EFBFBD>k<EFBFBD><18> <0A> <0A><1F>+<2B>+<2B>!<21>/<2F>/<2F> <06> <07>r'z /api/templates/<int:template_id><3E>DELETEc<00><><00> tjj|<00>}|jrt ddd<03><02>dfSt
2025-08-29 00:34:40 +08:00
j j|<01>t
j j<00>t ddd<03><02>S#t$rc}t
j j<00>tjjdt|<02><00><00><02>t ddd<03><02>d fcYd}~Sd}~wwxYw)
2025-12-20 23:19:19 +08:00
NFu默认模板不能删除)r<>rK<00><>Tu模板删除成功u删除模板失败: u$删除模板失败请稍后重试r0)rrr<>rr r r<><00>deleter<65>rNr<>r
rBrPrO<00>r"r#rWs r%<00>delete_templater<65>Ks<><00><00>#<10>!<21>'<27>'<27>2<>2<>;<3B>?<3F><08> <14> <1E> <1E><1A> <20>5<><0E><0F><14><14> <14> <0B>
2025-08-29 00:34:40 +08:00
<EFBFBD>
<EFBFBD><19><19>(<28>#<23>
<EFBFBD>
<EFBFBD>
<EFBFBD><19><19><1B><16><1B>+<2B>
<EFBFBD> <0B> <0B><>
<15><10>
<EFBFBD>
<EFBFBD>
<EFBFBD><1B><1B><1D><13><1A><1A> <20> <20>#7<><03>A<EFBFBD><06>x<EFBFBD>!@<40>A<><16><1C>=<3D>
<EFBFBD> <0B> <10><10> <10><> <10>s$<00>:B<00>A
B<00> C4<03>AC/<03>)C4<03>/C4z/api/wx/generatec
<00><><00> tj<00>}|rd|vsd|vrtdddd<06><03>S|jd<01>}|jd<07>}|jd<02>}t ||<02>}t |||t j<00><00><08>}tjj|<05>tjj<00>td d
2025-12-20 23:19:19 +08:00
|j|j|j|jj!d <0B>d <0C>d<06><03>S#t"$rM}t$j&j)d t+|<06><00><00><02>tdt+|<06>dd<06><03>cYd}~Sd}~wwxYw)u$微信小程序生成提示词接口r8r<><00><><00>缺少必要参数N<E695B0><03>coderKr<>r"<00>r8r9<00>
2025-08-29 00:34:40 +08:00
wx_user_id<EFBFBD>
2025-12-20 23:19:19 +08:00
created_at<EFBFBD><EFBFBD>r<><00>%Y-%m-%d %H:%M:%S)r<>r8r9r<><00>生成提示词失败: r0)r<00>get_jsonr rrYrr<00>utcnowr r<>r<>r<>rdr8r9r<><00>strftimerNr
rBrPrO)r<>r8r"r<>r9r<>rWs r%<00>wx_generate_promptr<74>ssW<00><00>+ <0B><16><1F><1F>!<21><04><13>|<7C>4<EFBFBD>/<2F>5<EFBFBD><04>3D<33><1A><1B>/<2F><1C><0E><0F> <0F> <1A>X<EFBFBD>X<EFBFBD>l<EFBFBD>+<2B>
2025-08-29 00:34:40 +08:00
<EFBFBD><1A>h<EFBFBD>h<EFBFBD>}<7D>-<2D> <0B><19>X<EFBFBD>X<EFBFBD>e<EFBFBD>_<EFBFBD>
<EFBFBD>+<2B>:<3A>{<7B>C<><0E><18>!<21>)<29>!<21><1F><EFBFBD><EFBFBD>(<28> 
<EFBFBD><06> <0B>
<EFBFBD>
<EFBFBD><0E><0E>v<EFBFBD><1E>
<EFBFBD>
<EFBFBD>
<EFBFBD><19><19><1B><16><17> <20>#<23>Y<EFBFBD>Y<EFBFBD>$<24>/<2F>/<2F>"(<28>"7<>"7<>$<24>/<2F>/<2F>8<>8<>9L<39>M<> <0E> 
<EFBFBD>  <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#:<3A>3<EFBFBD>q<EFBFBD>6<EFBFBD>(<28>!C<>D<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s$<00>,D<00>C'D<00> E-<03> AE(<03>"E-<03>(E-z/api/wx/templatesc<00><><00> tjjd<01>}tjjd<02>}tjjd<03>}tjjd<04>}tj}|r|j |<00><05>}|r|j |<01><06>}|r|j |<02><07>}|r|j |<03><08>}|j <00>}td d
2025-12-20 23:19:19 +08:00
|D<00>cgc]]}|j|j|j|j|j|j|j|jd <0B><08><02>_c}d <0C><03>Scc}w#t $rM}t"j$j'd t)|<07><00><00><02>tdt)|<07>dd <0C><03>cYd}~Sd}~wwxYw)u获取提示词模板列表rtr|rir<>rsr{rprr<>r<>)rdrar<>rirtr|r<>rr<>u获取模板列表失败: r0N)r<00>argsrrrr r<>r rdrar<>rirtr|r<>rrNr
rBrPrO)rtr|rir<>rr<>rwrWs r%<00>wx_get_templatesr<73><00>s<><00><00>+ <0B><1A><<3C><<3C>#<23>#<23>J<EFBFBD>/<2F><08><1C>\<5C>\<5C>%<25>%<25>l<EFBFBD>3<>
2025-08-29 00:34:40 +08:00
<EFBFBD><1A><<3C><<3C>#<23>#<23>J<EFBFBD>/<2F><08><1E>|<7C>|<7C>'<27>'<27><0E>7<> <0C><1F>$<24>$<24><05> <13><19>O<EFBFBD>O<EFBFBD>X<EFBFBD>O<EFBFBD>6<>E<EFBFBD> <15><19>O<EFBFBD>O<EFBFBD>z<EFBFBD>O<EFBFBD>:<3A>E<EFBFBD> <13><19>O<EFBFBD>O<EFBFBD>X<EFBFBD>O<EFBFBD>6<>E<EFBFBD> <17><19>O<EFBFBD>O<EFBFBD><1C>O<EFBFBD>><3E>E<EFBFBD><19>I<EFBFBD>I<EFBFBD>K<EFBFBD> <09><17><17> <20>!<21> "<22>!<21>!<21><18>d<EFBFBD>d<EFBFBD><19><06><06> <20>}<7D>}<7D><1D>J<EFBFBD>J<EFBFBD><1D>J<EFBFBD>J<EFBFBD><1F>l<EFBFBD>l<EFBFBD> !<21><0E><0E><1F>l<EFBFBD>l<EFBFBD> <0E>!<21> "<22> 
<EFBFBD>  <0B> <0B><> "<22><> <15> <0B><13><1A><1A> <20> <20>#=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>!F<>G<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s2<00>C7E)<00>9A"E$ <0C>E)<00>$E)<00>) F?<03>2AF:<03>4F?<03>:F?z"/api/wx/template/<int:template_id>c<00><><00> tjj|<00>}tdd|j|j
2025-12-20 23:19:19 +08:00
|j |j|j|j|j|j|jd<03> d<04><03>S#t$rM}tjj!dt#|<02><00><00><02>tdt#|<02>dd<04><03>cYd}~Sd}~wwxYw)u获取模板详情r<E68385>r<>) rdrar<>rirtr|r<>rrr<>u获取模板详情失败: r0N)rrr<>r rdrar<>rirtr|r<>rrrNr
rBrPrOr<>s r%<00>wx_get_template_detailr<6C><00>s<><00><00> <0B>!<21>'<27>'<27>2<>2<>;<3B>?<3F><08><16><17> <20><1E>k<EFBFBD>k<EFBFBD> <20> <0A> <0A>'<27>3<>3<>$<24>-<2D>-<2D>$<24>-<2D>-<2D>&<26>1<>1<> (<28> 5<> 5<>!)<29>!7<>!7<>&<26>1<>1<>
2025-08-29 00:34:40 +08:00
<0E>
<EFBFBD> <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>!F<>G<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s<00>BB<00> C*<03>AC%<03>C*<03>%C*z /api/wx/loginc <00><><00> td<01>tdt<00><00><02>tdt<00><00><02>td<04>tj<00>}|rd|vrt dddd <09><03>S|j d<05>}td
|<01><00><02>d }tt|d d <0A>}tj ||<03><0E>}|j<00>}td|<05><00><02>d|vr!t dd|j d<13><00><00>dd <09><03>S|j d<14>}|j d<15>}tjj|<06><16>j<00>}|sKt||<07><17>}tjj|<08>tjj!<00>n>||_t%j&<00>|_tjj!<00>t+j,|<06>t/t1j0<00><00><00><00>j3<00><00>j5<00>} t dd| ||j6|j6|j8|j:|j<|j>d<1A>d<1B>d <09><03>S#t@$rM}
tBjDjGdtI|
<EFBFBD><00><00><02>t dtI|
<EFBFBD>dd <09><03>cYd}
~
Sd}
~
wwxYw)u微信小程序登录接口u
2025-12-20 23:19:19 +08:00
=== 微信登录配置 ===zAPPID: zSECRET: z==================
r<EFBFBD>r<>u缺少code参数Nr<4E>u收到的code: z,https://api.weixin.qq.com/sns/jscode2session<6F>authorization_code)<04>appid<69>secret<65>js_code<64>
grant_type)<01>paramsu微信返回数据: <20>errcoder0u微信登录失败<E8B4A5>errmsg<73>openid<69> session_key<65>r<>)r<>r<>r<>r<>)rd<00>nickname<6D>
avatar_url<EFBFBD>gender<65>phone)<04>tokenr<6E>r<><00> user_infou微信登录失败: )%<25>print<6E>WX_APPID<49> WX_SECRETrr<>r r<00>requests<74>jsonrrr r!r r<>r<>r<>r<>rr<><00>
last_login<EFBFBD>hashlib<69>md5rIr=<00>encode<64> hexdigestrdr<>r<>r<>r<>rNr
rBrPrO) r<>r<><00>wx_urlr<6C>rV<00>wx_datar<61>r<><00>wx_userr<72>rWs r%<00>wx_loginr<6E><00>s<><00><00>Q <0B> <0A>,<2C>-<2D> <0A><07><08>z<EFBFBD>"<22>#<23> <0A><08><19> <0B>$<24>%<25> <0A>$<24>%<25><16><1F><1F>!<21><04><13>v<EFBFBD>T<EFBFBD>)<29><1A><1B>-<2D><1C><0E><0F> <0F> <14>x<EFBFBD>x<EFBFBD><06><1F><04> <0A><0F><04>v<EFBFBD>&<26>'<27>@<01><06><1D><1F><1B>.<2E> 
2025-08-29 00:34:40 +08:00
<EFBFBD><06><1C><<3C><<3C><06>v<EFBFBD>6<><08><1A>-<2D>-<2D>/<2F><07> <0A>$<24>W<EFBFBD>I<EFBFBD>.<2E>/<2F> <14><07> <1F><1A><1B>2<>7<EFBFBD>;<3B>;<3B>x<EFBFBD>3H<33>2I<32>J<><1C><0E><0F> <0F> <19><1B><1B>X<EFBFBD>&<26><06><1D>k<EFBFBD>k<EFBFBD>-<2D>0<> <0B><19>,<2C>,<2C>(<28>(<28><06>(<28>7<>=<3D>=<3D>?<3F><07><16><1C><1D>'<27><0E>G<EFBFBD> <0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F>"-<2D>G<EFBFBD> <1F>!)<29><1F><1F>!2<>G<EFBFBD> <1E> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F><18> <0B> <0B>v<EFBFBD>h<EFBFBD>s<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>;<3B>'7<>&8<>9<>@<40>@<40>B<>C<>M<>M<>O<><05><16><17> <20><1E> <20><1E>z<EFBFBD>z<EFBFBD>!<21>*<2A>*<2A> '<27> 0<> 0<>")<29>"4<>"4<>%<25>n<EFBFBD>n<EFBFBD>$<24>]<5D>]<5D> <12> <0E>
<EFBFBD> <0B> <0B><>" <15> <0B><13><1A><1A> <20> <20>#7<><03>A<EFBFBD><06>x<EFBFBD>!@<40>A<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s-<00>A"I0<00>%B I0<00>/FI0<00>0 K<03>9AK<03>;K<03>Kz/api/wx/update_userinfoc<00><><00> tj<00>}|rd|vrtdddd<05><03>S|jd<01>}tj
j |<01><06>j<00>}|stdddd<05><03>Sd |vr
|d |_d
|vr
|d
|_ d |vr
|d |_
d |vr
|d |_ d |vr
|d |_ d|vr
|d|_ d|vr
2025-12-20 23:19:19 +08:00
|d|_tj <00>|_t$j&j)<00>tdd|j*|j|j|j|j|j|j|j|j,d<12> d<05><03>S#t.$rM}t0j2j5dt7|<03><00><00><02>tdt7|<03>dd<05><03>cYd}~Sd}~wwxYw)u更新微信用户信息r<E681AF>r<>r<>Nr<4E>r<>i<>u用户不存在<E5AD98>nickName<6D> avatarUrlr<6C><00>country<72>province<63>city<74>languager<65>r<>) rdr<>r<>r<>r<>r<>r<>r<>r<>u更新用户信息失败: r0)rr<>r rrrr r!r<>r<>r<>r<>r<>r<>r<>rr<><00>
updated_atr r<>r<>rdr<>rNr
rBrPrO)r<>r<>r<>rWs r%<00>wx_update_userinfor<6F>Gs<><00><00>< <0B><16><1F><1F>!<21><04><13>x<EFBFBD>t<EFBFBD>+<2B><1A><1B>/<2F><1C><0E><0F> <0F> <16><18><18>(<28>#<23><06><18>,<2C>,<2C>(<28>(<28><06>(<28>7<>=<3D>=<3D>?<3F><07><16><1A><1B>,<2C><1C><0E><0F> <0F> <16><14> <1D>#<23>J<EFBFBD>/<2F>G<EFBFBD> <1C> <16>$<24> <1E>!%<25>k<EFBFBD>!2<>G<EFBFBD> <1E> <13>t<EFBFBD> <1B>!<21>(<28>^<5E>G<EFBFBD>N<EFBFBD> <14><04> <1C>"<22>9<EFBFBD>o<EFBFBD>G<EFBFBD>O<EFBFBD> <15><14> <1D>#<23>J<EFBFBD>/<2F>G<EFBFBD> <1C> <11>T<EFBFBD>><3E><1F><06><<3C>G<EFBFBD>L<EFBFBD> <15><14> <1D>#<23>J<EFBFBD>/<2F>G<EFBFBD> <1C>%<25>_<EFBFBD>_<EFBFBD>.<2E><07><1A>
2025-08-29 00:34:40 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD><19><19><1B><16><17> <20><1D>j<EFBFBD>j<EFBFBD>#<23>,<2C>,<2C>%<25>0<>0<>!<21>.<2E>.<2E>"<22>?<3F>?<3F>#<23>,<2C>,<2C><1F> <0C> <0C>#<23>,<2C>,<2C> <20><1D><1D>
<0E>
<EFBFBD> <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>!F<>G<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s+<00>(F<00>AF<00>;D F<00> G<03>AG<03>G<03>Gz/api/wx/promptsc <00><><00> tjjd<01>}tjjddt<00><04>}tjjddt<00><04>}|st ddd d
<EFBFBD><03>St
j j|<00> <0B>jt
jj<00><00>}|j||d <0C> <0A>}|j}t dd|D<00>cgc]@}|j|j|j|jj!d<10>d<11><04><02>Bc}|j"|j$|||j&|j(d<12>d<13>d
<EFBFBD><03>Scc}w#t*$rM}t,j.j1dt3|<07><00><00><02>t dt3|<07>d d
2025-12-20 23:19:19 +08:00
<EFBFBD><03>cYd }~Sd }~wwxYw)u$获取用户的提示词历史记录r<E5BD95><00>pager;<00><01>type<70>per_page<67>
r<><00>缺少用户IDNr<4E><00>r<>F<>r<>r<><00> error_outr<74>r<>r<><00>rdr8r9r<><00><06>total<61>pages<65> current_pager<65><00>has_next<78>has_prev<65><02>prompts<74>
paginationu获取提示词历史失败: r0)rr<>rrIr rrr <00>order_byr<79><00>desc<73>paginate<74>itemsrdr8r9r<>rrrrrNr
rBrPrO)r<>r<>r<>rr
r <00>prWs r%<00>wx_get_promptsr<00>s<><00><00>1 <0B><15>l<EFBFBD>l<EFBFBD><1E><1E>u<EFBFBD>%<25><03><16>|<7C>|<7C><1F><1F><06><01><03><1F>4<><04><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02><13>#<23>=<3D><08><12><1A><1B>+<2B><1C><0E><0F> <0F><17> <0C> <0C>&<26>&<26>#<23>&<26>6<> <15>X<EFBFBD>f<EFBFBD>'<27>'<27>,<2C>,<2C>.<2E> /<2F> <0E><1B>^<5E>^<5E><14><08>E<EFBFBD>^<5E>R<>
2025-08-29 00:34:40 +08:00
<EFBFBD><1C>"<22>"<22><07><17><17> <20>#<23> $<24>
#<23>a<EFBFBD> <1C>$<24>$<24>"#<23>,<2C>,<2C>&'<27>&6<>&6<>"#<23>,<2C>,<2C>"7<>"7<>8K<38>"L<> <12>
#<23> $<24>(<28>-<2D>-<2D>'<27>-<2D>-<2D>$(<28> (<28> *<2A> 3<> 3<> *<2A> 3<> 3<> <12><0E>
<EFBFBD> <0B> <0B><>$<24><>" <15> <0B><13><1A><1A> <20> <20>#@<40><13>Q<EFBFBD><16><08>!I<>J<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s9<00>A;E9<00>>A6E9<00>4AE4 <0C>9:E9<00>4E9<00>9 G<03>AG
<03>G<03>
Gz/api/wx/prompt/<int:prompt_id>c<00>><00> tjj|<00>}tdd|j|j
|j |jjd<03>|jD<00>cgc]@}|j|j|j|jjd<03>d<04><04><02>Bc}d<05>d<06><03>Scc}w#t$rM}tjjdt!|<03><00><00><02>tdt!|<03>d d<06><03>cYd }~Sd }~wwxYw)
2025-12-20 23:19:19 +08:00
u获取提示词详情r<E68385>r<>r<>)rdr<>r<>r<>)rdr8r9r<><00> feedbacksr<73>u获取提示词详情失败: r0N)rrr<>r rdr8r9r<>r<>rr<>r<>rNr
rBrPrO)r<>r<><00>frWs r%<00>wx_get_prompt_detailr<00>s<00><00># <0B><17><1C><1C>(<28>(<28><19>3<><06><17><17> <20><1C>i<EFBFBD>i<EFBFBD>$<24>/<2F>/<2F>"(<28>"7<>"7<>$<24>/<2F>/<2F>8<>8<>9L<39>M<> "<22>+<2B>+<2B> -<2D>
2025-08-29 00:34:40 +08:00
,<2C>a<EFBFBD> <1C>$<24>$<24><1F>h<EFBFBD>h<EFBFBD> <20>y<EFBFBD>y<EFBFBD>"#<23>,<2C>,<2C>"7<>"7<>8K<38>"L<> <12>
,<2C> -<2D> <0E>
<EFBFBD> <0B> <0B><>-<2D><> <15> <0B><13><1A><1A> <20> <20>#@<40><13>Q<EFBFBD><16><08>!I<>J<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s2<00>A/C<00>1AC<14>6
C<00>C<00> D<03>AD<03>D<03>Dz/api/wx/prompts/countc <00><><00> tjjd<01>}|stdddd<05><03>Stj
j |<00><06>j<00>}tj<00>j<00>}tj
j |<00><06>jtjjtj<00>|k(<00>j<00>}|jd<07><08>}tj
j |<00><06>jtjjtj<00>|k\<00>j<00>}td d
2025-12-20 23:19:19 +08:00
||||d <0B>d<05><03>S#t $rM}t"j$j'd t)|<06><00><00><02>td t)|<06>dd<05><03>cYd}~Sd}~wwxYw)u*获取用户的提示词历史记录数量r<E9878F>r<>r<>Nr<4E>r<>r;)<01>dayr<79>r<>)<04> total_count<6E> today_count<6E> month_countr<74>u#获取提示词历史数量失败: r0)rr<>rr rrr r<>r<00>now<6F>date<74>filterr <00>funcr<63><00>replacerNr
rBrPrO)r<>r<><00>todayr<00>
this_monthrrWs r%<00>wx_get_prompts_countr!<00>s<><00><00>+ <0B><15>l<EFBFBD>l<EFBFBD><1E><1E>u<EFBFBD>%<25><03><12><1A><1B>+<2B><1C><0E><0F> <0F><17> <0C> <0C>&<26>&<26>#<23>&<26>6<><<3C><<3C>><3E><05><19> <0C> <0C><0E>#<23>#<23>%<25><05><1C>l<EFBFBD>l<EFBFBD>,<2C>,<2C><03>,<2C><<3C> <13>V<EFBFBD>B<EFBFBD>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><16>!2<>!2<>3<>u<EFBFBD><<3C> =<3D> <12>U<EFBFBD>W<EFBFBD> <14>
2025-08-29 00:34:40 +08:00
<1B>]<5D>]<5D>q<EFBFBD>]<5D>)<29>
<EFBFBD><1C>l<EFBFBD>l<EFBFBD>,<2C>,<2C><03>,<2C><<3C> <13>V<EFBFBD>B<EFBFBD>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><16>!2<>!2<>3<>z<EFBFBD>A<> B<> <12>U<EFBFBD>W<EFBFBD> <14><17><17> <20>$<24>*<2A>*<2A><1A> <0E> 
<EFBFBD>  <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#F<>s<EFBFBD>1<EFBFBD>v<EFBFBD>h<EFBFBD>!O<>P<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s$<00>/E><00>E E><00>> G<03>AG<03> G<03>Gc<00>2<00> tjjd<01>xs#tj<00>jd<01>}|st dddd<05><03>St
j j|<00>}t|j<00>t|<01>k7rt dddd<05><03>Stj j|<00><08>j<00>tjj|<02>tjj<00>t d d
2025-12-20 23:19:19 +08:00
d |id<05><03>S#t $rk}t"j$j'd t|<03><00><00><02>tjj)<00>t d t|<03>dd<05><03>cYd}~Sd}~wwxYw)u删除提示词记录r<E5BD95>r<>r<>Nr<4E>r<>u无权删除此记录r<E5BD95>r<>u 删除成功rdu删除提示词记录失败: r0)rr<>rr<>r rrr<>rOr<>rr r<>r r<>r<>rNr
rBrPr<>)r<>r<>r<>rWs r%<00>wx_delete_promptr#sc<00><00>+ <0B><15>l<EFBFBD>l<EFBFBD><1E><1E>u<EFBFBD>%<25>F<><17>)9<>)9<>);<3B>)?<3F>)?<3F><05>)F<><03><12><1A><1B>+<2B><1C><0E><0F> <0F><18><1C><1C>(<28>(<28><19>3<><06> <0F>v<EFBFBD> <20> <20> !<21>S<EFBFBD><13>X<EFBFBD> -<2D><1A><1B>2<><1C><0E><0F> <0F> <11><0E><0E> <20> <20>9<EFBFBD> <20>5<><<3C><<3C>><3E> <0B>
2025-08-29 00:34:40 +08:00
<EFBFBD>
<EFBFBD><19><19>&<26>!<21>
<EFBFBD>
<EFBFBD>
<EFBFBD><19><19><1B><16><17>%<25><14>i<EFBFBD><0E>
<EFBFBD> <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#@<40><13>Q<EFBFBD><16><08>!I<>J<>
<EFBFBD>
<EFBFBD>
<EFBFBD><1B><1B><1D><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s-<00>AD"<00>AD"<00>&A;D"<00>" F<03>+A F<03> F<03>Fz/api/wx/prompts/searchc <00><><00> tjjd<01>}tjjdd<03>j<00>}tjjddt<00><06>}tjjddt<00><06>}|st d d
2025-12-20 23:19:19 +08:00
d d <0C><03>St jj|<00> <0A>}|rXt jjd|<01>d<0E><03>t jjd|<01>d<0E><03>z}|j|<05>}|jt jj<00><00>}|j!||d<0F><10>}|j"}t dd|D<00>cgc]@}|j$|j|j|jj'd<13>d<14><04><02>Bc}|j(|j*|||j,|j.d<15>d<16>d <0C><03>Scc}w#t0$rM} t2j4j7dt9| <09><00><00><02>t dt9| <09>d d <0C><03>cYd } ~ Sd } ~ wwxYw)u搜索提示词接口r<E58FA3><00>keywordr<64>r<>r;r<>r<>r<>r<>r<>Nr<4E>r<><00>%Fr<46>r<>r<>r<>rrru搜索提示词失败: r0)rr<>rrLrIr rrr r8<00>iliker9rr r<>r r rrdr<>rrrrrNr
rBrPrO)
r<EFBFBD>r%r<>r<>r<00>search_conditionr
r rrWs
r%<00>wx_search_promptsr)Fs.<00><00>9 <0B><15>l<EFBFBD>l<EFBFBD><1E><1E>u<EFBFBD>%<25><03><19>,<2C>,<2C>"<22>"<22>9<EFBFBD>b<EFBFBD>1<>7<>7<>9<><07><16>|<7C>|<7C><1F><1F><06><01><03><1F>4<><04><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02><13>#<23>=<3D><08><12><1A><1B>+<2B><1C><0E><0F> <0F><17> <0C> <0C>&<26>&<26>#<23>&<26>6<><05> <13><16>!<21>!<21>'<27>'<27>!<21>G<EFBFBD>9<EFBFBD>A<EFBFBD><0E>7<><16>%<25>%<25>+<2B>+<2B>a<EFBFBD><07>y<EFBFBD><01>N<EFBFBD>;<3B><<3C> <1D><1A>L<EFBFBD>L<EFBFBD>!1<>2<>E<EFBFBD><16><0E><0E>v<EFBFBD>0<>0<>5<>5<>7<>8<><05><1A>^<5E>^<5E><14><08>E<EFBFBD>^<5E>R<>
2025-08-29 00:34:40 +08:00
<EFBFBD><1C>"<22>"<22><07><16><17> <20>#<23> $<24>
#<23>a<EFBFBD> <1C>$<24>$<24>"#<23>,<2C>,<2C>&'<27>&6<>&6<>"#<23>,<2C>,<2C>"7<>"7<>8K<38>"L<> <12>
#<23> $<24>(<28>-<2D>-<2D>'<27>-<2D>-<2D>$(<28> (<28> *<2A> 3<> 3<> *<2A> 3<> 3<> <12><0E>
<EFBFBD> <0B> <0B><>$<24><>" <15> <0B><13><1A><1A> <20> <20>#:<3A>3<EFBFBD>q<EFBFBD>6<EFBFBD>(<28>!C<>D<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s9<00>B)H<00>,CH<00>>AG> <0C>:H<00>>H<00> I<03> AI<03>I<03>Iz/api/wx/templates/searchc<00>d<00> tjjdd<02>j<00>}tjjddt<00><05>}tjjddt<00><05>}t
j }|r<>t
jjd|<00>d<08><03>t
jjd|<00>d<08><03>zt
jjd|<00>d<08><03>zt
jjd|<00>d<08><03>zt
jjd|<00>d<08><03>zt
jjd|<00>d<08><03>z}|j|<04>}tjjd <09>}tjjd
<EFBFBD>}tjjd <0B>}|r|j|<05> <0C>}|r|j|<06> <0A>}|r|j|<07><0E>}|j!t
j"j%<00>t
j&j%<00><00>}|j)||d<0F><10>}|j*} t-dd| D<00>
cgc]<5D>}
|
j.|
j|
j|
j|
j|
j|
j|
j0|
j"|
j&r|
j&j3d<13>ndd<15>
<EFBFBD><02><>c}
|j4|j6|||j8|j:d<16>d<17>d<18><03>Scc}
2025-12-20 23:19:19 +08:00
w#t<$rM} t>j@jCdtE| <0B><00><00><02>t-dtE| <0B>dd<18><03>cYd} ~ Sd} ~ wwxYw)u搜索提示词模板接口r%r<>r<>r;r<>r<>r<>r&rtr|rirsr{rpFr<46>r<>r<>r<>N)
rdrar<>rrirtr|r<>rr<>r)r<>r
r<>u搜索模板失败: r0)#rr<>rrLrIrrrar'r<>rirtr|rrr r rr r<>r rr rdr<>r<>rrrrrNr
rBrPrO) r%r<>r<>rr(rtr|rir
r<>rwrWs r%<00>wx_search_templatesr+<00>s@<00><00>K <0B><19>,<2C>,<2C>"<22>"<22>9<EFBFBD>b<EFBFBD>1<>7<>7<>9<><07><16>|<7C>|<7C><1F><1F><06><01><03><1F>4<><04><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02><13>#<23>=<3D><08><1F>$<24>$<24><05> <13><1E>#<23>#<23>)<29>)<29>A<EFBFBD>g<EFBFBD>Y<EFBFBD>a<EFBFBD>.<2E>9<><1E>*<2A>*<2A>0<>0<>1<EFBFBD>W<EFBFBD>I<EFBFBD>Q<EFBFBD><1E>@<40>A<01><1E>'<27>'<27>-<2D>-<2D><01>'<27><19>!<21>n<EFBFBD>=<3D>><3E><1F>'<27>'<27>-<2D>-<2D><01>'<27><19>!<21>n<EFBFBD>=<3D>><3E><1F>)<29>)<29>/<2F>/<2F>!<21>G<EFBFBD>9<EFBFBD>A<EFBFBD><0E>?<3F> @<01>
2025-08-29 00:34:40 +08:00
<1F>,<2C>,<2C>2<>2<>Q<EFBFBD>w<EFBFBD>i<EFBFBD>q<EFBFBD>><3E>B<> C<01> <1D><1A>L<EFBFBD>L<EFBFBD>!1<>2<>E<EFBFBD><1B><<3C><<3C>#<23>#<23>J<EFBFBD>/<2F><08><1C>\<5C>\<5C>%<25>%<25>l<EFBFBD>3<>
<EFBFBD><1A><<3C><<3C>#<23>#<23>J<EFBFBD>/<2F><08> <14><19>O<EFBFBD>O<EFBFBD>X<EFBFBD>O<EFBFBD>6<>E<EFBFBD> <15><19>O<EFBFBD>O<EFBFBD>z<EFBFBD>O<EFBFBD>:<3A>E<EFBFBD> <13><19>O<EFBFBD>O<EFBFBD>X<EFBFBD>O<EFBFBD>6<>E<EFBFBD><16><0E><0E>~<7E>8<>8<>=<3D>=<3D>?<3F>+<2B>6<>6<>;<3B>;<3B>=<3D>?<3F><05><1B>^<5E>^<5E><14><08>E<EFBFBD>^<5E>R<>
<EFBFBD><1E>$<24>$<24> <09><16><17> <20>%<25> &<26>%<25>a<EFBFBD><1C>$<24>$<24><1D>F<EFBFBD>F<EFBFBD>#$<24>=<3D>=<3D>%&<26>_<EFBFBD>_<EFBFBD> !<21>
<EFBFBD>
<EFBFBD> !<21>
<EFBFBD>
<EFBFBD>"#<23>,<2C>,<2C>$%<25>N<EFBFBD>N<EFBFBD>"#<23>,<2C>,<2C>PQ<50>P\<5C>P\<5C>!<21>,<2C>,<2C>"7<>"7<>8K<38>"L<>bf<62> <12>%<25> &<26>(<28>-<2D>-<2D>'<27>-<2D>-<2D>$(<28> (<28> *<2A> 3<> 3<> *<2A> 3<> 3<> <12><0E>
<EFBFBD> <0B> <0B><> &<26><>. <15> <0B><13><1A><1A> <20> <20>#7<><03>A<EFBFBD><06>x<EFBFBD>!@<40>A<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s2<00>JM<00>BM <0C>:M<00>M<00> N/<03>"AN*<03>$N/<03>*N/z/api/wx/templates/intentc
<00>R<00> tj<00>}|jdd<02>j<00>}d}tj
j jdd|d<06>d|d<06>gd<08> <09>}|jd
2025-12-20 23:19:19 +08:00
jjj<00>}d d d ddddddd<14> }|j||d<00>}tdd||d<18>d<19><03>S#t$rM}tjjdt!|<07><00><00><02>tdt!|<07>dd<19><03>cYd}~Sd}~wwxYw)u!根据意图获取提示词模板r8r<>u"你是一位出色的意图识别专家。请分析用户输入的意图,并仅返回以下类别之一:
2025-08-29 00:34:40 +08:00
- 新闻获取
- 生成图片
- 网站开发
- 文案创作
- 代码开发
- 数据分析
- 市场营销
- 产品设计
- 其它
2025-10-10 23:39:54 +08:00
只返回分类名称不要其他任何内容。r)r*r+r.<><E79A99><EFBFBD><EFBFBD><EFBFBD>?<3F>r2r3r4ru你是一位专业的新闻编辑,擅长整理和总结新闻信息。请帮助用户获取和理解新闻内容,注意:
2025-08-29 00:34:40 +08:00
1. 确保信息的准确性和时效性
2. 提供客观中立的视角
3. 突出重要信息要点
4. 适当添加背景信息解释u你是一位专业的图像生成提示词专家,擅长将文字需求转化为详细的图像生成提示词。请注意:
1. 详细描述图像的视觉元素
2. 指定图像的风格和氛围
3. 添加技术参数说明
4. 包含构图和视角建议u<E8AEAE>你是一位专业的网站开发专家,擅长将需求转化为具体的开发方案。请注意:
1. 明确网站的目标用户和核心功能
2. 建议合适的技术栈
3. 考虑性能和安全性要求
4. 提供响应式设计建议u<E8AEAE>你是一位专业的文案创作专家,擅长创作各类营销和品牌文案。请注意:
1. 确定目标受众和传播渠道
2. 突出产品/服务的核心价值
3. 使用适当的语言风格
4. 注意文案的节奏和结构u<E69E84>你是一位专业的软件开发工程师,擅长编写高质量的代码。请注意:
1. 遵循编码规范和最佳实践
2. 考虑代码的可维护性和扩展性
3. 注重性能优化
4. 添加适当的注释和文档u<E6A1A3>你是一位专业的数据分析师,擅长数据处理和分析。请注意:
1. 明确分析目标和范围
2. 选择合适的分析方法
3. 关注数据质量和准确性
4. 提供可操作的洞察建议u<E8AEAE>你是一位专业的市场营销专家,擅长制定营销策略。请注意:
1. 分析目标市场和竞争环境
2. 制定明确的营销目标
3. 选择合适的营销渠道
4. 设计有效的营销活动u<E58AA8>你是一位专业的产品设计师,擅长用户体验和界面设计。请注意:
1. 理解用户需求和痛点
2. 遵循设计原则和规范
3. 注重交互体验
4. 考虑可实现性u<E680A7>你是一位专业的AI助手擅长理解和解决各类问题。请注意
1. 仔细理解用户需求
2. 提供清晰的解决方案
3. 使用专业的语言表达
2025-12-20 23:19:19 +08:00
4. 确保回答的实用性) u 新闻获取u 生成图片u 网站开发u 文案创作u 代码开发u 数据分析u 市场营销u 产品设计<E8AEBE>其它r/r<>r<>)<02>intent<6E>template_promptr<74>u获取意图模板失败: r0N)rr<>rrLrErFrGrHrJrKr-r rNr
rBrPrO)r<><00>
user_input<EFBFBD>intent_system_promptrVr0<00>intent_promptsr1rWs r%<00>wx_get_template_by_intentr5<00>sg<00><00>E <0B><16><1F><1F>!<21><04><19>X<EFBFBD>X<EFBFBD>l<EFBFBD>B<EFBFBD>/<2F>5<>5<>7<>
2025-08-29 00:34:40 +08:00
<EFBFBD> 7<><1C><1A>;<3B>;<3B>*<2A>*<2A>1<>1<>!<21>!<21>.B<>C<><1F>J<EFBFBD>7<><0E><1C> 2<>
<EFBFBD><08><1A>!<21>!<21>!<21>$<24>,<2C>,<2C>4<>4<>:<3A>:<3A><<3C><06>f<04>c<04>T<04>O<04>E<04>v<03>v<03>d<03>c<03>#
<EFBFBD><0E>()<29>,<2C>,<2C>V<EFBFBD>^<5E>H<EFBFBD>5M<35>N<><0F><16><17> <20> <20>#2<><0E>
<EFBFBD> <0B> <0B><> <15> <0B><13><1A><1A> <20> <20>#=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>!F<>G<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s<00>C C<00> D&<03>AD!<03>D&<03>!D&z/api/wx/generate/expertc <00>F
<00> tjstdddd<04><03>Stj<00>}|stdddd<04><03>S|j d<06>}|j d<07>}|r|stdddd<04><03>S|j <00>}d } t jjjd
d |d <0C>d |d <0C>gd<0E><0F>}|jdjjj <00>}tjjd|<05><00><02> |j!dd<13>j!dd<13>j <00>}t#j$|<05>}gd<15>}|D]}||vs<01>t'd|<08><00><02><00>gd<17>} |d| vrd|d<gd<1A>}
|
D]-}t)||t*<00>rt-||<00>dk(s<01>(dg||<<00>/ d#d$d%d&d<17>} | j |dd'<27>} t jjjd
2025-12-20 23:19:19 +08:00
d | j7t#j8|d(d)<29>*<2A><00>+<2B>d <0C>d |d <0C>gd,<2C><0F>}|jdjjj <00>} t;|||t=j><00><00>/<2F>}t@jBjE|<10>t@jBjG<00>td1d2d3tK<00>vr jLnd||d3tK<00>vrjNjQd4<64>ndd5<64>d<04><03>S#t"j.$rG} tjj1dt3| <0B><00>d|<05><00><04>tdddd<04><03>cYd} ~ Sd} ~ wt&$rM} tjj1d t3| <0B><00><00><02>tdt3| <0B>dd<04><03>cYd} ~ Sd} ~ wwxYw#t4$rD} tjj1d!t3| <0B><00><00><02>tdd"dd<04><03>cYd} ~ Sd} ~ wwxYw#t4$rD} tjj1d-t3| <0B><00><00><02>tdd.dd<04><03>cYd} ~ Sd} ~ wwxYw#t4$rT} tjj1d0t3| <0B><00><00><02>t@jBjI<00>Yd} ~ <0B><01><>d} ~ wwxYw#t4$rM} tjj1d6t3| <0B><00><00><02>tdt3| <0B>dd<04><03>cYd} ~ Sd} ~ wwxYw)7u$两阶段专家提示词生成系统r<E7BB9F>u请求必须是JSON格式Nr<4E>u请求数据为空r8r<>u'缺少必要参数input_text 或 uiduo你是一位资深的意图分析专家,请分析用户输入的意图和需求。
2025-08-29 00:34:40 +08:00
你必须严格按照以下JSON格式返回不要添加任何其他内容
{
"core_intent": "技术", // 必须是以下选项之一:技术、创意、分析、咨询
"domain": "web开发", // 具体的专业领域
"key_requirements": [ // 2-4个关键需求
"需求1",
"需求2"
],
"expected_output": "期望输出的具体形式", // 简短描述
"constraints": [ // 1-3个主要约束
"约束1",
"约束2"
],
"keywords": [ // 2-4个关键词
"关键词1",
"关键词2"
]
}
注意:
1. 严格遵守JSON格式
2. core_intent必须是四个选项之一
3. 数组至少包含1个元素
4. 所有字段都必须存在
5. 不要包含注释
2025-12-20 23:19:19 +08:00
6. 不要添加任何额外的文本r)r*r+r.r-r.ruAI返回的意图分析结果: z```jsonr<6E>z```)<06> core_intent<6E>domain<69>key_requirements<74>expected_output<75> constraints<74>keywordsu缺少必要字段: )<04>技术u创意u分析u咨询r7r=)r9r;r<u 未指定uJSON解析失败: u, 原始文本: r0u#AI返回的格式有误请重试u数据验证失败: u意图分析失败: u$意图分析过程出错请重试u<E8AF95>你是一位专业的技术领域提示工程师。基于以下意图分析,生成一个专业的技术任务提示词:
2025-08-29 00:34:40 +08:00
意图分析:
{analysis}
请生成的提示词包含:
1. 明确的技术背景和上下文
2. 具体的技术要求和规范
3. 性能和质量标准
4. 技术约束条件
5. 预期交付成果
6. 评估标准
使用专业技术术语确保提示词的可执行性和可验证性。u<EFBFBD>你是一位专业的创意领域提示工程师。基于以下意图分析,生成一个创意设计提示词:
意图分析:
{analysis}
请生成的提示词包含:
1. 创意方向和灵感来源
2. 风格和氛围要求
3. 目标受众定义
4. 设计元素规范
5. 创意表现形式
6. 评估标准
使用专业创意术语确保提示词的创新性和可执行性。u<EFBFBD>你是一位专业的数据分析提示工程师。基于以下意图分析,生成一个数据分析提示词:
意图分析:
{analysis}
请生成的提示词包含:
1. 分析目标和范围
2. 数据要求和规范
3. 分析方法和工具
4. 输出格式要求
5. 关键指标定义
6. 质量控制标准
使用专业分析术语确保提示词的科学性和可操作性。uy你是一位专业的咨询领域提示工程师。基于以下意图分析,生成一个咨询服务提示词:
意图分析:
{analysis}
请生成的提示词包含:
1. 咨询问题界定
2. 背景信息要求
3. 分析框架设定
4. 建议输出格式
5. 实施考虑因素
6. 效果评估标准
使用专业咨询术语确保提示词的专业性和实用性。uL你是一位专业的通用领域提示工程师。基于以下意图分析,生成一个专业的提示词:
意图分析:
{analysis}
请生成的提示词包含:
1. 明确的目标定义
2. 具体要求和规范
3. 质量标准
4. 约束条件
5. 预期输出
6. 评估标准
2025-12-20 23:19:19 +08:00
确保提示词的清晰性和可执行性。FrA)<02> ensure_ascii<69>indent)<01>analysisr/r<>u生成提示词过程出错r<E99499>u保存到数据库失败: r<>r<>r<>r<>)r<><00>intent_analysisr]r<>u生成专家提示词失败: ))r<00>is_jsonr r<>rrLrErFrGrHrJrKr-r
rBrCrr<><00>loads<64>
2025-08-29 00:34:40 +08:00
ValueError<EFBFBD>
2025-12-20 23:19:19 +08:00
isinstance<EFBFBD>listr<74><00>JSONDecodeErrorrPrOrN<00>format<61>dumpsrrr<>r r<>r<>r<>r<><00>localsrdr<>r<>)r<>r2r<><00>intent_analyst_prompt<70>intent_response<73>intent_analysis_textrA<00>required_fields<64>field<6C> valid_intents<74> array_fieldsrW<00>domain_expert_templates<65> expert_prompt<70>final_responser]r<>s r%<00>wx_generate_expert_promptrUsD<00><00>F <0B><16><EFBFBD><EFBFBD><1A><1B>6<><1C><0E><0F> <0F> <17><1F><1F>!<21><04><13><1A><1B>/<2F><1C><0E><0F> <0F><1A>X<EFBFBD>X<EFBFBD>l<EFBFBD>+<2B>
2025-08-29 00:34:40 +08:00
<EFBFBD><12>h<EFBFBD>h<EFBFBD>u<EFBFBD>o<EFBFBD><03><19><13><1A><1B>D<><1C><0E><0F> <0F>  <20>%<25>%<25>'<27>
<EFBFBD>!(<28><1D>:= <0F>$<24>k<EFBFBD>k<EFBFBD>5<>5<><<3C><<3C>%<25>%<25>2G<32>H<>#<23>
<EFBFBD>;<3B><12> <20> =<3D><0E>O<EFBFBD>$3<>#:<3A>#:<3A>1<EFBFBD>#=<3D>#E<>#E<>#M<>#M<>#S<>#S<>#U<> <20> <18> <1E> <1E> #<23> #<23>&E<>FZ<46>E[<5B>$\<5C> ]<5D>$ <13>';<3B>'C<>'C<>I<EFBFBD>r<EFBFBD>'R<>'Z<>'Z<>[`<60>bd<62>'e<>'k<>'k<>'m<>$<24>"&<26>*<2A>*<2A>-A<>"B<><0F>#O<01><0F>,<2C>E<EFBFBD><1C>O<EFBFBD>3<>(<28>+?<3F><05>w<EFBFBD>)G<>H<>H<>-<2D>
!I<01> <0A>"<22>=<3D>1<><1D>F<>5=<3D>O<EFBFBD>M<EFBFBD>2<> O<01> <0C>)<29>E<EFBFBD>%<25>o<EFBFBD>e<EFBFBD>&<<3C>d<EFBFBD>C<>s<EFBFBD>?<3F>[`<60>Ka<4B>Gb<47>fg<66>Gg<47>2=<3D><1D><0F><05>.<2E>*<2A>: O<01> L<01> L<01> I<01>]<#
<EFBFBD><1F>~0<>3<>3<> <1B>M<EFBFBD> *<2A> 1<>
<EFBFBD> <0A>$ <0F>#<23>[<5B>[<5B>4<>4<>;<3B>;<3B>%<25>%<25>-<2D>2F<32>2F<32>!%<25><1A><1A>O<EFBFBD>%<25>XY<58>!Z<>3G<01>3<16><17>$<24>
<EFBFBD>;<3B> <12>  <20><<3C> <0E>N<EFBFBD> .<2E>5<>5<>a<EFBFBD>8<>@<40>@<40>H<>H<>N<>N<>P<> <1C> "<22><1B>%<25>/<2F><1E>#<23>?<3F>?<3F>,<2C> <0E>F<EFBFBD> <0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F><17><17> <20>*2<>f<EFBFBD>h<EFBFBD>*><3E>V<EFBFBD>Y<EFBFBD>Y<EFBFBD>D<EFBFBD>#2<>$4<>QY<51>]c<>]e<>Qe<51>f<EFBFBD>/<2F>/<2F>8<>8<>9L<39>M<>ko<6B> <0E> 
<EFBFBD>  <0B> <0B><>c<18>'<27>'<27> <13><1B>"<22>"<22>(<28>(<28>+=<3D>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>EU<45>Vj<56>Uk<55>)l<>m<><1E><1F>D<> <20> <12><13><13><>
<1E> <13><1B>"<22>"<22>(<28>(<28>+?<3F><03>A<EFBFBD><06>x<EFBFBD>)H<>I<><1E><1F>"<22>1<EFBFBD>v<EFBFBD> <20> <12><13><13><> <13><><19> <0F> <17> <1E> <1E> $<24> $<24>';<3B>C<EFBFBD><01>F<EFBFBD>8<EFBFBD>%D<> E<><1A><1B>A<><1C><0E><0F> <0F><> <0F><>R<19> <0F> <17> <1E> <1E> $<24> $<24>'><3E>s<EFBFBD>1<EFBFBD>v<EFBFBD>h<EFBFBD>%G<> H<><1A><1B>8<><1C><0E><0F> <0F><> <0F><>(<19> "<22> <17> <1E> <1E> $<24> $<24>'A<>#<23>a<EFBFBD>&<26><18>%J<> K<> <0E>J<EFBFBD>J<EFBFBD> <1F> <1F> !<21> !<21><> "<22><> <15> <0B><13><1A><1A> <20> <20>#@<40><13>Q<EFBFBD><16><08>!I<>J<><16><17><1A>1<EFBFBD>v<EFBFBD><18>
<EFBFBD> <0B> <0B><> <0B>s <00>S
<00>$S
<00>4S
<00>;S
<00>BO
<00>AL<00>)A L<00>6L<00>>S
<00>B P<00>(AQ*<00>AS
<00>O<03>,<M.<03>(O<03>)O
<00>. O<03>:AO<03><O<03>=O
<00>O<03>O
<00>
P<03>9P<03> P<03> S
<00>P<03>S
<00> Q'<03>#9Q"<03>Q'<03>S
<00>"Q'<03>'S
<00>* S<03>3A S<03><S
<00>S<03>S
<00>
2025-12-20 23:19:19 +08:00
T <03>AT<03>T <03>T z/expert_generatec<00><00>td<01>S)u专家提示词生成页面zexpert_generate.html)rr_r'r%<00>expert_generaterW)s<00><00> <1B>1<> 2<>2r'rr)N<>)NN)C<>flaskrrrrrrr r
<00>openair <00>src.flask_prompt_masterr <00>src.flask_prompt_master.modelsr rrrr<00>-src.flask_prompt_master.models.history_modelsrr<00>src.flask_prompt_master.formsrr<00>src.flask_prompt_master.configr<00>pymysqlrr<>r<>r=r<><00>logging<6E> getLogger<65>__name__rB<00>main_bprEr<>r<>r&rYrMr`rk<00>router<65>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrr!r#r)r+r5rUrWr_r'r%<00><module>rfsr<00><01>e<>e<>e<><19>&<26>Y<>Y<>W<>B<>1<><0E><1D><0F><0E> <0B> <0B><0E>
2025-09-19 00:14:29 +08:00
<1B><17> <1A> <1A>8<EFBFBD> $<24><06>
2025-08-29 00:34:40 +08:00
<13>F<EFBFBD>H<EFBFBD>
2025-12-20 23:19:19 +08:00
%<25><07> <0F>=<3D>He<48> f<><06> <12>?<3F>?<3F><08> <12> <1C> <1C> <09>U<01>0A5<>F <14>D<11>*<2A>  <09><1D><1D>s<EFBFBD>U<EFBFBD>F<EFBFBD>O<EFBFBD><1D>,<2C>X8<>-<2D>X8<>t <09><1D><1D>*<2A>+<2B><07>,<2C><07>8 <09><1D><1D>(<28>)<29>9<>*<2A>9<> <09><1D><1D>*<2A>U<EFBFBD>F<EFBFBD>O<EFBFBD><1D>D<>F<01>E<01>F<01>" <09><1D><1D>0<>1<><07>2<><07> <09><1D><1D>1<>H<EFBFBD>:<3A><1D>F<>$<10>G<01>$<10>N <09><1D><1D>!<21>F<EFBFBD>8<EFBFBD><1D>4<>- <0B>5<>- <0B>^ <09><1D><1D>"<22>U<EFBFBD>G<EFBFBD><1D>4<>- <0B>5<>- <0B>^ <09><1D><1D>3<>e<EFBFBD>W<EFBFBD><1D>E<> <0B>F<01> <0B>: <09><1D><1D><EFBFBD><16><08><1D>1<>S <0B>2<>S <0B>j <09><1D><1D>(<28>6<EFBFBD>(<28><1D>;<3B>> <0B><<3C>> <0B>@ <09><1D><1D> <20>5<EFBFBD>'<27><1D>2<>3 <0B>3<>3 <0B>j <09><1D><1D>/<2F>%<25><17><1D>A<>% <0B>B<01>% <0B>N <09><1D><1D>&<26><15><07><1D>8<>- <0B>9<>- <0B>^ <09><1D><1D>/<2F>(<28><1A><1D>D<>- <0B>E<01>- <0B>^ <09><1D><1D>'<27>%<25><17><1D>9<>; <0B>:<3A>; <0B>z <09><1D><1D>)<29>E<EFBFBD>7<EFBFBD><1D>;<3B>M <0B><<3C>M <0B>^ <09><1D><1D>)<29>F<EFBFBD>8<EFBFBD><1D><<3C>G <0B>=<3D>G <0B>R <09><1D><1D>(<28>6<EFBFBD>(<28><1D>;<3B>H <0B><<3C>H <0B>T <09><1D><1D>!<21>"<22>3<>#<23>3r'