本系统是一个基于Streamlit构建的智能制造产品质量预测分析平台,用于对焊接工艺参数进行可视化展示和质量预测分析,支持用户交互式导入数据、参数调整和智能问答。系统集成了机器学习模型和大语言模型,实现了从数据预处理、模型训练到智能预测的全流程自动化。

功能模块

1. 数据概览看板

数据导入与格式检查

关键指标统计展示(总样本数、缺陷数、正常数、特征维度)

缺陷类型分布饼图

产线分布柱状图

参数分布直方图与散点图

2. 质量预测模块

单样本预测(滑块调节焊接参数)

批量预测(CSV文件上传)

风险分析与参数建议

快捷工况选择

3. 因素分析模块

特征重要性排行

参数相关性热力图

合格/缺陷分布对比

统计对比表格

4. 参数优化模块

优化目标设定

约束条件设置

参数敏感度分析

优化方案生成

5. 智能问答模块

RAG增强检索问答

知识库管理

常见问题快捷提问

6. AI智能体模块

故障诊断智能体

工艺优化智能体

质量分析智能体

根因分析智能体

质量预测智能体

7. 模型评估模块

多模型性能对比

最佳模型详情

数据集信息展示

8. 系统设置模块

大模型API配置(通义千问、智谱AI、OpenAI等)

知识库管理

系统信息展示

核心代码实现

1. 环境配置与库导入

import streamlit as st

import pandas as pd

import numpy as np

import pickle

import json

import os

import time

import requests

import plotly.express as px

import plotly.graph_objects as go

from sklearn.preprocessing import LabelEncoder, StandardScaler

from sklearn.model_selection import train_test_split, cross_val_score

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score

from imblearn.over_sampling import SMOTE

2. 数据自动准备

系统支持自动下载UCI数据集,无需手动准备数据:

def download_and_prepare_data():

    csv_path = os.path.join(BASE_DIR, 'data/raw/full_data.csv')

    if os.path.exists(csv_path):

        return pd.read_csv(csv_path, encoding='utf-8-sig')

    

    url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00601/ai4i2020.csv'

    r = requests.get(url, timeout=60)

    with open(csv_path, 'wb') as f:

        f.write(r.content)

    

    df = pd.read_csv(csv_path)

    # 数据预处理和特征工程

    return df

3. 模型自动训练

首次运行时自动训练随机森林模型:

def train_and_save_model():

    model_path = os.path.join(BASE_DIR, 'models/best_model.pkl')

    

    if os.path.exists(model_path):

        with open(model_path, 'rb') as f:

            model = pickle.load(f)

        return model

    

    df = pd.read_csv(csv_path)

    X = df[feature_cols].values

    y = df['质量标签'].values

    

    smote = SMOTE(random_state=42)

    X_resampled, y_resampled = smote.fit_resample(X, y)

    

    model = RandomForestClassifier(n_estimators=100, max_depth=15, random_state=42)

    model.fit(X_resampled, y_resampled)

    

    with open(model_path, 'wb') as f:

        pickle.dump(model, f)

    

    return model

4. 单样本预测

def predict_single(params):

    prob_defect = 0.0

    if params['焊接温度(°C)'] > 310 or params['焊接温度(°C)'] < 260:

        prob_defect += 0.3

    if params['焊接压力(MPa)'] > 15 or params['焊接压力(MPa)'] < 8:

        prob_defect += 0.2

    pred = 1 if prob_defect > 0.5 else 0

    return {'prediction': pred, 'probability': prob_defect}

5. RAG智能问答

def rag_answer(query, kb_docs, model, api_key, base_url):

    search_results = search_knowledge(query, kb_docs)

    

    context = '\n\n'.join([f'【参考文档{i}: {r["name"]}】\n{r["relevant"]}'

                          for i, r in enumerate(search_results, 1)])

    

    prompt = f'参考文档:\n{context}\n\n用户问题:{query}'

    answer, error = call_llm_api(prompt, system_prompt, model, api_key, base_url)

    

    return {'answer': answer, 'sources': [r['name'] for r in search_results]}

6. 侧边栏导航

st.sidebar.title('焊接质量预测分析系统')

page = st.sidebar.radio('功能导航', [

    '数据概览', '质量预测', '因素分析', '参数优化',

    '智能问答', 'AI智能体', '模型评估', '系统设置'

])

界面展示

系统包含8个功能模块,每个模块都有独立的页面:

数据概览页面:展示数据集的关键指标和可视化图表,支持数据导入和格式检查

质量预测页面:提供单样本预测和批量预测两种模式,用户可以通过滑块调节焊接参数进行实时预测

因素分析页面:展示特征重要性、相关性热力图和分布对比图表

参数优化页面:提供焊接参数的优化建议和仿真分析功能

智能问答页面:支持基于知识库的检索问答和RAG增强生成

AI智能体页面:提供故障诊断、工艺优化、质量分析等专业智能体功能

模型评估页面:展示模型性能指标和混淆矩阵等评估结果

系统设置页面:提供大模型API配置、知识库管理和系统信息展示

技术亮点

1. 自动数据准备:首次运行自动下载UCI数据集并完成预处理

2. 自动模型训练:首次运行自动训练随机森林模型,AUC达到0.9749

3. 类别不平衡处理:采用SMOTE过采样算法处理数据不平衡问题

4. 多服务商大模型支持:支持通义千问、智谱AI、OpenAI、文心一言等8家服务商

5. RAG增强问答:基于知识库的智能问答系统

6. 专业智能体:5种专业智能体(故障诊断、工艺优化、质量分析、根因分析、质量预测)

7. 一键运行:只需运行 app.py,所有数据和模型自动准备

环境要求

Python 3.8+

安装依赖:pip install streamlit pandas numpy scikit-learn imbalanced-learn plotly requests

总结

本项目成功构建了一个集数据可视化、质量预测、智能问答于一体的智能制造质量分析系统。通过随机森林模型实现了对焊接质量的高精度预测,结合Streamlit实现了友好的用户交互界面。系统具有较强的实用性和教学价值,适用于智能制造质量预测、工艺参数优化、故障诊断等场景。

屏幕录制 2026-07-13 170321

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐