大模型学习之MCP
MCP视频链接 RAG 技术的局限性RAG(检索增强生成,Retrieval-Augmented Generation)是当前大模型领域的热门方向。它结合了信息检索与生成式模型,旨在提升知识准确性、上下文理解和对最新信息的利用能力。 RAG 的主要缺点: 检索精度有限,可能无法获取最相关的信息 生成内容可能不完整或片面 缺乏全局视角 检索能力受限时效果下降 理论基础Function CallFunction Call 是 OpenAI 于 2023 年提出的重要概念,本质上为大模型提供了与外部系统交互的能力,相当于为模型配备“外挂工具箱”。当模型无法直接回答问题时,可主动调用预设函数(如查询天气、计算数据、访问数据库等),获取实时且精准的信息后再生成回答。 Model Context Protocol(MCP)MCP(模型上下文协议)由 Anthropic 公司提出,是一个开放标准协议,旨在解决 AI 模型与外部数据源、工具的交互难题。 开发者按照 MCP 协议开发,无需为每个模型与不同资源重复编写适配代码,大幅节省开发工作量。MCP Server...
全栈开发笔记
未完待更新 个人全栈项目开发之路https://github.com/DummyV07/Boilerplate.git技术栈 FASTAPI + VUE3 + Nginx + Gunicorn 🏗️ 第一部分:系统架构 前后端分离原则:前端(Vue)仅负责 UI 渲染与交互逻辑,后端(Python)仅负责数据处理与业务逻辑。两者通过 RESTful API 进行 JSON 交互。 **Schema 为先 (Schema-First)**:在写具体的业务逻辑前,先定义好后端的数据结构(Pydantic Models),确保前端联调时有明确的数据契约。 单一职责原则:一个接口只做一件事。复杂的长耗时操作必须与即时响应接口分离。 项目结构123456789101112131415161718192021222324252627my-awesome-project/├── backend/ # Python 后端代码 (FastAPI)│ ├── app/│ │ ├── api/ # 接口路由层│ │ ├──...
无标题
Quantization大模型量化简单来说量化就是用更低精度低数值格式(如 INT8 INT4)来表示原本的高精度(如FP32,FP16)的权重和激活值。 三大主流算法 GPTQ: 基于二阶导数信息(Hessian 矩阵)进行权重补偿,逐层优化。 AWQ (Activation-aware Weight Quantization): 发现权重中只有 1% 是重要的(由激活值决定),保护这些重要权重不被过度量化,从而保持精度。 SmoothQuant: 通过一个数学上的等价变换,将激活值的量化难度转移到权重上,解决激活值量化难的问题。
哈希
🧬 哈希哈希(Hash)是一种**把任意长度的数据,通过某种算法,变成固定长度的”指纹”**的技术。 哈希有什么特点 不可逆 输入 → 输出是容易的,但输出 → 输入几乎不可能。 固定长度 比如 SHA-256 无论输入什么内容,结果一定是 256-bit(64 个十六进制字符)。 雪崩效应(Avalanche Effect) 输入改一个字母,输出完全变样,毫无规律可循。 相同输入,一定得到相同输出 这是它能用于检测数据变化的原因。 哈希的常见用途 密码存储 服务器不会直接保存你的明文密码,而是保存 Hash(你的密码) 区块链 区块链的本质就是 哈希 → 再哈希 → 再哈希 哈希链条串起来谁也改不了 文件校验 你下载一个游戏包,它会给你一个hash值 你算一下就知道文件有没有被修改 哈希表、字典(HashMap) 计算 hash → 决定数据放哪里 → 查找速度提升到 O(1)。 🔬 哈希深入学习 ① 哈希为什么不可逆?(数学基础)什么叫单向函数?单向函数(One-Way...
Nginx详解
Nginx详解与部署流程在项目初期,如果并发量较小,用户数量有限,通常只需通过一个jar包启动应用,内部由自带的Tomcat处理请求即可满足需求。但随着用户量和并发量的提升,单一应用实例可能无法承载全部流量,这时就需要引入Nginx进行负载均衡和反向代理,提升系统的可用性和扩展性。 为什么选择NginxNginx(engine...
Docker部署python项目
Docker部署python项目目的:为了解决生产环境和开发环境的环境版本问题,同时也是因为不同服务器中的git库同步不方便的原因所以使用docker进行开发部署。 最终结论是选择拉取基础镜像直接在镜像中进行开发最为方便 开发部署流程 方式一:直接在docker容器中开发 操作:启动一个基础镜像的容器,进入容器内部安装依赖、写代码、调试。 特点: 开发效率低|调试困难|环境容易丢失|依赖管理混乱 方式二:本地开发+docker打包部署 操作:在本地python环境进行开发,开发完成后通过Dockerfile构建镜像生产镜像。 特点: 开发体验好|环境隔离|可复现性强|镜像精简 开发案例方案一 实验环境 |macOS|Docker version 28.0.1, build 068a01e`` 12345678910111213141516171819202122232425262728293031# 终端命令步骤# 拉取基础镜像docker pull python:3.11-slim-bullseye# 新建容器...
service_manager
1. 程序整体架构分析核心设计模式:单例模式 + 命令模式123456789101112131415161718service_manager.py├── 配置层 (Configuration Layer)│ ├── 服务定义 (services字典)│ ├── 环境配置 (conda环境路径)│ └── 日志配置 (logging配置)├── 管理层 (Management Layer)│ ├── ServiceManager类│ ├── 进程管理 (PID文件持久化)│ └── 状态监控 (进程状态检查)├── 操作层 (Operation Layer)│ ├── 启动服务 (start_service)│ ├── 停止服务 (stop_service)│ ├── 重启服务 (restart_service)│ └── 状态查看 (status)└── 接口层 (Interface Layer) ├── 命令行参数解析 ├── 信号处理 └── 用户交互 2. 核心组件详解2.1 配置层设计12345678910#...
机器学习之集成学习
机器学习之集成学习概述集成学习(Ensemble Learning)是机器学习中一种重要的方法,它通过组合多个基础学习器来构建一个更强大的学习器。这种方法的核心思想是”三个臭皮匠,胜过一个诸葛亮”,通过多个模型的集体智慧来提高预测的准确性和稳定性。 集成学习的基本概念什么是集成学习?集成学习是一种机器学习范式,它通过构建并结合多个学习器来完成学习任务。这些学习器可以是同类型的(如多个决策树),也可以是不同类型的(如决策树、神经网络、支持向量机等)。 集成学习的优势 提高预测准确性:多个模型的组合通常比单个模型表现更好 增强泛化能力:减少过拟合风险,提高模型对新数据的适应能力 提高稳定性:降低单个模型的不稳定性影响 处理复杂问题:能够处理单个模型难以解决的复杂问题 主要的集成方法1. Bagging(Bootstrap...
机器学习之SVM
支持向量机 (SVM) - 机器学习中的强大分类器什么是SVM?支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,主要用于分类问题,也可以用于回归分析。它的核心思想是找到一个最优的超平面来分隔不同类别的数据。 核心概念1. 支持向量 (Support Vectors)支持向量是数据集中位置特殊的关键点,它们决定了分类超平面的位置。这些点距离分类边界最近,对模型的性能起着决定性作用。 2. 最大间隔 (Maximum Margin)SVM的核心目标是找到能够最大化分类间隔的超平面,这样可以提高模型的泛化能力。 3. 分隔超平面 (Separating Hyperplane) 对于线性可分数据,可以通过一条直线(二维)或超平面(高维)将不同类别的数据完全分开 这条分隔线称为分隔超平面 数学原理拉格朗日乘子法SVM通过拉格朗日乘子法 (Method of Lagrange Multiplier)...
机器学习之回归
Logistic回归Logistic回归是一种用于二分类问题的统计学习方法。它通过对输入特征的线性组合结果应用Sigmoid函数,将输出映射到0和1之间,从而预测某个事件发生的概率。与线性回归不同,逻辑回归的输出是概率值,常用于分类任务。 基础概念Sigmoid函数Sigmoid函数是一种常用的激活函数,定义为: $$\sigma(z) = \frac{1}{1 + e^{-z}}$$ 它的输出范围在0到1之间,适合用于概率预测。 单位阶跃函数与Sigmoid函数在二分类问题中,我们希望模型能够根据输入预测类别(0或1)。理想情况下,可以使用单位阶跃函数(Heaviside step function)来实现: $$f(x) = \begin{cases}1, & x \geq 0 \0, & x <...









