实战AI快速开发微信智能客服系统(五)- 系统架构细化

GitHub Spark:GitHub 推出零代码开发应用的 AI 编程产品 GitHub Spark 是一个基于 AI 的大模型编程产品,允许用户通过自然语言描述来创建和分享微应用程序,无需编写代码,即可在桌面和移动端使用。 阅读详情

我们现在大的架构有了,但是还需要细化一下。

首先,我要考虑的是我们的客户群。大的企业肯定不会购买我们这个产品。我把这个智能客服系统定位在服务中小用户,我们的目标:

用户自己直接能上手安装在自己的台式机或者笔记本上,它就可以直接接管用户的微信客户端,实现微信的自动智能回复。

从这点出发,我又重新考虑了一下我们的MVP。我们需要实现的知识库可能并不需要很复杂,像一般的网店,产品就几个或者几十个,每一个产品的说明也并不多。在大多数情况下,我们只要清楚客户咨询哪个产品,就可以把整个产品的说明发给大模型来进行回答,这样可以极大的简化我们的系统。这样就意味着我们不需要一整套的RAG的服务器来实现相关功能。虽然实现一个RAG的服务很酷,但是我们的用户可能并不需要。根据我对其他一些类似产品的研究,这种简单的实现已经可以满足大部分需求了。

所以,我大致确定方案如下:

1. 微信的信息收发,使用开源的Python库,可以直接操控微信桌面客户端,封号风险小;

2. 知识库的搭建,直接用简单的数据库存储产品信息和历史聊天记录。需要回答问题时,可以直接把单个产品的信息,或者关键聊天记录,发送给大模型,让大模型直接从中获取信息,进行回答

3. 提供一个简单的配置界面,可以让用户做一些基本的配置

4. 发布的时候用Python Install打包成一个Windows上的可执行程序

对于界面配置的实现方式,我问了一下Claude:

我现在希望做一个能在桌面上运行的微信自动客服软件,我找到一个python的开源项目,可以操控微信客户端,实现微信消息的收发,监听等操作,我想基于它来做。我现在需要做一个配置界面,实现对软件的配置管理,比如配置要监听哪些群,对于每个群,配置一些回答问题的知识等。然后我在接收到别人从微信里发过来的消息后,我需要连接一个大模型用于回答问题。 我希望最终做成一个windows上的可执行程序,用户直接运行就可以。像这个配置界面通过什么来实现比较好?

Claude给出的建议: 

推荐方案

1. Tkinter (最推荐)

  • 优势:Python内置,无需额外依赖,打包后体积小
  • 适合场景:配置界面相对简单,主要是表单、列表、按钮等基础组件
  • 打包:用PyInstaller打包成exe非常方便

2. PyQt5/PyQt6 或 PySide6

  • 优势:界面美观,功能强大,控件丰富
  • 适合场景:需要复杂界面,如表格编辑、树形结构等
  • 注意:会增加打包后的体积

3. Web界面 + 本地服务

  • 技术栈:Flask/FastAPI + HTML/CSS/JS
  • 优势:界面现代化,易于美化,跨平台
  • 实现:软件启动时开启本地Web服务,自动打开浏览器

考虑到我对Tkinter不熟,又考虑到以后的可扩展性,我决定采用Web界面+本地服务的方式。

我又问了一下Flash/FastAPI的情况:

Flask和FastAPI介绍

这两个都是Python的Web框架,可以用来创建Web应用和API服务。

Flask

Flask是一个轻量级的Web框架,简单易学:

from flask import Flask, render_template, request, jsonify

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/api/config', methods=['GET', 'POST'])
def handle_config():
    if request.method == 'GET':
        # 返回配置数据
        return jsonify({"groups": [], "settings": {}})
    else:
        # 保存配置
        config = request.json
        return jsonify({"status": "success"})

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000)

FastAPI

FastAPI是更现代的框架,有自动API文档生成等特性:

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

app = FastAPI()

# 静态文件服务(CSS、JS等)
app.mount("/static", StaticFiles(directory="static"), name="static")

@app.get("/")
async def read_root():
    return FileResponse('templates/index.html')

@app.get("/api/config")
async def get_config():
    return {"groups": [], "settings": {}}

@app.post("/api/config")
async def save_config(config: dict):
    # 保存配置逻辑
    return {"status": "success"}

在你的项目中的应用

整体架构

你的微信客服软件
├── main.py              # 主程序入口
├── wechat_handler.py    # 微信消息处理
├── ai_client.py         # AI模型接口
├── config_manager.py    # 配置管理
├── web_ui.py           # Web界面服务
├── templates/          # HTML模板
│   └── index.html
├── static/             # CSS、JS文件
└── config.json         # 配置文件

对于前端代码的实现方式也可以有很多种,我继续问了一下Claude:


Flask/FastAPI都是可以用来实现一些后台的api,对吗?前台界面的编写呢?我们是可以使用React/Vue来写吗?还是有其他更合适的方案? 

Claude给出的建议: 

前台界面方案

1. 原生HTML + CSS + JavaScript(推荐)

对于配置界面这种相对简单的场景,原生开发最直接:

<!DOCTYPE html>
<html>
<head>
    <title>微信客服配置</title>
    <style>
        /* 可以使用Bootstrap或Tailwind CSS美化 */
        .container { max-width: 800px; margin: 0 auto; padding: 20px; }
        .form-group { margin-bottom: 15px; }
    </style>
</head>
<body>
    <div class="container">
        <h1>微信客服配置</h1>
        <form id="configForm">
            <div class="form-group">
                <label>群组名称:</label>
                <input type="text" id="groupName" />
                <button type="button" onclick="addGroup()">添加群组</button>
            </div>
        </form>
    </div>
    
    <script>
        // 调用后台API
        async function loadConfig() {
            const response = await fetch('/api/config');
            const config = await response.json();
            // 渲染配置到界面
        }
        
        async function saveConfig() {
            const config = gatherFormData();
            await fetch('/api/config', {
                method: 'POST',
                headers: {'Content-Type': 'application/json'},
                body: JSON.stringify(config)
            });
        }
    </script>
</body>
</html>

2. React/Vue(如果需要复杂交互)

如果配置界面比较复杂,可以用现代框架:

React示例:

import React, { useState, useEffect } from 'react';

function ConfigPanel() {
    const [groups, setGroups] = useState([]);
    
    useEffect(() => {
        // 加载配置
        fetch('/api/config')
            .then(res => res.json())
            .then(data => setGroups(data.groups));
    }, []);
    
    const addGroup = (groupName) => {
        setGroups([...groups, { name: groupName, enabled: true }]);
    };
    
    return (
        <div>
            <h1>微信客服配置</h1>
            <GroupList groups={groups} onAdd={addGroup} />
        </div>
    );
}

3. 现成的Admin界面库

  • AdminLTE:基于Bootstrap的后台模板
  • Ant Design:如果用React
  • Element Plus:如果用Vue

适合你项目的方案选择

推荐方案:原生HTML + CSS框架

理由:
✓ 学习成本低,开发快速
✓ 打包后体积小
✓ 不需要Node.js环境
✓ 配置界面功能相对简单

项目结构建议:

your_project/
├── backend/
│   ├── main.py          # 主程序
│   ├── web_server.py    # Flask/FastAPI服务
│   └── config_manager.py
├── frontend/
│   ├── templates/
│   │   └── index.html
│   ├── static/
│   │   ├── css/
│   │   │   └── style.css
│   │   └── js/
│   │       └── app.js
└── config.json

如果选择React/Vue:

  • 需要打包前端资源(webpack/vite)
  • 增加项目复杂度
  • 最终exe文件会更大
  • 但界面会更现代化,用户体验更好

我的建议

对于你的微信客服配置界面,我建议:

  1. 起步阶段:用原生HTML + Bootstrap/Tailwind CSS
  2. 功能简单:表单、列表、按钮基本够用
  3. 快速上线:避免过度工程化

我觉得Claude说得有道理,起步阶段,我们先用最简单的原生HTML。

这样我们的架构基本上确定了。下一步准备开干!

(后记:产品虽然没有做好,但是我先把它挂到一个平台上去卖了,还真有好几个咨询的。我需要尽快把产品做出来!) 

AI大模型实用技巧:5个核心方法提升工作效率 AI大模型作为当前最热门的技术之一,正在深刻改变人们的工作和生活方式。其核心原理是基于海量数据训练的深度学习模型,能够理解和生成自然语言。从技术价值来看,AI大模型显著提升了信息处理效率,尤其在文案创作、数据分析等场景表现突出。本文重点分享5个实用技巧:1)像教小朋友一样给明确指令;2)掌握对话节奏的三明治沟通法;3)建立个人知识库实现高效复用;4)运用思维链提示减少AI幻觉;5)培养AI协作思维建立人机协同工作流。这些方法结合GPT等大模型工具,可帮助用户快速生成高质量内容,优化会议纪要处理等日常工作,实 阅读详情

相关推荐

10-Oracle 23 ai Vector Search 概述和参数

企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation :RAG)功能,RAG能够将LLM的生成能力与知识库的精准资料库进行检索结合,将大模型部署在内部同时将私有的数据进行LLM的检索避免泄露企业专用的数据同时提高的准确性。于是如何将数据存入向量数据库以及向量查询等这些基本功能变得必备和重要。

远方的专栏 1295

LangChain4j与提示词工程:构建领域限定AI助手的实战指南

本文详细介绍了如何利用LangChain4j框架结合提示词工程,构建专注于特定领域的AI助手。通过实战代码演示,重点阐述了如何通过SystemMessage定义助手角色与行为边界,实现精准的领域限定,并提供了多轮对话、记忆管理等进阶技巧与最佳实践,帮助开发者打造专业、可控的Java智能应用。

weixin_29074295的博客 458

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6909

零成本、零代码搭建一个智能微信客服,保姆级教程

原创 皇子 [皇子谈技术] 大家好,我是皇子。本次分享的主题是《零成本零代码搭建一个智能微信客服》

qq_31857297的博客 4511

开源AI数字人DUIX:从零构建你的智能交互助手

本文详细介绍了如何利用开源AI数字人DUIX从零构建智能交互助手。文章阐述了DUIX作为开源项目的核心优势,包括低成本启动、低网络依赖和高度可定制性,并提供了从开发环境搭建、核心模块(AI模型、语音、形象)配置到个性化业务逻辑开发与最终部署的完整实践指南,帮助开发者快速掌握构建专属AI数字人的全流程。

weixin_29051811的博客 505

Abaqus SIGTERM/SIGINT中断问题深度解析与实战解决方案

本文深度解析Abaqus仿真计算中因SIGTERM或SIGINT信号导致作业意外终止的常见问题。核心原因常为许可证管理器因网络通信延迟误判进程空闲而强制断开,或系统资源监控工具的误杀。文章提供了从命令行参数调优(如使用int、ask_delete=OFF)、计算环境隔离到编写自动化容错脚本的完整实战解决方案,帮助用户彻底规避此类中断,确保长时间仿真任务的稳定运行。

weixin_29279101的博客 415

微信小程序接入客服功能开发流程

在线客服是通过按钮组件来绑定的。左侧菜单-》客服-》小程序客服-》添加客服-》填写微信号。首先看官方文档这样说的:1、小程序内:开发者在小程序内添加。,用户可在小程序内唤起客服会话页面,给小程序发消息。小程序端代码就好了,结束了。

webnoties的专栏 2882

Cadence17.2 > Allegro > 检查PCB Layout信号线组等长

Cadence17.2 > Allegro > 检查PCB Layout等长和配线

DL_62532的专栏 1万+

[2024]关于企业微信客服对接java后台的开发

以前的应用secret好像是可以直接获取的,但是我在开发时发现企业微信在23年12月做了更新,现在无法直接查看企业微信应用的secret了,以前创建的暂时不受影响。corpsecret: 企业微信应用的秘钥,每个应用的secret是独一无二的。这里的意思就是上文提到的更新,现在的自建应用必须要绑定企业的可信ip和可信域名。所以现在来拿到应用的secret,就必须自建一个应用,然后和要对接的应用绑定。重启项目,访问自己的项目地址,如果能看到你下载的txt内容就证明基本上成功了。从企业微信的官方的文档。

xiaweiaaa的博客 1699

Amesim(五):单个悬架系统搭建

一、组成 单个悬架系统组成包括:端子,质量块*2,弹簧,阻尼器,速度路面反馈,路面激励。 二、搭建 打开Amesim,在 library 选择 1D Mechanical 选择质量模块,添加到skech中,并按 ctrl+r 旋转质量块,将箭头朝上,设置规定的力传递正方向 添加弹簧阻尼器,与质量块连接 添加VX模块,将路面的激励传递转化为速度和位移,传递给悬架系统 在...

林小川的博客 7170

CentOS 7下Ollama+Dify+DeepSeek离线部署全攻略(附模型迁移技巧)

本文详细介绍了在CentOS 7无网环境下,从零开始离线部署Ollama、DeepSeek模型与Dify平台的完整实战攻略。内容涵盖基础环境规划、Ollama服务安装、模型文件迁移技巧、Docker引擎离线部署,以及Dify平台与本地Ollama服务的集成配置,为企业内网构建安全、可控的AI应用提供了一套经过验证的解决方案。

weixin_28826521的博客 350

微信多客服系统开发

1.客服增删改查 增加客服 https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN 更新客服类似 https://api.weixin.qq.com/customservice/kfaccount/update?access_token=ACCESS_TOKEN post提交的数据格式...

weixin_30772105的博客 359

IDEA出现闪退或打不开的解决方法

本身项目比较大,为了打开这个软件,可调节IDEA中安装的bin目录下有个。打开IDEA的时候过一会便闪退,可以再IDEA的右下角看到如下提示。(如果没有该提示,软件右下角也会有个红色感叹号,点开查看原因即可)闪退的多数原因大致是out of memory,内存溢出。查看任务管理器中的进程:(发现内存随时有溢出的情况)但也需要注意,该参数并不是越大越好,适中即可。只有个别原因是需要管理员权限就可执行!可以尽量减少软件的启动。

码农研究僧的博客 5945

微信小程序在线客服功能详解

微信小程序中的客服功能使用button 按钮触发客服事件,用户可以在微信小程序后台进行看到用户发送的信息 微信小程序客服官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/custommsg/receive.html 这里介绍了客服发送信息和接收信息的格式和实际操作的接口参数 在微信小程序 页面中我们使用这样一段代码就可以使用......

码小呆的博客 4万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

零基础用AI编程开发微信小程序-开始篇

当然这些对于有经验的软件工程师是很容易的,如果你是文科生,或者是完全不懂代码的,也没有关系,你可以用文字找deepseek或者chatgpt去聊一下你的创意,让他给你出一个简单的需求功能的分析。这次我们开发一个姓名打分的微信小程序,就是你开发一个小程序一定要有一个点子,其实从软件工程的角度来说,就是需求:可以是你生活的中的一个痛点,可以是一个工作上的一个需求等等。就好像你去盖房子,不是上来就开始弄砖瓦,弄水泥去盖了,你需要先画一个草图,这个楼房什么设计,分前端和后端,前端应该显示什么,后端你希望显示什么。

cainiao_python的博客 890

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

chatgpt赋能python:Python群发微信:快速高效的营销利器

Python 群发微信,是指利用 Python 编程语言和微信公众号开发平台,实现同时发送多条相同内容或个性化内容的微信消息。这种方式不同于手动逐个发送微信消息或者使用微信群发功能,Python 群发微信可以大大提高工作效率,节约时间和人力成本。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。

reilust的博客 405

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

AI净界RMBG-1.4对比传统PS:抠图效率提升10倍

本文介绍了如何在星图GPU平台上自动化部署AI 净界 - RMBG-1.4镜像,实现高精度图像背景去除。该镜像支持发丝、毛绒、玻璃反光等复杂边缘的智能分割,典型应用于电商商品图透明底转换,大幅提升抠图效率与质量。

weixin_42613018的博客 311

AI净界RMBG-1.4实战:表情包制作从入门到精通

本文介绍了如何在星图GPU平台上自动化部署AI 净界 - RMBG-1.4镜像,高效实现高精度人像/物体透明背景抠图。该镜像专精发丝级细节与半透明物处理,典型应用于微信表情包制作——上传照片3秒生成带Alpha通道的PNG,无缝适配社交平台传播。

weixin_42579969的博客 209

AI智能证件照制作工坊新手教程:三分钟出图快速体验

本文介绍了如何在星图GPU平台上自动化部署AI智能证件照制作工坊镜像,实现本地化、隐私安全的证件照快速生成。用户上传任意正面生活照,三分钟内即可一键生成合规蓝底/白底/红底1寸或2寸证件照,广泛适用于简历投递、考试报名、签证办理等典型场景。

weixin_28713083的博客 115

AI一键生成微信小程序源码,开发效率提升300%

下次准备试试用这个方式开发更复杂的小程序功能,相信随着AI能力的提升,开发效率还会进一步提高。最惊喜的是购物车功能,只需说明"需要记录商品ID、数量,能增减数量并计算总价",AI就自动生成了包括本地缓存操作在内的完整逻辑。下面分享我的实践过程,希望能给想尝试AI开发的同行一些参考。的AI对话区,我用自然语言描述了需求:"创建一个电商小程序,包含轮播图、分类列表、商品详情和购物车功能,需要下拉刷新和上拉加载"。对购物车这种有状态管理的功能,需要清晰地说明数据结构和操作方式,AI才能生成符合预期的代码。

SilvermistFalcon19的博客 988

AI净界-RMBG-1.4抠图实战教程:发丝级背景移除保姆级部署指南

本文介绍了如何在星图GPU平台上自动化部署AI 净界 - RMBG-1.4镜像,实现发丝级人像背景移除。用户无需配置环境,通过平台一键启动即可快速处理图片,广泛应用于电商主图换背景、AI角色图透明化及短视频贴纸制作等场景,显著提升设计效率。

weixin_31591833的博客 432

Coze 零代码 Agent 开发全攻略:无代码打造商用级 AI 智能体,快速变现

本文是《大模型Agent全栈开发实战系列》第十一篇,承接前序Agent核心原理、规划模块、记忆模块、工具调用、LLM选型、提示词工程、RAG融合、LangGraph工作流、多智能体协同、安全治理,以及第十篇Dify二次开发的全流程内容,与第十篇形成明确的“双平台互补”内容线。第十篇定位“给开发者用的Agent中台”(Dify,技术主导、私有化部署),本文定位“给所有人用的Agent工厂”(Coze,产品主导、零代码、一键发布变现)。本文将系统拆解Coze零代码Agent平台的。

命运舞者的博客 1056

ChatTTS快速入门:无需代码的拟真语音生成教程

本文介绍了如何在星图GPU平台上自动化部署🗣️ ChatTTS- 究极拟真语音合成镜像,实现零代码拟真语音生成。用户通过网页界面输入文本即可快速生成带呼吸感、情绪化和自然停顿的中文语音,典型应用于短视频口播配音、客服话术测试及儿童有声故事制作等场景。

weixin_36074800的博客 381

微信小程序开发的智能革命:让编程小白也能轻松上手

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 微信小程序开发的智能革命:让编程小白也能轻松上手 随着移动互联网的迅猛发展,微信小程序已经成为企业和个人开发者的重要选择。它不仅为用户提供便捷的服务,还为企业提供了新的营销渠道。然而,对于许多没有编程经验的人来说,开发微信小程序似乎是一个遥不可及的梦想。幸运的是,智能化的工具软件正在改变这一现状,使得编程变得前所未有...

inscode_087的博客 305

AI背诵APP的开发流程详解

摘要:AI背诵APP通过技术赋能重构传统记忆方式,提供"AI辅助+科学方法+趣味激励"的解决方案。核心功能包括内容库管理、AI辅助记忆、智能检测和进度管理,针对学生、职场人士等不同用户群体设计差异化功能。技术实现依赖NLP、语音识别和记忆算法,需平衡自研与第三方API集成。开发流程分原型验证、核心功能开发和测试优化三阶段,强调以用户反馈驱动迭代。上线后需持续更新内容、优化体验,并通过免费增值模式实现商业化。成功关键在于精准把握用户需求、技术选型合理性和持续运营能力。

qq_48256438的博客 712

AI人像生成神器:亚洲美女-造相Z-Turbo快速上手全攻略

本文介绍了如何在星图GPU平台上自动化部署亚洲美女-造相Z-Turbo镜像,快速实现高质量亚洲人像生成。无需配置环境或编写代码,用户通过Gradio界面输入中文提示词,即可在1分钟内生成具备东方神韵的高清人像,典型应用于国风海报设计、小红书配图及角色概念创作。

weixin_31459297的博客 348
上一篇: 程序员赚钱的关键
下一篇: ClawdBot(MoltBot)实现研究 (一)
冰石科技
博客等级 码龄19年 77粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值