| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- 测试AI审查引擎的RAG增强检查功能
- """
- import sys
- import os
- import asyncio
- sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- from core.construction_review.component.ai_review_engine import AIReviewEngine
- from foundation.observability.logger.loggering import server_logger as logger
- async def test_rag_enhanced_check():
- """
- 测试RAG增强检查功能
- """
- try:
- print("=" * 80)
- print("开始测试AI审查引擎的RAG增强检查功能")
- print("=" * 80)
- # 初始化AI审查引擎
- review_engine = AIReviewEngine()
- # 设置milvus集合名称(从test_rag.py中获取)
- collection_name = "first_bfp_collection"
- review_engine.milvus_collection = collection_name
- # 准备测试用的待审查单元内容
- # 使用与test_rag.py相同的查询内容进行测试
- test_content = """按照《公路钢结构桥梁制造与安装施工规范》(JTG/T3651-2022)的要求,对圆
- 柱头焊钉进行了焊接工艺评定试验,试验共计1 组,焊接9 个剪力钉,其中3 个用来
- 做弯曲试验,3 个用来做拉伸试验,3 个备用。施焊参数见表4.4.3。
- 表4.4.3 焊钉施焊参数
- 编号
- 焊接方法
- 剪力钉直径
- (mm)
- 伸出长度
- (mm)
- 提升高度
- (mm)
- 焊接时间
- (s)
- 焊接电流
- (A)
- YJ-J1
- 电弧螺柱焊
- 22
- 6
- 3
- 1.0
- 1900~2200
- 焊缝挤出焊脚均匀饱满,外观质量合格。
- 4.4.3 圆柱头焊钉焊接工艺评定试验结果
- 按规定对焊钉取3 根进行锤击30º弯曲试验,另外取3 根进行拉伸试验,试验结
- 果见表4.4.4,接头力学性能满足技术要求。
- 鹿寨至钦州港公路郁江特大桥钢箱梁
- 焊接工艺评定总结报告
- 42
- 表4.4.4 焊钉锤击30º弯曲试验和拉伸试验结果
- 规格
- 锤击30º弯曲试验
- 拉伸试验
- YJ-J1
- Φ22×140+
- Q355D-δ18
- 编号
- 焊缝状况
- 编号
- 拉力(KN)
- 断口
- 部位
- 评定标准
- 1
- 完好
- 1
- 202.05
- 母材
- 拉力载荷不
- 小于
- 159.6KN,断
- 口不在焊缝
- 或热影响区
- 2
- 完好
- 2
- 201.50
- 母材
- 3
- 完好
- 3
- 201.95
- 母材
- 鹿寨至钦州港公路郁江特大桥钢箱梁
- 焊接工艺评定总结报告
- 43
- 五、焊接工艺评定试验结果分析
- 5.1 焊缝强度
- 1.1 验收标准:焊缝屈服强度和抗拉强度不低于母材标准值。
- 材质
- 板厚范围(mm)
- ReL(MPa)
- Rm(MPa)
- A(%)
- Q355D
- t≤16
- ≥355
- ≥470
- ≥22
- 16<t≤40
- ≥345
- ≥470
- ≥22
- 1.2 根据表4.1.6 中试验结果整理出各类接头强度散点图如下,所有焊缝的屈服
- 强度、抗拉强度均超过了母材标准值。
- 5.2 焊缝金属延伸率
- 2.1 验收标准:不低于母材标准值。
- 2.2 结果分析:根据表4.1.6 中试验结果整理出散点图如下,所有焊缝的延伸率
- 均在母材标准要求值之上。
- 鹿寨至钦州港公路郁江特大桥钢箱梁
- 焊接工艺评定总结报告
- 44
- 5.3 接头韧性
- 3.1 验收标准:根据设计要求,对接接头及熔透角接接头焊缝中心及热影响区焊
- 缝V 型缺口低温冲击试验结果的平均值不低于下表的规定值,且任一试验结果不得
- 低于0.70 倍的标准值。
- 钢材牌号
- 试验温度(℃)
- 冲击韧性(J)
- Q355D
- -20
- 34
- 注:板厚≤20mm 的薄板接头冲击功规定值为27J
- 3.2 结果分析:从表4.1.6 中试验数据可以看出:所有试验结果中冲击功最小平均
- 值为YJ-D2 试件的焊缝中心冲击功47J,大于验收值;单一试件的冲击功最小值为
- YJ-D2(板厚t=18mm)试件的焊缝中心冲击功31J,大于验收值。
- 5.4 接头弯曲
- 4.1 验收标准:对接接头弯曲180°,试样受拉面上的裂纹总长不大于试样宽度
- 的15%,且单个裂纹长度不大于3mm,则判为合格。
- 4.2 结果分析:所有对接接头的弯曲试验均完好未产生裂纹。
- 5.5 接头硬度
- 5.1
- 验收标准:不大于HV380。
- 5.2
- 结果分析:根据表4.1.6 中试验结果整理出接头各区最高硬度曲线图如下,
- 所有接头各区的硬度低于HV380。
- 鹿寨至钦州港公路郁江特大桥钢箱梁
- 焊接工艺评定总结报告
- 45
- 5.6 接头宏观断面腐蚀
- 焊缝均熔合良好,未见焊接缺陷。
- 鹿寨至钦州港公路郁江特大桥钢箱梁
- 焊接工艺评定总结报告
- 46
- 六、结论
- 从以上试验的焊缝检验和试验结果可以看出:焊缝内、外部质量良好,通过宏观"""
- # 构造unit_content格式
- unit_content = {
- 'content': test_content,
- 'review_references': '' # 可以为空或提供参考信息
- }
- print(f"测试内容长度: {len(test_content)} 字符")
- print(f"使用的集合名称: {collection_name}")
- # 执行RAG增强检查
- print("\n开始执行RAG增强检查...")
- start_time = asyncio.get_event_loop().time()
- result = review_engine.rag_enhanced_check(unit_content)
- end_time = asyncio.get_event_loop().time()
- elapsed_time = end_time - start_time
- print(f"\nRAG增强检查完成,耗时: {elapsed_time:.2f}秒")
- # 分析结果
- print("\n" + "=" * 60)
- print("检查结果分析:")
- print("=" * 60)
- if 'vector_search' in result:
- vector_search_results = result['vector_search']
- print(f"返回结果数量: {len(vector_search_results)}")
- for i, search_result in enumerate(vector_search_results):
- print(f"\n--- 搜索结果 {i + 1} ---")
- if isinstance(search_result, dict):
- # 显示文档内容前100字符
- text_content = search_result.get('text_content', '')
- print(f"文档内容(前100字符): {text_content[:100]}...")
- # 显示元数据信息
- metadata = search_result.get('metadata', {})
- if metadata:
- print(f"文件名称: {metadata.get('file_name', 'N/A')}")
- print(f"标题: {metadata.get('title', 'N/A')}")
- print(f"文件ID: {metadata.get('file_id', 'N/A')}")
- print(f"主键: {metadata.get('pk', 'N/A')}")
- else:
- print("元数据: 无")
- else:
- print(f"结果格式异常: {type(search_result)} - {search_result}")
- else:
- print("错误: 结果中未找到'vector_search'字段")
- print(f"完整结果: {result}")
- print("\n" + "=" * 80)
- print("RAG增强检查测试完成")
- print("=" * 80)
- except Exception as e:
- print(f"\n[ERROR] 测试失败: {str(e)}")
- import traceback
- print("详细错误信息:")
- traceback.print_exc()
- async def main():
- """
- 主测试函数
- """
- await test_rag_enhanced_check()
- if __name__ == "__main__":
- print("启动RAG增强检查测试...")
- asyncio.run(main())
|