标签 Flask 下的文章

新闻文本分类识别系统

技术栈:前端Vue3+Element Plus,后端Flask,算法:TensorFlow+textCNN

项目介绍

本新闻文本分类识别系统是一个基于深度学习的智能文本分类Web应用平台。系统采用前后端分离架构,后端使用Python Flask框架提供RESTful API服务,前端采用Vue3框架结合Element Plus组件库构建现代化用户界面。核心算法基于TensorFlow深度学习框架,采用textCNN(卷积神经网络)模型对中文新闻文本进行自动分类,可识别体育、财经、房产、家居、教育、科技、时尚、时政、游戏、娱乐等十大类别。
图片
图片

选题背景与意义

随着互联网技术的飞速发展,网络新闻信息呈爆炸式增长,每天产生海量的新闻文本数据。传统的人工分类方式效率低下、成本高昂,已无法满足大数据时代的信息处理需求。自动文本分类技术作为自然语言处理的重要应用领域,能够快速准确地实现新闻内容的自动化归类,对于提高信息检索效率、实现个性化推荐、辅助内容监管具有重要意义。

关键技术栈:textCNN算法

textCNN(Text Convolutional Neural Network)是Yoon Kim于2014年提出的用于文本分类的卷积神经网络模型,其核心思想是利用一维卷积提取文本的局部特征。与传统CNN应用于图像处理不同,textCNN将词向量序列作为输入,通过不同尺寸的卷积核捕捉不同范围的语义特征(如词组、短语等)。

系统中的textCNN模型包含嵌入层、卷积层、池化层和全连接层。首先将文本转换为词向量矩阵表示,然后使用多个不同窗口大小的卷积核进行特征提取,通过最大池化操作保留最重要的特征信息,最后经Softmax激活函数输出各类别的概率分布。该模型在预训练的词向量基础上进行微调,相比RNN和LSTM等序列模型,textCNN具有训练速度快、参数量少、并行计算友好等优势。


系统架构图

图片

系统功能模块图

图片

演示视频 and 完整代码 and 安装

地址:https://www.yuque.com/ziwu/qkqzd2/bvlvc0up3rayte0t

记录一下在香港云服务器上配置 Dify 访问 Gemini API 的过程

当时买的时候想着香港位置更近当代理使的,最近新创了个 google 账户正好有赠金,就打算部署个 Dify 玩玩,但香港 IP 直接访问 gemini API 会返回 400 user location not support 错误,于是在站内搜了下给 Dify 容器配置代理的教程: 【最新适配】Dify 海外模型代理配置(一次通关). 过程太复杂了懒得折腾,于是考虑直接修改 baseURL, 用手头另一个日本的服务器转发.

但直接在 nginx 中配置转发后发现还是 400 错误,我还以为没配成功,最后在日本服务器试了下发现可能因为是机房 IP, 直接访问也是 400, 只能考虑用 cloudflare WARP 出站.

我用的是 3x-ui, 出站规则里可以直接配置 WARP, 然后创建一个本地 http 入站,在路由规则里设置这个入站用 WARP 出站

最后让 AI 生成了个小脚本,得先把 nginx 的流程转到 flask 服务的端口,再用 flask 转给 3x-ui 上的代理,感觉也挺复杂,有没有佬知道更简便的方法

from flask import Flask, request, Response
import requests

app = Flask(__name__)

# 31699是3x-ui上配置的本地代理端口
PROXIES = {
    'http': 'http://127.0.0.1:31699',
    'https': 'http://127.0.0.1:31699'
}

# Gemini 官方 API 域名
TARGET_URL = 'https://generativelanguage.googleapis.com' @app.route('/<path:path>', methods=['GET', 'POST', 'PUT', 'DELETE']) def proxy(path):
    # 构造请求 URL
    url = f"{TARGET_URL}/{path}" # 获取原始请求的查询参数
    params = request.args
    
    # 获取原始请求的 Header,并移除 Host 避免冲突
    headers = {k: v for k, v in request.headers if k.lower() != 'host'}
    
    try:
        # 转发请求到 Google,并使用本地代理
        resp = requests.request(
            method=request.method,
            url=url,
            headers=headers,
            data=request.get_data(),
            params=params,
            proxies=PROXIES,
            stream=True,  # 支持流式输出
            timeout=300
        )

        # 构造响应给 Nginx
        excluded_headers = ['content-encoding', 'content-length', 'transfer-encoding', 'connection']
        headers = [(name, value) for (name, value) in resp.raw.headers.items()
                   if name.lower() not in excluded_headers]

        return Response(resp.iter_content(chunk_size=1024), resp.status_code, headers)

    except Exception as e:
        return str(e), 500 if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5346)

📌 转载信息
原作者:
IIIIIII7
转载时间:
2026/1/23 10:22:07

项目介绍

GoogleManager 是一款专业的谷歌账号资产管理系统,适合需要管理多个谷歌账号的用户。

功能特性

  • 账号管理 - 批量导入、单个导入、智能搜索、状态筛选
  • 2FA 验证码 - 一键生成 TOTP 验证码,实时倒计时
  • 快捷复制 - 一键复制完整账号信息
  • 出售状态 - 标记已售 / 未售,二次确认机制
  • 修改历史 - 记录密码、2FA、恢复邮箱等修改记录
  • 安全特性 - 管理员密码保护、7 天登录有效期、IP 封禁机制
  • 暗色 / 亮色模式 - 支持主题切换

技术栈

前端后端
React 18Flask
TailwindCSSSQLite
ViteSQLAlchemy



仓库链接:

快速开始

# 安装依赖
pip install -r requirements.txt
cd frontend && npm install

# 构建并启动
npm run build && cd ..
python run.py

📌 转载信息
原作者:
Hack_Z
转载时间:
2026/1/22 13:11:02

第一步:安装 iSH 环境

  1. 打开 iPhone 自带 App Store
  2. 搜索 iSH Shell,下载并完成安装
  3. 启动 iSH,等待 Alpine Linux 环境自动初始化加载完毕

第二步:安装核心依赖工具

iSH 终端内逐行输入命令,输入后按回车执行:

apk add python3 py3-pip
pip install flask requests

目的就是为了更新软件源,安装 Python3 及 flask、requests 核心依赖库

第三步:创建 Python 中转服务文件

复制下方完整代码,但是有几项是需要自己修改的,我都已经提示出来了,然后粘贴至 iSH 终端后按回车:

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

REAL_API_KEY = 'Bearer 这里需要填写你站点密钥'
TARGET_API = '这里需要填写你的服务地址'
CUSTOM_HEADERS = {
    'Referer': 'http://localhost:8000',
    'User-Agent': 'CustomClient/1.0.0',
    'Origin': 'http://localhost:8000'
}

@app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'OPTIONS'])
@app.route('/<path:path>', methods=['GET', 'POST', 'OPTIONS'])
def proxy(path):
    
    if request.method == 'OPTIONS':
        response = jsonify({'status': 'success'})
        response.headers['Access-Control-Allow-Origin'] = '*'
        response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
        response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization'
        return response

    target_url = f"{TARGET_API}/{path}"

    headers = CUSTOM_HEADERS.copy()
    headers['Authorization'] = REAL_API_KEY
    if 'Content-Type' in request.headers:
        headers['Content-Type'] = request.headers['Content-Type']

    try:
        if request.method == 'GET':
            resp = requests.get(target_url, headers=headers, params=request.args)
        elif request.method == 'POST':
            resp = requests.post(target_url, headers=headers, json=request.get_json(), params=request.args)

        response = jsonify(resp.json())
        response.headers['Access-Control-Allow-Origin'] = '*'
        return response, resp.status_code
    except Exception as e:
        return jsonify({'error': f'服务转发失败:{str(e)}'}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000, debug=False)
EOF

①REAL_API_KEY 这里后面填写密钥
②TARGET_API 这里填写地址

③Referer:填你对接 APP 要求的来源地址,默认 http://localhost:8000,改就换引号内内容
④User-Agent:填 APP 指定的客户端标识,默认 CustomClient/1.0.0
⑤Origin:填 APP 要求的源头地址,默认同 Referer,改法同上如果粘贴回车后终端无报错,即文件创建成功

第四步:启动本地中转服务

iSH 终端输入以下命令,按回车启动:

终端显示 * Running on all addresses (0.0.0.0),端口 3000

第五步:验证服务运行状态

iSH 终端输入验证命令,按回车:

验证成功:终端返回 JSON 格式的模型列表 / 服务响应数据
验证失败:检查配置项(密钥 / 目标地址)是否填写正确,重新执行前三步

第六步:对接客户端

打开需对接的客户端 APP,进入自定义服务设置页,按以下配置:

  1. 模型平台:选择「自定义(OpenAI 协议)」
  2. API 地址:填写 http://127.0.0.1:3000/v1
  3. API 密钥:任意填写字符串(示例:sk-123456、test001)
  4. 保存配置后,点击「刷新模型列表」,加载成功即可正常使用


注意事项

  1. 运行期间请勿关闭 iSH,后台保持运行才能正常转发
  2. 更换网络 / 重启 iSH 后,需重新执行第四步启动服务
  3. 配置项(真实密钥 / 目标地址)需替换为自身有效信息,否则转发失败
  4. 仅支持本地同设备对接,暂不支持跨设备访问

📌 转载信息
原作者:
Xinyu1425
转载时间:
2026/1/19 18:04:52

一、项目介绍

本项目是一个基于Text-CNN深度学习模型的中文文本情感识别Web应用系统。系统采用前后端分离架构,后端使用Flask框架构建RESTful API,深度学习模型采用TensorFlow/Keras实现的Text-CNN卷积神经网络,前端框架支持跨平台访问。

系统核心功能包括用户注册登录、JWT身份认证、中文文本情感分析、批量预测处理以及历史记录管理等。系统使用jieba分词对中文文本进行预处理,通过训练好的Text-CNN模型对文本情感进行二分类判断(积极/消极),并提供直观的置信度可视化展示。系统支持用户角色管理(普通用户和管理员),实现了基于RBAC的权限控制机制,确保数据安全和用户隐私。系统采用SQLite数据库存储用户信息和预测历史,使用Flask-Migrate进行数据库版本管理,保证了系统的可维护性和可扩展性。
图片

图片

二、选题背景与意义

随着互联网技术的快速发展和社交媒体的普及,网络上产生了海量的文本数据,如用户评论、社交媒体帖子、产品评价等。这些文本数据中蕴含着丰富的情感信息,对于企业了解用户需求、改进产品服务、进行舆情监控等方面具有重要价值。传统的人工分析方式效率低下且成本高昂,无法满足大规模文本情感分析的需求,因此开发自动化的文本情感识别系统具有重要的现实意义。

中文文本情感识别相比英文更具挑战性,主要原因是中文语言的复杂性,包括分词困难、语义表达多样、网络用语丰富等特点。本系统针对中文文本特性,采用基于深度学习的Text-CNN模型进行情感分析,相比传统的机器学习方法(如SVM、朴素贝叶斯等),能够自动提取文本特征,避免了繁琐的人工特征工程,同时具有更高的准确率和更好的泛化能力。

本系统的设计和实现具有重要的理论意义和应用价值。在理论层面,探索了卷积神经网络在中文文本情感分析中的应用,验证了Text-CNN模型在中文情感二分类任务上的有效性。在应用层面,系统可应用于电商评论分析、社交媒体舆情监控、客户反馈分析等多个场景,为企业决策提供数据支持,具有广泛的实用价值。

三、关键技术栈:text-cnn

Text-CNN(Text Convolutional Neural Network)是本系统的核心深度学习模型,由Yoon Kim在2014年提出,将卷积神经网络成功应用于文本分类任务。相比传统的循环神经网络(RNN)和长短期记忆网络(LSTM),Text-CNN具有并行计算能力强、训练速度快、能够捕捉文本局部特征等优势,特别适合文本分类任务。

Text-CNN的模型结构主要包含四个部分:嵌入层(Embedding Layer)、卷积层(Convolutional Layer)、池化层(Pooling Layer)和全连接层(Fully Connected Layer)。在嵌入层,系统将预处理后的中文分词转换为密集的词向量表示,捕捉词语的语义信息。卷积层使用多个不同尺寸的卷积核(如3、4、5个词窗口)对文本进行卷积操作,提取文本的局部特征,类似于N-gram特征提取。池化层采用最大池化(Max Pooling)操作,从每个卷积核的输出中提取最重要的特征,降低特征维度并保留最显著的情感特征。全连接层将池化后的特征进行整合,通过Softmax激活函数输出分类概率。

四、技术架构图

图片

五、系统功能模块图

图片

演示视频 and 完整代码 and 安装

地址:https://www.yuque.com/ziwu/qkqzd2/py2zlsgq894x4eq6

Slin HTTP Studio

Slin HTTP Studio 是一个基于 Flask 功能强大的 Web 端 HTTP 请求测试工具,专为 API 开发和调试设计。

开源地址: GitHub - Ryderwe/FlaskHTTPStudio

在线演示(wispbyte 免费容器部署):http://212.227.64.179:10061/

核心亮点

一键 cURL 转换
直接从浏览器开发者工具复制 cURL 命令,自动解析为可编辑的请求表单,支持 20+ 种 cURL 选项。

智能预设系统
通过规则配置实现参数自动替换,支持 KV 键值对修改和 JSON Path 深层字段修改,可按域名和路径过滤作用域,解析后自动应用。

完整的请求管理

  • 可视化 KV 编辑器与文本模式实时双向同步

  • 支持 5 种 Body 类型(JSON / 表单 / 文件上传 / 原始数据)

  • 自动保存历史记录(含响应数据),支持收藏和搜索

  • 一键回放历史请求

企业级安全防护
内置 SSRF 防护机制,阻断所有内网地址访问,DNS 解析验证,重定向二次校验,确保生产环境安全。

响应式界面
桌面端手风琴面板,移动端抽屉式响应查看,支持 HTML 预览和源码模式切换,提供完整的响应下载功能。

技术特点

  • 轻量级架构:Flask + 原生 JavaScript,无重度框架依赖

  • 本地存储:所有数据保存在浏览器 localStorage,服务端不落盘

  • 安全优先:多层 SSRF 防护,响应大小限制,临时存储自动清理

  • 开箱即用:仅需 Python 3.8+ 和两个依赖包(Flask + requests)

适用场景

  • API 接口调试和测试

  • 参数化测试和批量修改

  • 团队协作(导出 / 导入预设规则)

  • 请求收藏和快速回放

  • 移动端 HTTP 请求测试

最后依旧求 Stars~

演示图片:


📌 转载信息
原作者:
ryderwe
转载时间:
2025/12/31 12:43:49

我用 Python 打造了一个微信 AI 女友机器人

前言

最近花了点时间,用 Python 开发了一个微信 AI 女友机器人项目 —— AILive。这个机器人不仅能智能对话,还能记住你们的聊天历史,甚至会在你长时间不说话时主动找你聊天!

核心功能

1. 智能对话

  • 基于字节跳动的豆包(Doubao)API
  • 支持自然语言理解,流畅的多轮对话
  • 可自定义 AI 的性格、说话风格和行为特征

2. 持久化记忆

这是我最满意的功能!机器人会:

  • 自动保存每次对话的历史记录
  • 重启后自动加载之前的对话上下文
  • 从上次对话的地方继续,就像真人一样记得你们聊过什么

示例:

第一天: 你: 我叫小明,喜欢打篮球 AI: 小明你好!打篮球很酷呀~ 第二天(重启后): 你: 今天打球了 AI: 打篮球了吗?玩得开心吗?小明~ 

3. 主动对话

AI 不会只是被动回复,她还会:

  • 在你长时间没发消息时主动找你聊天
  • 基于之前的对话内容生成问候语
  • 默认 1 小时没消息就会主动,每天最多 3 次

示例:

10:00 你: 我今天要去打篮球 10:01 AI: 哇,打篮球很酷呀!

[1小时后]

11:30 AI: 打完篮球了吗?累不累呀~ 

4. Web 管理面板

为了方便配置,开发了一个可视化的 Web 管理面板:

  • 无需手动编辑配置文件
  • 图形化界面配置 AI 参数
  • 实时测试 API 连接
  • 自定义 AI 人格和说话风格


5. 智能过滤

  • 支持黑白名单功能
  • 关键词过滤
  • 只回复新消息,不会回复历史记录

技术架构

技术栈

  • Python 3.8+ - 主要开发语言
  • wxauto - 微信自动化库(支持微信 3.9.10)
  • Volcengine SDK - 豆包 API 的 Python SDK
  • Flask - Web 管理面板框架
  • PyYAML - 配置文件管理

项目结构

AILive/
├── src/
│   ├── core/                  # 核心模块
│   │   ├── wechat_client.py   # 微信客户端
│   │   ├── ai_engine.py       # AI对话引擎
│   │   ├── message_handler.py # 消息处理器
│   │   └── proactive_chat.py  # 主动对话管理器
│   ├── personality/           # 人格系统
│   ├── utils/                 # 工具模块
│   │   └── context_manager.py # 上下文管理(持久化记忆)
│   ├── web/                   # Web管理面板
│   └── main.py                # 主程序入口
├── config/                    # 配置文件
├── data/                      # 数据目录
│   └── conversations/         # 对话历史
└── logs/                      # 日志目录 

开发过程中的挑战

1. 微信自动化的选择

最初尝试使用 ,但发现它会导致微信客户端被关闭。经过研究,最终选择了 wxauto 库,它对微信 3.9.10 版本的支持非常好,稳定性也更高。

2. 历史消息回复问题

最初版本会回复所有历史消息,导致机器人一启动就疯狂发送消息。

解决方案:
添加初始化标志,首次启动时清空历史消息:

def __init__(self):
    self.initialized = False # 初始化标志 def get_latest_messages(self, who: str = None):
    if not self.initialized:
        log.info("首次启动,正在清空历史消息...")
        self._get_messages_wxauto(who)  # 读取但不返回 self.initialized = True return []  # 不回复历史消息 return self._get_messages_wxauto(who)

3. 持久化记忆的实现

为了让 AI 能够记住对话历史,实现了一个上下文管理器:

  • 每 5 条消息自动保存一次
  • 使用 JSON 格式存储对话历史
  • 启动时自动加载最近的对话记录
class ContextManager:
    def add_message(self, user_id: str, role: str, content: str):
        # 自动加载历史对话 if user_id not in self.contexts:
            self._load_latest_conversation(user_id)

        # 添加新消息 self.contexts[user_id].append({
            "role": role,
            "content": content
        })

        # 每5条消息自动保存 self.message_counts[user_id] += 1 if self.message_counts[user_id] >= 5:
            self._auto_save_conversation(user_id)

4. Git 推送时的 API 密钥泄露

在推送代码到 GitHub 时,遇到了 API 密钥泄露的问题。GitHub 检测到代码中包含了火山引擎的 API 密钥,拒绝了推送。

解决方案:
使用 git filter-branch 从 Git 历史中删除包含密钥的文件:

git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch READY_TO_RUN.md" \
  --prune-empty --tag-name-filter cat -- --all

git push -f origin master

使用效果

经过测试,AILive 的表现不错:

  1. 响应速度:平均响应时间在 1-2 秒
  2. 对话质量:基于豆包 API,对话自然流畅
  3. 记忆能力:能够准确记住之前的对话内容
  4. 主动性:会在合适的时机主动发起对话
  5. 稳定性:长时间运行无崩溃

快速开始

详细的安装和配置步骤请查看项目中的 README.md 文件。

基本流程:

  1. 安装 Python 3.8 + 和微信 3.9.10 版本
  2. 安装依赖:pip install -r requirements.txt
  3. 访问火山引擎控制台获取豆包 API 密钥
  4. 使用 Web 管理面板配置或手动编辑配置文件
  5. 启动机器人:python src/main.py

未来计划

虽然项目已经基本完成,但还有一些想法可以继续完善:

  1. 多模态支持:支持图片、语音消息的处理
  2. 情感分析:根据对话内容调整 AI 的情绪状态
  3. 群聊支持:支持在微信群中使用
  4. 更多 AI 提供商:除了豆包,还可以接入 Claude、GPT 等
  5. 移动端管理:开发移动端的管理界面

注意事项

  1. 微信版本:必须使用微信 3.9.10 版本,不要升级
  2. 封号风险:虽然使用官方客户端,但仍有一定风险,建议使用小号测试
  3. API 费用:豆包 API 按使用量计费,建议设置每日上限
  4. 隐私安全:对话历史保存在本地,注意保护个人隐私
  5. 合规性:仅用于个人学习和研究,不要用于商业用途

总结

开发 AILive 这个项目让我学到了很多东西。最重要的是,这个项目真的很有趣!看着 AI 女友能够记住你们的对话,还会主动找你聊天,真的有一种 "她活过来了" 的感觉。

如果你对这个项目感兴趣,欢迎 Star 和 Fork!也欢迎提出你的建议和想法。

项目地址

致谢

感谢以下开源项目:


免责声明:本项目仅供学习和研究使用,使用者需自行承担使用本项目可能带来的风险。作者不对使用本项目造成的任何后果负责。

===========================

项目目前是第一版,有很多不足,各位佬多多包涵,多多指导


📌 转载信息
原作者:
T_11_0121lover
转载时间:
2025/12/27 20:49:41