【LLM】ChatGPT 训练范式
Stage 1: PT(Continue PreTraining),增量预训练 使用百科类文档类数据集,用来在领域数据集上增量预训练或二次预训练,期望能 把领域知识注入给模型 ,以医疗领域为例,希望增量预训练,能让模型理解感冒的症状、病因、治疗药品、治疗方法、药品疗效等知识,便于后续的SFT监督微调能激活这些内在知识。 这里说明一点,像GPT3、LLaMA这样的大模型理论上是可以从增量预训练中获益,但增量预训练需要满足两个要求:1)高质量的预训练样本;2)较大的计算资源,显存要求高,即使是用LoRA技术,也要满足block_size=1024或2048长度的文本加载到显存中。 其次,如果你的项目用到的数据是模型预训练中已经使用了的,如维基百科、ArXiv等LLaMA模型预训练用了的,则这些数据是没有必要再喂给LLaMA增量预训练,而且预训练样本的质量如果不够高,也可能会损害原模型的生成能力。 tips:PT阶段是可选项,请慎重处理。 训练数据集示例(相关领域的大段文本即可):1传染病是指由病原微生物,如朊粒、病毒、衣原体、立克次体、支原体(mycoplasma)细菌真...
【Linux】Docker的使用
核心概念:容器、镜像与仓库 镜像 (Image): Docker 镜像打包了运行应用程序所需的一切,包括代码、函数库、环境变量和配置文件。 容器 (Container): 容器是镜像运行中的实例。如果将镜像视为面向对象编程中的“类 (Class)”,容器则是这个类的“对象 (Object)”。我们可以通过一个镜像创建任意数量的容器。每个容器都在一个隔离的环境中运行,拥有自己的文件系统、网络和进程空间,但它们共享主机的操作系统内核。这使得容器非常轻量且启动迅速。 仓库 (Registry): 镜像仓库是专门用来集中存放和分发 Docker 镜像的地方。最知名的公开仓库是 Docker Hub,它托管了海量的官方和用户分享的镜像。此外,还有许多国内的镜像仓库(或称为“镜像站”),它们可以提供更快的镜像下载速度。 Docker 安装与配置1. 一键安装可以参考 Docker 官方的示例:https://get.docker.com。 下载安装脚本1curl -fsSL https://get.docker.com -o install-docker.sh 执行安装脚本...
【开发工具】Linux安装JupyterLab
引言JupyterLab相对于jupyter notebook来说是用过之后就再也不想换回去的存在。Linux安装jupyter lab的过程如下 安装方法 pip安装 12pip install jupyterlab # 安装jupyterpip install jupyterlab-language-pack-zh-CN # 安装汉化包,需要自己选择语言 生成jupyterlab配置文件,路径为~/.jupyter/jupyter_lab_config.py 1jupyter lab --generate-config 创建并确认密码,会生成~/.jupyter/jupyter_server_config.json 1jupyter lab password 查看文件内容,如下图,复制password后的一串字符 1less ~/.jupyter/jupyter_server_config.json 修改配置文件 1vim ~/.jupyter/jupyter_lab_config.py 添加以下内容 12345678c.ServerApp.allow_remo...
【开发工具】通过 VS Code Tunnel远程登陆服务器
引言VS Code Tunnel 功能可以让我们通过安全隧道连接到远程机器 连接程Linux服务器:使用 Code CLI 命令1. 在远程机器安装 CLI 下载12curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gztar -xf vscode_cli.tar.gz 解压后直接是一个名为code的可执行程序 创建隧道1./code tunnel 首次运行时,会提示接受服务器许可条款,或者可以使用:1./code tunnel --accept-server-license-terms 安装为服务,这样就可以后台持续运行1234567# 需要先安装 D-Bus 服务sudo apt install dbus-user-session# 启动 D-Bus 服务systemctl --user enable dbus --now# 重启系统# 启动 code cli 服务./code t...
【Agent】MCP协议介绍
什么是MCP?MCP(Model Context Protocol)是由Anthropic开发的开放标准协议,旨在让AI助手能够安全、标准化地连接到各种外部数据源和工具。简单来说,MCP就像是AI助手的“工具箱”,通过这个协议,AI 大模型可以访问文件系统、数据库、API服务等外部资源,大大扩展了AI的能力边界。 MCP架构原理MCP采用客户端-服务器架构: MCP Client:通常是AI助手(如Claude Desktop、Cline、Cursor等) MCP Server:提供特定功能的服务程序 传输层:负责客户端和服务器之间的通信 MCP传输层模式1. Stdio (Standard Input/Output) 工作原理:使用标准输入/输出流进行进程间直接通信,提供最优性能且无网络开销 需要自己装mcp server的环境 配置示例1234567891011{ "mcpServers": { "github": { "command": ...
【LLM】兼容OpenAI API服务使用指南
引言 在本地部署好 vLLM 之后,它会启动一个 兼容 OpenAI 格式的 API 服务。 vLLM 在内部用 FastAPI 写了一个 Web 服务,挂载了和 OpenAI API 风格一致的路由,比如: /v1/completions /v1/chat/completions /v1/models 本文将以部署在 http://172.22.215.77:6080 的服务为例,详细介绍 vLLM 的 API 路由结构、各个地址的含义,以及常用接口的调用示例。 在 http://172.22.215.77:6080/docs 可以查看由 FastAPI 自动生成的交互式 API 文档界面。 API 路由结构vLLM 的接口分为以下几类: 1. 基础运维类 GET /health → 健康检查,返回服务状态。(一般不需要 Key) GET /ping / POST /ping → Ping 测试。 GET /load → 查看服务负载信息。 GET /metrics → 导出监控指标。 GET /version → 查看服务版本。 2. Token ...
【LLM】使用vLLM本地部署大模型
本文以最新的医学领域最强模型Baichuan-M2-32B为例,记录使用vLLM部署大模型并创建API服务。 创建uv环境123uv init# 添加modelscope包uv add modelscope 下载模型 去modelscope官网,找到对应模型的网页:https://www.modelscope.cn/models/baichuan-inc/Baichuan-M2-32B 自定义模型下载位置: 1uv run modelscope download --model baichuan-inc/Baichuan-M2-32B --local_dir /mnt/nfs_share/tlj/llms/models/ 如果不指定--local_dir,默认情况下,模型被下到了这里: 1~/.cache/modelscope/hub/models/baichuan-inc/Baichuan-M2-32B 安装环境 uv安装pytorch uv pip install 会在当前 uv 管理的虚拟环境中调用 pip 去安装 Python 包 1uv pip instal...
【LLM】OpenAI的response API介绍
背景 此前已经介绍过了OpenAI的 Chat Completions API 或 Assistants API。然而从 2024 年底开始,OpenAI 推出了 Responses API,并且明确这是未来的统一入口。 官方规划是: Responses API 将逐步取代 Assistants API,并可能在几年内覆盖 Chat Completions 的大部分场景。 本文将介绍新 API 与旧 API 再功能与用法伤的区别。 功能对比 对比维度 Chat Completions API / Assistants API(旧) Responses API(新) 功能覆盖 文本/多轮对话(Chat),Assistants API 支持工具调用、文件搜索等,但 API 分散 单一接口统一支持对话、多模态、工具调用、文件处理等 多模态输入 GPT-4 Turbo 等支持图片输入,但调用方式不统一 原生支持文本 + 图片 + 文件 + 语音输入 工具调用 function_call(Chat)或 Assistants API 内置工...
【LLM】OpenAI的Chat Completions API 和 Assistants API
背景Chat Completions API 和 Assistants API 都是 OpenAI 提供的大语言模型交互 API。 Chat Completions API 是 无状态对话接口 Assistants API 是 有状态智能体接口 核心定位对比 API 核心用途 特点 Chat Completions API 直接调用语言模型进行单轮或多轮对话生成 轻量、灵活、无状态(默认不保存上下文) Assistants API 构建持久化、有工具能力的“智能助手” 有状态(自动保存上下文)、支持工具和文件管理 功能对比 对比维度 Chat Completions API Assistants API 会话管理 默认无状态,需要客户端手动管理 messages 内置 threads 和 messages,自动保存会话历史 工具调用 通过 function_call 手动声明和解析 内置工具(code interpreter、file search 等)+ 自定义工具 文件处理 不直接支持,需要外部逻辑 内置文件上传、搜索、引用 任...
【LLM】通过API调用LLM的三种方式
本文将以OpenAI接口为例,介绍调用大模型API的三种方式,从最高级的封装到最原始的http请求,依次介绍LangChain、OpenAI官方SDK、requests请求。 LangChain 封装调用代码示例: 12345678910111213import osfrom langchain_openai import ChatOpenAIllm = ChatOpenAI( temperature=0.2, model_name=os.environ.get("QWEN_MODEL_NAME"), openai_api_key=os.environ.get("QWEN_API_KEY"), openai_api_base=os.environ.get("QWEN_API_URL"), max_tokens=int(os.environ.get("MAX_TOKENS", 1000)))response = llm.invoke("你是谁?")...
【LLM】LLM的量化与微调方法
引言 现代大语言模型(如 LLaMA、ChatGLM、Qwen)动辄拥有数十亿甚至上万亿参数。以 FP16 精度存储时: 模型规模 显存占用 7B 参数 ~14 GB 13B 参数 ~26 GB 70B 参数 ~140 GB 这意味着多数人无法在消费级显卡(如 RTX 3090/4090,24GB)上加载完整模型,并且推理延迟高,难以部署到边缘设备 量化(Quantization) 就是解决这一问题的关键技术:通过降低模型权重的精度(如从 16 位压缩到 4 位),大幅减少模型体积和显存需求。 模型量化的概念 量化是将高精度数值(如 FP32/FP16)转换为低精度表示(如 INT8、INT4)的过程。 常见量化方式对比 精度 每参数位数 压缩比(相比 FP32) 显存需求(以7B 模型为例) FP32 32 bit 1x 28 GB FP16 16 bit 2x 14 GB INT8 8 bit 4x 7 GB INT4 4 bit 8x 3.5 GB 4-bit 量化可将模型体积压缩至原来的...
【Agent】Agent的开发工具介绍
AI Agent的定义AI Agent是一种能够自主感知环境、制定决策并执行行动以实现特定目标的智能系统。在大模型时代,AI Agent通常由大语言模型驱动,具备以下四大核心要素: 规划(Planning):能够分解复杂任务,制定执行计划 记忆(Memory):具备短期和长期记忆能力,能够学习和积累经验 工具(Tools):能够调用外部工具和API,扩展自身能力 执行(Action):能够在环境中执行具体的行动 AI Agent开发工具分类根据功能特点、技术架构和应用场景,我们将当前主流的AI Agent开发工具分为以下几个类别: 编程框架类: LangChain、LangGraph、CrewAI、Semantic Kernel、AutoGen、Phidata 无代码/低代码平台类:Coze、Dify、星辰Agent、Trickle AI、AgentGPT、Gumloop、FlowiseAI 专业化工具类:AutoGPT、GPT Engineer 企业级解决方案类:Superagent、Reworkd AI 集成平台类:Zapier AI Actions 1...
【网络与代理】使用 Tinyproxy 让远程服务器走本地网络访问外网
一、背景在日常运维或科研计算中,我们经常遇到远程服务器无法直接访问外网的情况,例如: 服务器所在网络环境有防火墙限制 服务器没有公网 IP 或被限制访问外部 HTTP/HTTPS 资源 此时,可以利用 本地机器的外网网络,通过 SSH 反向端口转发 + HTTP 代理(tinyproxy),让远程服务器“借道”本地网络访问互联网。 二、原理整体思路如下: 本地机器运行 tinyproxy,监听 8888 端口,提供 HTTP 代理服务 SSH 反向隧道将远程服务器的 localhost:8888 映射到本地的 8888 端口 远程服务器设置 http_proxy / https_proxy 环境变量,让 HTTP 请求通过本地代理出网 三、安装与配置1. 本地机器安装 tinyproxy1sudo apt install tinyproxy 2. 启动 tinyproxy 服务1sudo systemctl start tinyproxy 默认会监听 8888 端口,可用以下命令验证: 1sudo lsof -i:8888 如果输出类似: 1...
【网络与代理】WSL2的Linux子系统网络设置
1. 启用镜像网络模式默认情况下,WSL2 的网络行为与传统虚拟机不同,其内部 IP 地址与宿主 Windows 不同,导致无法直接通过 IP 访问 WSL2 服务。 解决方法是开启镜像网络(mirrored networking),这样 Windows 和 WSL2 将共享同一个 IP 地址。 步骤:在 Windows 用户主目录(如 C:\Users\你的用户名)下新建或修改 .wslconfig 文件,添加如下配置: 1234567[wsl2]networkingMode=mirrored # 开启镜像网络dnsTunneling=true # 开启 DNS Tunneling,解决 DNS 问题autoProxy=true # 自动同步代理设置# firewall=true # 可选,启用 Windows 防火墙# [experimental]# hostAddressLoopback=true # 可选,允许 WSL2 主动访问宿主 编辑完成后,执行以下命令重启 WSL: 1ws...
【Linux】使用WSL给Windows安装Linux子系统
引言如果我在十几年前跟你说「Microsoft Love Linux」,你肯定觉得我鬼打墙了,Windows 和 Linux 可一直都是竞争对手。时任微软 CEO Steve Ballmer 还曾公开宣称 Linux 是「癌症」,毕竟 Linux 作为免费、开源的 Windows 替代品,抢走了微软不少的市场份额和营收。 后来,可能是为了与 VMware 等虚拟化厂商竞争,以及发展云计算平台的需要,微软在 Hyper-V 虚拟化平台上增加了对 Linux 的原生支持,让 Windows 也可以在 Hyper-V 虚拟机中运行 Linux 系统。但是,在 Hyper-V 中运行 Linux 虚拟机需要消耗大量的系统资源,而且宿主机(Host OS)与虚拟机(Guest OS)之间的交互也比较麻烦。 什么是 WSL 2?时间来到 2017 年,事情正在起变化🤣。微软正式发布了「适用于 Linux 的 Windows 子系统」,即人们熟知的 Windows Subsystem for Linux,简称 WSL。 在 2019 年,微软又基于 Hyper-V 架构的部分功能,推出了全...
【Agent】Agent的ReAct模式
引言在人工智能领域,AI Agent(智能体)是一种能够感知环境、做出决策并执行行动的系统。随着大语言模型(LLMs)的快速发展,AI Agent在自然语言处理、问答系统和交互式决策任务中的能力显著提升。然而,传统LLMs在推理(如链式思考提示,Chain-of-Thought, CoT)和行动(如调用外部工具或API)方面通常被分开研究,导致在处理需要两者结合的复杂任务时效率低下。ReAct(Reasoning and Acting,推理与行动)模式应运而生,通过将推理和行动交织在一起,使AI Agent能够更智能、更高效地完成任务。 本文将详细探讨ReAct模式的起源、其在AI Agent中的作用,以及基于ReAct的扩展和最新发展。我们将通过清晰的逻辑和示例,帮助读者理解这一技术如何推动AI Agent的进步。 ReAct模式的起源背景与动机ReAct模式最早由Shunyu Yao等人于2022年10月在论文《ReAct: Synergizing Reasoning and Acting in Language Models》中提出(论文链接)。该论文由谷歌研究团队和普林...
【开发工具】uv使用指南
引言 入职一个月,感受到科研与工程界的巨大差异,做科研时写的屎山⛰️代码主打一个能跑起来就行,写一大堆脚本,把算法实现了就行。 而到了工业界,新的集群、新的项目、新的模式,感觉自己还有很多需要学习! 今天就从现代的Python包管理器uv开始,规范自己的代码,树立软件工程的思想,重拾本科死去的前端、后端、数据库、计算机网络… 预备知识1. venv venv 是 Python 自带 的一个虚拟环境管理工具,用于创建一套独立的 Python 解释器及其包管理环境。 简单用法: python -m venv .venv会在当前目录下创建一个.venv的文件夹,里面包含里面包含独立的 Python 解释器和 pip 使用source .venv/bin/activate可以激活并使用当前环境 使用pip install在当前环境下安装包 2. pyproject.toml pyproject.toml 是 Python 官方推荐 的项目配置文件格式,它的作用是:统一管理项目的构建配置、依赖信息和元数据。 pyproject.toml中定义了项目名称、版本、作者、项目依赖(类似...
【旅行】2025毕业旅行之阿勒泰游记
【6.5-day1】西安-阿勒泰-布尔津县-禾木村 【住】禾木村老村【景点】金山市场、禾木村 早晨4点起床,6点抵达机场,从登上灰机🛫的那一刻起,旅行就已经开始了 前半程比较困倦,后半程到了新疆上空,见到了无比震撼的地貌:有一望无际的沙漠无人区、有沙漠中依河流而建的村庄、有一半沙漠一半农田的奇观…这些更加剧了我们对于神秘阿勒泰的向往 落地阿勒泰拿到车后,先去当地金山市场采购了卡式炉、蔬菜、鸡蛋、面条等 随后直奔禾木,因为阿禾公路没有开通(每年7月开通),只能途经布尔津。中间还发生了个小插曲,开了一百公里发现无人机落在了飞机上😭,因此只能折返回去机场再拿一趟😭😭 到达禾木已是晚上8点,但好在新疆天黑的晚,把车停在村外,进村又坐了一个小时大巴,后又转公交才到达,真不容易🥹 但当我们看到民宿小木屋和村中袅袅炊烟的那一刻,所有疲倦和劳顿都被治愈了😍 [{"url":"http://img.tianlejin.top/2025-06/20250605_103933.webp","alt":"","title":""},{"url":"http://img.tia...
【LLM】知识图谱技术简介
概念知识图谱(Knowledge Graph, KG):将知识进行结构化表示。具体来说,知识图谱是一种以实体(Entity)和关系(Relation)为核心的语义网络,通常以三元组 (head entity, relation, tail entity),即 ⟨h, r, t⟩ 的形式表示结构化知识。 核心组成: 实体(Entity):现实世界中具有唯一标识的对象,如人、地点、公司等。 关系(Relation):实体之间的语义连接,如“属于”、“位于”、“担任”。 属性(Attribute):实体的静态信息,如“出生日期”、“公司市值”。 本体(Ontology):定义实体类别、关系类型及其约束的元知识结构。 发展大模型时代之前:知识图谱是主力军在传统NLP时代(大约2010-2020),模型的表达能力有限,缺乏世界知识、语义理解和推理能力。此时知识图谱被广泛用于补足模型缺陷: 任务 知识图谱的作用 语义搜索 弥补关键词搜索的不足,实现“概念级”搜索 问答系统 结构化知识可支持精确匹配和逻辑推理 对话系统 用于保持上下文一致性,引导对话流程 推荐系统...
【LLM】RAG技术简介
背景大语言模型在训练阶段通常基于大规模语料(如 Common Crawl、Wikipedia、Books、Code等)进行离线学习,因此它们的知识存在以下问题: 静态性:一旦模型训练完毕,知识无法动态更新。 封闭性:模型只能生成其“知道”的内容,对未见信息无法准确回答。 幻觉性(Hallucination):即使模型生成看似合理的内容,也可能完全不符合真实事实。 为此,RAG(Retrieval-Augmented Generation,检索增强生成)框架被提出,用于将外部知识库引入到生成模型推理流程中,通过“检索 → 生成”的两阶段架构,让模型“读过资料再作答”。 RAG 的优势 ✅ 知识实时更新:只需更新知识库,无需重新训练大模型。 ✅ 降低幻觉风险:模型有“证据”可依,减少无中生有。 ✅ 适用于私有数据:支持接入企业文档、数据库、网页等作为知识来源。 ✅ 可控性强:检索模块可以人为控制,比如只让模型访问合规内容。 RAG 的工作流程一个典型的 RAG 系统包含两个核心模块: 检索器(Retriever):从外部知识库(Knowledge Base)中找出与问题最相关...



