Files
ppt/ppt_manager_v2/ai/__pycache__/llm_analyst.cpython-311.pyc

47 lines
8.3 KiB
Plaintext
Raw Normal View History

<EFBFBD>
s<>j1<00><00>f<00>ddlmZmZmZmZddlmZddlZGd<04>d<05><00>ZGd<06>d<07><00>Z dS)<08>)<04>Dict<63>Any<6E>List<73>Optional)<01>loggerNc <00><><00>eZdZddeeeffd<03>Z ddeeefdededefd <09>Zd
edefd <0B>Z d <0C>Z
d edefd<0E>Z d edefd<0F>Z dS)<12>
LLMAnalystN<EFBFBD>configc<00><><00>|pi|_|j<00>dd<02><00>|_tjd|j<00><00><02><00>dS)N<>provider<65>mocku#LLM分析师初始化提供者: )r
<00>getr r<00>info)<02>selfr
s <20>'F:\ppt\ppt_manager_v2\ai\llm_analyst.py<70>__init__zLLMAnalyst.__init__sE<00><00><1C>l<EFBFBD><02><04> <0B><1C> <0B><0F><0F>
<EFBFBD>F<EFBFBD>;<3B>;<3B><04> <0A><0E> <0B>I<>$<24>-<2D>I<>I<>J<>J<>J<>J<>J<><00><><00> data_context<78>prompt_template<74> max_words<64>returnc<00>T<00>d}|p|}tj|dd<03><04><00>}|<05>||<03><05><00>}|jdkr|<00>|<01><00>S|jdkr|<00>|<07><00>S|jdkr|<00>|<07><00>S|<00>|<01><00>S) Nu<4E>
基于以下宏观经济数据,用专业分析师的口吻撰写市场洞察:
{data_context}
要求:
1. 不超过 {max_words} 汉字
2. 专业、客观、具有洞察力
3. 突出核心指标的边际变化
4. 适合放在PPT首页作为摘要
F<EFBFBD>)<02> ensure_ascii<69>indent)rrr <00>openai<61>tongyi)<07>json<6F>dumps<70>formatr <00>_mock_analysis<69> _call_openai<61> _call_tongyi)rrrr<00>default_prompt<70>prompt<70>data_str<74> final_prompts r<00>generate_analysiszLLMAnalyst.generate_analysis s<><00><00> <04><0E>!<21>2<>N<EFBFBD><06><17>:<3A>l<EFBFBD><15>q<EFBFBD>I<>I<>I<><08><1D>}<7D>}<7D>(<28>i<EFBFBD>}<7D>P<>P<> <0C> <0F>=<3D>F<EFBFBD> "<22> "<22><17>&<26>&<26>|<7C>4<>4<> 4<> <11>]<5D>h<EFBFBD> &<26> &<26><17>$<24>$<24>\<5C>2<>2<> 2<> <11>]<5D>h<EFBFBD> &<26> &<26><17>$<24>$<24>\<5C>2<>2<> 2<><17>&<26>&<26>|<7C>4<>4<> 4r<00>contextc<00><><00>|<01>dd<02><00>}|<01>dd<02><00>}|<01>dd<02><00>}d|<02>d|<03>d|<00>|<04><00><00>d<08>S) N<>
gdp_growthzN/A<>cpi<70> unemploymentu$本月宏观经济洞察GDP增长u(%经济扩张动能平稳。CPI同比uC%通胀水平温和为货币政策留出空间。就业市场u<E59CBA>,青年失业率需重点关注。整体来看,经济处于弱复苏通道,建议关注基建投资与消费修复的进度。)r<00>_format_unemployment)rr*<00>gdpr-r.s rr"zLLMAnalyst._mock_analysis&s<><00><00><15>k<EFBFBD>k<EFBFBD>,<2C><05>.<2E>.<2E><03><15>k<EFBFBD>k<EFBFBD>%<25><15>'<27>'<27><03><1E>{<7B>{<7B>><3E>5<EFBFBD>9<>9<> <0C>]<05><03>]<05>]<05>eh<65>]<05>]<05>nr<02>nG<03>nG<03>HT<03>nU<03>nU<03>]<05>]<05>]<05> ]rc<00>n<00> t|<01><00>}|dkrd|<01>d<03>S|dkrd|<01>d<03>Sd|<01>d<03>S#YdSxYw)Ng@u 压力较大(z%)<29>u 基本稳定(u 表现良好(u数据待更新)<01>float)r<00>val<61>vs rr/zLLMAnalyst._format_unemployment-si<00><00> %<25><15>c<EFBFBD>
<EFBFBD>
<EFBFBD>A<EFBFBD><10>3<EFBFBD>w<EFBFBD>w<EFBFBD>.<2E>s<EFBFBD>.<2E>.<2E>.<2E>.<2E><12>Q<EFBFBD><15><15>.<2E>s<EFBFBD>.<2E>.<2E>.<2E>.<2E>.<2E>s<EFBFBD>.<2E>.<2E>.<2E>.<2E><> %<25>$<24>$<24>$<24><><EFBFBD>s<00>/<00> /<00>/<00>4r&c<00>V<00> ddlm}||j<00>d<03><00><00><04><00>}|jj<00>dd|d<07>g<01><08><00>}|jdjj S#t$r6}tj d |<05><00><02><00>|<00> i<00><00>cYd}~Sd}~wwxYw)
Nr)<01>OpenAI<41>api_key)r8z gpt-3.5-turbo<62>user)<02>role<6C>content)<02>model<65>messagesuOpenAI调用失败: )rr7r
r<00>chat<61> completions<6E>create<74>choices<65>messager;<00> Exceptionr<00>warningr")rr&r7<00>client<6E>response<73>es rr#zLLMAnalyst._call_openai9s<><00><00>
+<2B> %<25> %<25> %<25> %<25> %<25> %<25><1B>V<EFBFBD>D<EFBFBD>K<EFBFBD>O<EFBFBD>O<EFBFBD>I<EFBFBD>$><3E>$><3E>?<3F>?<3F>?<3F>F<EFBFBD><1D>{<7B>.<2E>5<>5<>%<25>#)<29>f<EFBFBD>=<3D>=<3D>><3E>6<><0E><0E>H<EFBFBD><1C>#<23>A<EFBFBD>&<26>.<2E>6<> 6<><36><18> +<2B> +<2B> +<2B> <12>N<EFBFBD>5<>!<21>5<>5<> 6<> 6<> 6<><17>&<26>&<26>r<EFBFBD>*<2A>*<2A> *<2A> *<2A> *<2A> *<2A> *<2A> *<2A><><EFBFBD><EFBFBD><EFBFBD> +<2B><><EFBFBD>s<00>A%A(<00>(
B(<03>2+B#<03>B(<03>#B(c<00> <00> ddl}|j<00>d<02><00>|_|j<00>d|<01><04><00>}|jjS#t$r6}tj
d|<04><00><02><00>|<00> i<00><00>cYd}~Sd}~wwxYw)Nrr8z
qwen-turbo)r<r&u通义千问调用失败: ) <0C> dashscoper
rr8<00>
Generation<EFBFBD>call<6C>output<75>textrCrrDr")rr&rIrFrGs rr$zLLMAnalyst._call_tongyiFs<><00><00>
+<2B> <1C> <1C> <1C> <1C> $<24> <0B><0F><0F> <09> :<3A> :<3A>I<EFBFBD> <1D> <20>+<2B>0<>0<>"<22><1D>1<><0E><0E>H<EFBFBD><1C>?<3F>'<27> '<27><><18> +<2B> +<2B> +<2B> <12>N<EFBFBD>;<3B><01>;<3B>;<3B> <<3C> <<3C> <<3C><17>&<26>&<26>r<EFBFBD>*<2A>*<2A> *<2A> *<2A> *<2A> *<2A> *<2A> *<2A><><EFBFBD><EFBFBD><EFBFBD> +<2B><><EFBFBD>s<00>A
A <00>
B <03>+B<03>B <03>B <03>N)Nr) <0A>__name__<5F>
__module__<EFBFBD> __qualname__r<00>strrr<00>intr)r"r/r#r$<00>rrr r s<00><00><00><00><00><00>K<01>K<01>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>K<01>K<01>K<01>K<01> 37<33>,/<2F>5<>5<>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>5<>,/<2F>5<>&)<29>5<>47<34>5<>5<>5<>5<>6]<05>d<EFBFBD>]<05>s<EFBFBD>]<05>]<05>]<05>]<05>
%<25>
%<25>
%<25> +<2B>3<EFBFBD> +<2B>3<EFBFBD> +<2B> +<2B> +<2B> +<2B> +<2B>3<EFBFBD> +<2B>3<EFBFBD> +<2B> +<2B> +<2B> +<2B> +<2B> +rr c<00>.<00>eZdZd<01>Zddefd<04>Zdefd<06>ZdS)<08> DiffAnalyzerc<00><00>g|_dSrN)<01>changes)rs rrzDiffAnalyzer.__init__Ts <00><00><19><04> <0C> <0C> rN<>key_colsc
<00>B<00>|p |jdd<01><00><00><00>}|jD<00>]C}||v<01>r;||jv<00>r1 t|<01><00>dkr||jdnd}t|<02><00>dkr||jdnd}t |t
t f<02><00>r<>t |t
t f<02><00>r<>t |<06><00>t |<05><00>z
}t|<07><00>dkrl|j<00> |tt |<05><00>d<05><00>tt |<06><00>d<05><00>t|d<05><00>|dkrdndd<08><05><00><00><01>;#Y<00><01>@xYw<01><01>Etj d t|j<00><00><00>d
<EFBFBD><03><00>|jS) N<>r<00><><EFBFBD><EFBFBD><EFBFBD>g{<14>G<EFBFBD>z<EFBFBD>?r<00>up<75>down)<05> indicator<6F>old<6C>new<65>delta<74> directionuDiff分析发现 u 项显著变动) <0A>columns<6E>tolist<73>len<65>iloc<6F>
isinstancerSr3<00>absrX<00>append<6E>roundrr)r<00>df_old<6C>df_newrY<00>col<6F>old_val<61>new_val<61>diffs r<00>compare_dataframeszDiffAnalyzer.compare_dataframesWs<><00><00><1B>:<3A>v<EFBFBD>~<7E>b<EFBFBD>q<EFBFBD>b<EFBFBD>1<>8<>8<>:<3A>:<3A><08><19>><3E> <19> <19>C<EFBFBD><12>(<28>"<22>"<22>s<EFBFBD>f<EFBFBD>n<EFBFBD>'<<3C>'<<3C><19>69<36>&<26>k<EFBFBD>k<EFBFBD>A<EFBFBD>o<EFBFBD>o<EFBFBD>f<EFBFBD>S<EFBFBD>k<EFBFBD>.<2E>r<EFBFBD>2<>2<>1<EFBFBD>G<EFBFBD>69<36>&<26>k<EFBFBD>k<EFBFBD>A<EFBFBD>o<EFBFBD>o<EFBFBD>f<EFBFBD>S<EFBFBD>k<EFBFBD>.<2E>r<EFBFBD>2<>2<>1<EFBFBD>G<EFBFBD>!<21>'<27>C<EFBFBD><15><<3C>8<>8<> <1F>Z<EFBFBD><07>RU<52>W\<5C>Q]<5D>=^<5E>=^<5E> <1F>$<24>W<EFBFBD>~<7E>~<7E><05>g<EFBFBD><0E><0E>><3E><04><1E>t<EFBFBD>9<EFBFBD>9<EFBFBD>t<EFBFBD>+<2B>+<2B> <20>L<EFBFBD>/<2F>/<2F>-0<>',<2C>U<EFBFBD>7<EFBFBD>^<5E>^<5E>Q<EFBFBD>'?<3F>'?<3F>',<2C>U<EFBFBD>7<EFBFBD>^<5E>^<5E>Q<EFBFBD>'?<3F>'?<3F>).<2E>t<EFBFBD>Q<EFBFBD><1E><1E>59<35>A<EFBFBD>X<EFBFBD>X<EFBFBD>T<EFBFBD>T<EFBFBD>6<EFBFBD> 1<1E>1<1E><1F><1F><1F><><EFBFBD><19><18>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><0E> <0B>K<><03>D<EFBFBD>L<EFBFBD>(9<>(9<>K<>K<>K<>L<>L<>L<><13>|<7C>s <00>D&E&<02>&E+rc<00><00>|jsdSdg}|jdd<03>D][}|ddkrdnd}|<01>d|d <00>d
|d <00>d |d <00>d|<03>t|d<00><00><00>d<10>
<EFBFBD><00><00>\d<11>|<01><00>S)Nu-本月与上月数据相比无显著变动。u!📊 数据异动 Diff 简报:
r2rcr]u↑u↓u• r_z: r`u → raz (rb<00>)<29>
)rXrjri<00>join)r<00> report_parts<74>chg<68>arrows r<00>generate_diff_reportz!DiffAnalyzer.generate_diff_reportps<><00><00><13>|<7C> C<01>B<>B<><<3C>=<3D> <0C><17><<3C><02><11><02>#<23> <0E> <0E>C<EFBFBD> <20><1B>-<2D><14>5<>5<>E<EFBFBD>E<EFBFBD>5<EFBFBD>E<EFBFBD> <18> <1F> <1F>0<>s<EFBFBD>;<3B>'<27>0<>0<>3<EFBFBD>u<EFBFBD>:<3A>0<>0<>C<EFBFBD><05>J<EFBFBD>0<>0<><19>0<><1E>s<EFBFBD>7<EFBFBD>|<7C>,<2C>,<2C>0<>0<>0<> <0E> <0E> <0E> <0E>
<14>y<EFBFBD>y<EFBFBD><1C>&<26>&<26>&rrN)rOrPrQrrrrrRrzrTrrrVrVSs^<00><00><00><00><00><00><1A><1A><1A><1C><1C>4<EFBFBD><1C><1C><1C><1C>2 '<27>c<EFBFBD> '<27> '<27> '<27> '<27> '<27> 'rrV)
<EFBFBD>typingrrrr<00>logururrr rVrTrr<00><module>r}s<><00><01>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C><19><19><19><19><19><19> <0B> <0B> <0B> <0B>L+<2B>L+<2B>L+<2B>L+<2B>L+<2B>L+<2B>L+<2B>L+<2B>\)'<27>)'<27>)'<27>)'<27>)'<27>)'<27>)'<27>)'<27>)'<27>)'r