使用说明
多通道处理应用(MCP)
项目概述
MCP(多通道处理) 这是一个用于自动化文本分析的网络应用程序。用户通过简单的界面提交文本,后端会对文本进行处理并提供:
- 总结 – 对文本的简洁总结。
- 情感分析 – 确定情感(正面、中性、负面)。
- 关键词提取 – 从文本中识别出关键主题。
后端使用 Flask(一个轻量级的Web应用框架), LangChain,以及 OpenAI GPT-3.5,而前端则是用(某种技术或语言)构建的 React结果存储在 SQLite 用于持久化和追踪。
特性/功能
- 直观的React前端,用于文本提交和结果显示。
- 带REST API的Flask后端用于处理文本。
- 使用模块化LLM(大型语言模型)流水线 LangChain(朗链)。
- 在 SQLite 中持久存储消息和分析结果。
- 自动化测试套件,配备有 pytest 并对大型语言模型(LLM)的调用进行了嘲讽。
技术栈
- 前端: React(Vite)、JavaScript、Axios
- 后端: Flask、SQLAlchemy、Flask-CORS
- 数据库: SQLite
- 大型语言模型/人工智能: LangChain v0.2+,OpenAI GPT-3.5
- 测试: Pytest,Flask 测试客户端,Monkeypatch
它是如何工作的
- 用户输入: 在前端输入文本。
- API调用: 前端发送一个POST请求到
/api/analyze。 - 文本处理: 后端使用
run_chain生成:- 摘要
- 情感
- 关键词
- 数据库存储: 结果保存在 SQLite 数据库中。
- 显示结果: 返回的JSON数据在前端显示。
结构:
- 后端/:存储消息并调用LangChain链的Flask API
- 前端:使用Vite + React构建的前端,调用API
运行后端:
- 进入后端目录
- `python -m venv .venv` 翻译成中文是:使用 Python 的 venv 模块创建一个名为 .venv 的虚拟环境
- `.venv\Scripts\activate.ps1` 翻译成中文是:“虚拟环境脚本目录下的激活.ps1文件”。不过,通常我们不会直接这样翻译文件名,而是根据上下文解释其用途,比如可以说:“这是用于激活虚拟环境的PowerShell脚本文件(位于.venv\Scripts目录下)”
- 使用 pip 安装 requirements.txt 文件中列出的包
- 根据上面的信息,执行如下指令:
- 运行 python app.py
后端单元测试:
- pytest -v 翻译为中文是:“使用详细模式运行 pytest”
注意:此测试会启动一个内存中的 SQLite 数据库(因此您的实际 messages.db 文件将保持不变)。使用 monkeypatch 模拟 LangChain 的 LLM 以跳过 API 调用并返回模拟结果。向 /api/analyze 发送带有测试文本的 POST 请求。验证:响应是有效的 JSON,包含摘要、情感、关键词,并且数据库中插入了一条消息。
运行前端:
- cd frontend(在命令行中,这表示切换到名为“frontend”的目录)
- npm install(安装npm包)
- `npm run dev` 翻译成中文是:“运行 npm 脚本中的 dev 任务”
注:对于生产环境,请添加认证机制,并将大型语言模型(LLM)的调用移至后台工作进程。
提示技巧:
- 总结:要求设定字数或句数限制;指明格式要求(使用项目符号还是整段落)。
- 偏好:倾向于使用JSON输出或固定枚举值(正面/中性/负面)以简化解析。
- 关键词:要求恰好N个关键词或短语;如果您想要多词短语,请指示模型:“偏好1–3词的短语”。
- 温度:使用低温(0 — 0.3)以获得确定性输出。
- 令牌限制:对于非常长的文本,应在总结前进行分块处理,或使用思维链式总结模式(分块→中间总结→最终总结)。
未来的改进方向
针对大型文本输入的异步后台处理(使用Celery/RQ)。
专家仪表盘,用于查看或修正结果。
前端和后端的Docker化部署。
身份验证与多用户支持。