Files
rag_agent/RAG-TEST-TOOLS/__pycache__/feature_retriever_cli.cpython-313.pyc

59 lines
9.3 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00>~<7E>in<00><00>:<00>SrSSKrSSKrSSKrSSKJr SSKJr \"\5Rr
\RRS\ "\
55 SSKJr SSKJrJrJr SSKr\R*"\5rS\S\ 4S jrSS\S\ S
\ 4S jjrS r\S :Xa\"5 gg)u<>
feature_retriever_cli.py - 功能需求检索命令行工具(简化版)
专注于自然语言输入和多推理约束分析
<EFBFBD>N)<01>Path)<01>Dict)<01>FeatureRetriever)<03>VECTOR_DB_PATH<54> METADATA_PATH<54>KNOWLEDGE_GRAPH_PATH<54>result<6C>queryc
<00>D<00>[S5 [S5 [S5 [SU35 [S[R"S535 URS5(aSOS nURS5(aS
OS n[S US U35 [SURSS5S35 [SURSS535 URS5(a<>USn[SURS535 [SURS535 [SURSS5S35 URS5(a[SURS535 [SURSS5S URS!S5S"35 [S#5 URS$05nS%S&S'S(S).nUR 5H<>upxURXw5n URS*5(aSOS n
URS+S5n URS,S5n URS-S5n [U
S U S.35 [S/U SS0U S1S2U S35 M<> [S35 [S4URS5S535 [S65 URS5(a-[S75 [S85 [S95 [S:5 O,[S;5 [S<5 [S=5 [S>5 [S5 g?)@u显示分析结果zQ
================================================================================u功能需求实现分析报告zP================================================================================u查询: u分析时间: <20>%Y-%m-%d %H:%M:%S<> implementedu✅u❌u 已实现u 未实现u
实现状态: <20> u综合评分: <20> total_scorerz.3fu判断理由: <20>reasonu 无理由<E79086>most_relevant_functionu
最相关函数: <20>nameu所在文件: <20>fileu语义相似度: <20>
similarity<EFBFBD>summaryu功能摘要: u
约束分析详情 (<28>passed_constraints<74>/<2F>total_constraintsu 通过):z<------------------------------------------------------------<2D>constraint_scoresu语义相似度约束u调用链完整性约束u功能模块性约束u架构合理性约束)<04>semantic_constraint<6E>call_chain_constraint<6E>modularity_constraint<6E>architecture_constraint<6E>passed<65>score<72>weight<68>weighted_score<72>:u
评分: u | 权重: z.2fu | 加权: u
相关函数统计:u 语义匹配函数数: <20>relevant_functions_countu
实现建议:u< ✅ 该功能在代码库中已有良好实现建议u+ 1. 参考最相关函数的实现逻辑u1 2. 检查调用关系是否满足当前需求u= 3. 如有扩展需求可基于现有函数进行修改u9 ❌ 该功能在代码库中未完全实现建议u4 1. 检查约束分析详情了解薄弱环节u4 2. 可能需要新增函数或扩展现有函数u1 3. 设计时参考相似功能模块的架构N)<05>print<6E>time<6D>strftime<6D>get<65>items)r r
<00> status_icon<6F> status_text<78>rel_funcr<00>constraint_descriptions<6E>constraint_name<6D>data<74>constraint_desc<73> passed_iconrr <00>weighteds <20>.\feature_retriever_cli.py<70>display_resultr3s<><00><00> <09>/<2F><1A> <09>
*<2A>+<2B> <09>(<28>O<EFBFBD>
<EFBFBD>H<EFBFBD>U<EFBFBD>G<EFBFBD>
<1C><1D> <09>N<EFBFBD>4<EFBFBD>=<3D>=<3D>)<<3C>=<3D>><3E>
?<3F>@<40>"<22>:<3A>:<3A>m<EFBFBD>4<>4<>%<25>%<25>K<EFBFBD>!'<27><1A><1A>M<EFBFBD>!:<3A>!:<3A>+<2B> <0B>K<EFBFBD> <09> <1C>[<5B>M<EFBFBD><11>;<3B>-<2D>
8<EFBFBD>9<> <09>N<EFBFBD>6<EFBFBD>:<3A>:<3A>m<EFBFBD>Q<EFBFBD>7<><03><<3C>
=<3D>><3E> <09>N<EFBFBD>6<EFBFBD>:<3A>:<3A>h<EFBFBD> <0B><<3C>=<3D>
><3E>?<3F><0E>z<EFBFBD>z<EFBFBD>*<2A>+<2B>+<2B><19>2<>3<><08> <0A>#<23>H<EFBFBD>L<EFBFBD>L<EFBFBD><16>$8<>#9<>:<3A>;<3B> <0A><0E>x<EFBFBD>|<7C>|<7C>F<EFBFBD>3<>4<>5<>6<> <0A>!<21>(<28>,<2C>,<2C>|<7C>Q<EFBFBD>"?<3F><03>!D<>E<>F<> <13><<3C><<3C> <09> "<22> "<22> <11>N<EFBFBD>8<EFBFBD><<3C><<3C> <09>#:<3A>";<3B><<3C> =<3D>
<EFBFBD> "<22>6<EFBFBD>:<3A>:<3A>.B<>A<EFBFBD>#F<>"G<>q<EFBFBD><16><1A><1A>Tg<54>ij<69>Ik<49>Hl<48>lu<6C>
v<EFBFBD>w<> <09>(<28>O<EFBFBD><1E>
<EFBFBD>
<EFBFBD>#6<><02>;<3B><15> 7<>!;<3B>!8<>#:<3A> <06><1B>"3<>!8<>!8<>!:<3A><1D><0F>1<>5<>5<>o<EFBFBD>W<><0F>#<23>x<EFBFBD>x<EFBFBD><08>1<>1<>e<EFBFBD>u<EFBFBD> <0B><14><08><08><17>!<21>$<24><05><15><18><18>(<28>A<EFBFBD>&<26><06><17>8<EFBFBD>8<EFBFBD>,<2C>a<EFBFBD>0<><08> <0A><1B> <0A>Q<EFBFBD><EFBFBD>/<2F>q<EFBFBD>1<>2<> <0A>
<EFBFBD>5<EFBFBD><13>+<2B>[<5B><16><03> <0C>K<EFBFBD><08>QT<51>~<7E>V<>W<>";<3B>
<EFBFBD> !<21>#<23> <09> %<25>f<EFBFBD>j<EFBFBD>j<EFBFBD>1K<31>Q<EFBFBD>&O<>%P<>
Q<EFBFBD>R<>
<EFBFBD>O<EFBFBD><1D> <0A>z<EFBFBD>z<EFBFBD>-<2D> <20> <20> <0A>L<>M<> <0A>;<3B><<3C> <0A>A<>B<> <0A>M<>N<> <0A>I<>J<> <0A>D<>E<> <0A>D<>E<> <0A>A<>B<> <09>(<28>O<EFBFBD><00> output_filec<00><00>[R"S5UUS.n[USSS9n[R"X4SSS9 S S S 5 [ S
U35 g !,(df  N=f![ an[ S U35 S nAg S nAff=f) u保存结果到文件r )<03> timestampr
r <00>wzutf-8)<01>encoding<6E>F)<02>indent<6E> ensure_asciiNu
分析结果已保存到: u保存结果失败: )r%r&<00>open<65>json<6F>dumpr$<00> Exception)r r
r5<00> result_data<74>f<>es r2<00>save_result_to_filerDZs<><00><00><1A>]<5D>]<5D>#6<>7<><16><18><06>K<EFBFBD> *<2A> <11>+<2B>s<EFBFBD>W<EFBFBD> 5<><11> <10>I<EFBFBD>I<EFBFBD>k<EFBFBD>Q<EFBFBD>U<EFBFBD> C<>6<> <0A>,<2C>[<5B>M<EFBFBD>:<3A>;<3B>6<> 5<><35> <15>*<2A> <0A>$<24>Q<EFBFBD>C<EFBFBD>(<28>)<29>)<29><>*<2A>s-<00> A&<00>A<03>A&<00>
A#<07>A&<00>&
B<03>0B<03>Bc<00>j<00>[S5 [S5 [S5 [S5 [S5 [S5 [S5 [S5 [S5 [[[S .n[ U5nUR 5(d![S
5 [ R"S 5 [S [UR5S 35 [S5 [S5 [S5 [S5R5nUR5S;a [S5 g!U(d [S5 MO[SU35 [S5 URU5n[X25 [S5R5R5nUS:Xa([R "S5nSUS3n[#X2U5 [S5R5R5nUS:wa [S5 g!GM![$a [S5 N[&a/n[SU35 [(R+SU3SS 9 S!nANMS!nAff=f![&aEn[S"U35 [(R+S#U3SS 9 [ R"S 5 S!nAg!S!nAff=f)$u命令行主函数u*卫星代码功能需求检索分析系统z<============================================================u5功能: 基于多推理约束分析功能实现状态u 约束包括:u 1. 语义相似度约束u 2. 调用链完整性约束u 3. 功能模块性约束u 4. 架构合理性约束)<03>vector_db_path<74> metadata_path<74>knowledge_graph_pathu-加载知识库失败请检查配置文件<E69687>u知识库加载成功: u
个函数u0输入自然语言描述功能需求进行分析u输入 'quit' 或 'exit' 退出Tu
请输入功能需求描述: )<03>quit<69>exit<69>qu再见!u请输入功能需求描述u
正在分析: u正在执行多约束分析...u"
是否保存分析结果? (y/n): <20>yz %Y%m%d_%H%M%S<> analysis_z.jsonu
是否继续分析? (y/n): u(
分析被中断,输入 'quit' 退出u分析过程中出错: u分析过程错误: )<01>exc_infoNu初始化失败: u系统初始化错误: )r$rrrr<00>load_knowledge_base<73>sysrK<00>len<65> metadatas<61>input<75>strip<69>lower<65>!analyze_with_multiple_constraintsr3r%r&rD<00>KeyboardInterruptr@<00>logger<65>error) <09>config<69> retrieverr
r <00> save_optionr7r5<00>continue_optionrCs r2<00>mainr_jsb<00><00> <09>
6<EFBFBD>7<> <09>(<28>O<EFBFBD> <09>
A<EFBFBD>B<> <09>/<2F><1A> <09>
&<26>'<27> <09>
)<29>*<2A> <09>
&<26>'<27> <09>
&<26>'<27> <09>(<28>O<EFBFBD>)<29>&<26> 4<><06>F<EFBFBD> 6<14>$<24>V<EFBFBD>,<2C> <09><18>,<2C>,<2C>.<2E>.<2E> <11>A<> B<> <0F>H<EFBFBD>H<EFBFBD>Q<EFBFBD>K<EFBFBD> <0A>'<27><03>I<EFBFBD>,?<3F>,?<3F>(@<40>'A<><1A>L<>M<> <0A>@<40>A<> <0A>/<2F>0<> <0A>h<EFBFBD><0F><12>% H<01><1D>?<3F>@<40>F<>F<>H<><05><18>;<3B>;<3B>=<3D>$9<>9<><19>)<29>$<24><19><1C><19>7<>8<><1C><15>(<28><15><07>0<>1<><15>6<>7<>#<23>D<>D<>U<EFBFBD>K<><06><1F>v<EFBFBD>-<2D>$<24>$I<>J<>P<>P<>R<>X<>X<>Z<> <0B><1E>#<23>%<25> $<24> <0A> <0A>o<EFBFBD> ><3E>I<EFBFBD>$-<2D>i<EFBFBD>[<5B><05>"><3E>K<EFBFBD>'<27><06>{<7B>C<>#(<28>(G<>"H<>"N<>"N<>"P<>"V<>"V<>"X<><0F>"<22>c<EFBFBD>)<29><19>)<29>$<24><19>*<2A>=<13><>D%<25> D<01><15>B<>C<><1C> H<01><15>/<2F><01>s<EFBFBD>3<>4<><16> <0C> <0C>3<>A<EFBFBD>3<EFBFBD>7<>$<24> <0C>G<><47> H<01><> <15><14> <0A>!<21>!<21><13>%<25>&<26><0E> <0C> <0C>.<2E>q<EFBFBD>c<EFBFBD>2<>T<EFBFBD> <0C>B<> <0B><08><08><11> <0B> <0B><><14>sb<00>7BI#<00>=8H<00>6H<00>I#<00>
CH<00> I#<00>I <03>&I#<00>( I <03>1%I<03>I#<00>I <03> I#<00>#
J2<03>-;J-<03>-J2<03>__main__)zanalysis_result.json)<1B>__doc__rQr>r%<00>pathlibr<00>typingr<00>__file__<5F>parent<6E> project_root<6F>path<74>insert<72>str<74>feature_retrieverrr[rrr<00>logging<6E> getLogger<65>__name__rYr3rDr_<00>r4r2<00><module>ros<><00><01><04> <0B> <0B> <0B><18><17><14>H<EFBFBD>~<7E>$<24>$<24> <0C><03><08><08><0F><0F><01>3<EFBFBD>|<7C>$<24>%<25>.<2E>F<>F<><0E> <10> <1A> <1A>8<EFBFBD> $<24><06>B<14>4<EFBFBD>B<14><03>B<14>J *<2A><04> *<2A>S<EFBFBD> *<2A>s<EFBFBD> *<2A> I<14>X <0C>z<EFBFBD><19><08>F<EFBFBD>r4