工作流程建议 基于vlm 试做没跑代码

要基于图像为主

明白,我们要回归到"图像"这个核心。与其让AI泛泛地看屏幕,不如让它聚焦于你主动截图的关键瞬间,并将这些视觉信息结构化地存入数据库。

这个方案会比之前的全自动化方案轻量很多,也更容易落地。下面就是从数据存储到AI建议的完整实现:


🧠 一、核心架构设计(图像为中心)


🗃️ 二、数据库设计(支持图像检索)

1. 流程知识库表
复制代码

sql

编辑

复制代码
CREATE TABLE workflow_knowledge (
    id INTEGER PRIMARY KEY,
    task_type TEXT NOT NULL,          -- 任务类型
    screenshot BLOB,                  -- 关键步骤截图
    step_description TEXT,            -- 步骤文本描述
    visual_features BLOB,             -- 图像特征向量(1024维)
    best_practice TEXT,               -- 最佳实践
    embedding_model TEXT DEFAULT 'ResNet50'  -- 特征提取模型
);
2. 用户操作记录表
复制代码

sql

编辑

复制代码
CREATE TABLE user_sessions (
    id INTEGER PRIMARY KEY,
    timestamp DATETIME,
    user_screenshot BLOB,            -- 用户当前截图
    user_query TEXT,                 -- 用户问题
    matched_workflow_id INTEGER,     -- 匹配的流程ID
    ai_suggestion TEXT,              -- AI建议
    FOREIGN KEY (matched_workflow_id) REFERENCES workflow_knowledge(id)
);

🖼️ 三、图像特征提取与匹配

1. 使用CNN提取视觉特征
复制代码

python

编辑

复制代码
from torchvision import models, transforms
import torch

# 加载预训练模型
model = models.resnet50(pretrained=True)
model = torch.nn.Sequential(*list(model.children())[:-1])  # 去掉最后分类层
model.eval()

def extract_features(image: Image.Image) -> np.ndarray:
    """从图像中提取1024维特征向量"""
    preprocess = transforms.Compose([
        transforms.Resize(256),
        transforms.CenterCrop(224),
        transforms.ToTensor(),
        transforms.Normalize(mean=[0.485, 0.456, 0.406], 
                           std=[0.229, 0.224, 0.225]),
    ])
    img_tensor = preprocess(image).unsqueeze(0)
    with torch.no_grad():
        features = model(img_tensor)
    return features.numpy().flatten()
2. 图像相似度检索
复制代码

python

编辑

复制代码
def find_similar_workflows(query_image: Image.Image, k=3):
    """查找最相似的流程模板"""
    query_features = extract_features(query_image).astype('float32')
    
    # 从数据库加载所有特征(实际应用需用向量数据库优化)
    conn = sqlite3.connect('workflow.db')
    cursor = conn.cursor()
    cursor.execute("SELECT id, visual_features FROM workflow_knowledge")
    
    distances = []
    for row in cursor.fetchall():
        db_features = np.frombuffer(row[1], dtype='float32')
        dist = np.linalg.norm(query_features - db_features)
        distances.append((row[0], dist))
    
    # 返回最相似的k个流程ID
    distances.sort(key=lambda x: x[1])
    return [item[0] for item in distances[:k]]

🤖 四、AI建议生成流程

复制代码

python

编辑

复制代码
def get_visual_based_suggestion(user_screenshot: Image.Image, user_query: str):
    """基于图像的建议生成"""
    # 1. 检索相似流程
    similar_ids = find_similar_workflows(user_screenshot)
    
    # 2. 获取流程详情
    conn = sqlite3.connect('workflow.db')
    placeholders = ','.join('?' * len(similar_ids))
    cursor = conn.cursor()
    cursor.execute(f'''
        SELECT task_type, step_description, best_practice 
        FROM workflow_knowledge 
        WHERE id IN ({placeholders})
    ''', similar_ids)
    
    workflows = cursor.fetchall()
    conn.close()
    
    # 3. 构建AI提示词(示例)
    context = "\n".join([
        f"【{w[0]}】步骤:{w[1]} \n   最佳实践:{w[2]}\n" 
        for w in workflows
    ])
    
    prompt = f"""
    你是一个视觉流程顾问。根据用户当前界面(图像)和问题,给出建议:
    
    参考流程:
    {context}
    
    用户问题:{user_query}
    
    输出要求:
    1. 指出当前界面属于哪个流程阶段
    2. 列出下一步关键操作
    3. 警告常见错误
    """
    
    # 4. 调用大模型(需替换为实际API)
    # ai_response = call_large_language_model(prompt)
    return prompt  # 返回构造的提示词

🚀 五、实施路线图

阶段1:构建流程图像库
  1. 采集关键界面:对每个标准流程,截图关键步骤界面
  2. 标注元数据:为每张截图添加步骤描述、任务类型标签
  3. 预计算特征:提前提取所有截图的视觉特征向量
阶段2:实现图像匹配引擎
  1. 使用ResNet50ViT提取用户当前截图特征
  2. 通过余弦相似度匹配最接近的流程模板
  3. 建立FAISS向量索引加速检索
阶段3:集成多模态AI
复制代码

python

编辑

复制代码
# 伪代码:多模态模型调用
def multimodal_suggestion(image, text):
    # 可使用LLaVA、Qwen-VL等多模态模型
    # 同时理解图像内容和文本问题
    response = multimodal_model.generate(
        image=user_screenshot,
        prompt=f"问题:{user_query}\n请基于图像内容回答"
    )
    return response

💡 典型应用场景

  1. 软件操作指导

    用户截图当前界面 → AI识别属于"数据清洗阶段" → 提示:"下一步请使用Ctrl+H替换空值"

  2. 设备故障排查

    拍摄设备错误界面 → 匹配历史故障案例 → 推送解决方案视频

  3. 设计流程辅助

    截图设计稿 → 识别设计阶段 → 推荐配色方案和排版规范


⚠️ 关键优化点

  1. 增量学习:将用户认可的建议作为新样本存入数据库
  2. 注意力机制:在特征提取时聚焦界面关键区域(如对话框)
  3. 跨模态对齐:使用CLIP模型实现图文联合检索

📦 技术选型建议

组件 推荐方案
图像特征提取 ResNet50/ViT-B/16
向量数据库 FAISS/Milvus
多模态模型 LLaVA-1.6/Qwen-VL-Max
部署框架 FastAPI + React

这个方案通过视觉特征匹配替代复杂的屏幕理解,既保持了图像核心地位,又避免了实时VLM推理的高成本。实际实施时可先从特定场景(如财务软件操作)开始验证效果。

相关推荐
胡斌附体9 天前
qt showevent引发的问题
qt·qt creator·问题排查·思路·报警·showevent·重复打印
胡乱编胡乱赢3 个月前
区块链联邦学习思路一
区块链·联邦学习·思路·区块链联邦学习
胡西风_foxww1 年前
如何写好一个PHP类
开发语言·php··思路·好的
Better Bench2 年前
【2024美国大学生数学建模竞赛】2024美赛C题网球运动中的势头,网球教练4.0没人比我更懂这个题了!!!
数学建模·问题分析·思路·美国大学生数学建模竞赛·2024美赛·c题·完整论文
忆梦九洲2 年前
数学之何为数学
数学·数学建模·思路·希尔伯特空间·什么是数学
惠惠软件2 年前
小程序获取头像和昵称的思路
小程序·思路