<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xnuscd的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xnuscd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xnuscd]]></copyright><item><title><![CDATA[vLLM学习1]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145817758</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145817758</guid><author>xnuscd</author><pubDate>Sun, 23 Feb 2025 23:20:28 +0800</pubDate><description><![CDATA[只要理解了。]]></description><category></category></item><item><title><![CDATA[deepseek蒸馏]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145743795</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145743795</guid><author>xnuscd</author><pubDate>Thu, 20 Feb 2025 08:21:43 +0800</pubDate><description><![CDATA[这个 Notebook 主要完成： ✅。]]></description><category></category></item><item><title><![CDATA[Unsloth微调]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145716531</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145716531</guid><author>xnuscd</author><pubDate>Tue, 18 Feb 2025 22:39:57 +0800</pubDate><description><![CDATA[构造输入：将系统提示、用户指令和期望回答拼接成一个完整文本，并进行 tokenization，得到input_ids和。构造目标：设置labels，确保模型只在回答部分计算损失（对前面指令部分用 -100 忽略）。数据送入模型训练：通过前向传播、损失计算和反向传播，微调模型参数，使模型能够根据给定的指令生成正确的回答。在这个过程中，input_ids提供了输入的数值表示，告诉模型哪些 token 需要关注，而labels则为训练提供了目标监督信号。]]></description><category></category></item><item><title><![CDATA[PPO学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145702986</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145702986</guid><author>xnuscd</author><pubDate>Tue, 18 Feb 2025 12:47:41 +0800</pubDate><description><![CDATA[在 PPO（近端策略优化）微调大模型的流程中，通常会涉及以下四个组件，每个组件都有其特定的角色：通过这四个模型的协同工作，PPO 能够在微调过程中实现既不偏离预训练知识，又能适应特定任务要求的目标，从而提高大模型的实用性和安全性。PPO的核心1.收集数据→2.评估动作好坏→3.安装的微调策略→4.重复目标：训练一个Policy神经网络，在所有状态S下，给出相应的Action，得到Return的期望最大。这个公式推导展示了**策略梯度（Policy Gradient）**的核心思想，即如何通过采样轨迹（Tra]]></description><category></category></item><item><title><![CDATA[DeepSeek学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145696015</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145696015</guid><author>xnuscd</author><pubDate>Tue, 18 Feb 2025 07:58:14 +0800</pubDate><description><![CDATA[奖励函数部分：代码中实现了三个奖励函数，用来衡量生成回答的正确性和格式是否满足要求。这部分代码调用了 Python 内置的re模块和标准数据结构操作。强化学习框架：虽然文件中没有展示完整的 RL 训练循环，但奖励函数的设计正是为 RL 训练服务的。你可以将这些奖励函数嵌入到如 PPO 这类 RL 算法的训练循环中。常用的库包括 Hugging Face 的 Transformers（生成回答）和 TRL（进行策略更新）。参考实现。]]></description><category></category></item><item><title><![CDATA[LoRA微调学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145670849</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145670849</guid><author>xnuscd</author><pubDate>Sun, 16 Feb 2025 21:44:56 +0800</pubDate><description><![CDATA[构造输入：将系统提示、用户指令和期望回答拼接成一个完整文本，并进行 tokenization，得到input_ids和。构造目标：设置labels，确保模型只在回答部分计算损失（对前面指令部分用 -100 忽略）。数据送入模型训练：通过前向传播、损失计算和反向传播，微调模型参数，使模型能够根据给定的指令生成正确的回答。在这个过程中，input_ids提供了输入的数值表示，告诉模型哪些 token 需要关注，而labels则为训练提供了目标监督信号。]]></description><category></category></item><item><title><![CDATA[PPO学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145670834</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145670834</guid><author>xnuscd</author><pubDate>Sun, 16 Feb 2025 21:44:15 +0800</pubDate><description><![CDATA[基准模型：保持不变，作为原始语言能力的参考。训练模型：根据 PPO 算法被更新，目标是生成高质量且符合奖励标准的文本。奖励模型：为生成的文本提供即时反馈（打分），指导训练模型的更新。状态价值模型：评估当前状态的未来奖励，帮助计算优势，进而指导更稳定、更有效的策略更新。通过这四个模型的协同工作，PPO 能够在微调过程中实现既不偏离预训练知识，又能适应特定任务要求的目标，从而提高大模型的实用性和安全性。PPO的核心1.收集数据→2.评估动作好坏→3.安装的微调策略→4.重复。]]></description><category></category></item><item><title><![CDATA[pyneo学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145506180</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145506180</guid><author>xnuscd</author><pubDate>Sat, 08 Feb 2025 08:00:51 +0800</pubDate><description><![CDATA[根据现有源码，py2neo 的 ServiceProfile 和 Connector 并没有对timeout参数进行处理，因此在当前版本中直接传入timeout参数并不会生效。如果你需要设置连接或查询超时，建议使用官方 neo4j 驱动，或者在应用层对操作做超时控制。同时，你也可以关注或参与 py2neo 项目的开发，看看未来版本是否会支持更多的超时设置。py2neo 没有内置客户端超时机制在我们使用的 run 方法以及其初始化代码中，并未发现任何对超时（timeout）参数的支持或超时控制逻辑。]]></description><category></category></item><item><title><![CDATA[pyneo学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/145492874</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/145492874</guid><author>xnuscd</author><pubDate>Fri, 07 Feb 2025 13:06:14 +0800</pubDate><description><![CDATA[通过观察输出是否有连接失败或超时信息，可以判断是否存在并发连接数的限制问题。]]></description><category></category></item><item><title><![CDATA[Redis练习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144976734</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144976734</guid><author>xnuscd</author><pubDate>Tue, 07 Jan 2025 08:01:33 +0800</pubDate><description><![CDATA[函数类型：你的代码使用异步函数 (async def)，助手的代码使用同步函数 (def对于同步的库，建议使用同步函数。参数传递方式：你的代码通过单独的参数传递，助手的代码使用 Pydantic 模型进行封装，提升了数据验证和代码结构。类型注解：你的代码缺乏类型注解，助手的代码为依赖注入的参数添加了类型注解，增强了代码的可读性和可维护性。附加改进：助手的代码包含错误处理、日志记录和更完善的缓存逻辑，提升了代码的健壮性和可维护性。]]></description><category></category></item><item><title><![CDATA[SQLAlchemy]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144954840</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144954840</guid><author>xnuscd</author><pubDate>Mon, 06 Jan 2025 07:55:28 +0800</pubDate><description><![CDATA[SQLAlchemy是一个功能强大的 Python SQL 工具包和对象关系映射（ORM）框架，旨在提供高效、灵活且便于扩展的数据库交互解决方案。它支持多种数据库，并通过其核心（Core）和 ORM 两个层次为开发者提供不同的抽象级别。模型类代表数据库中的表，每个实例代表表中的一行。# 如果有外键关系，可以定义 relationshipAlembic是 SQLAlchemy 的官方数据库迁移工具，允许你轻松地管理数据库模式的变更。它支持生成和应用迁移脚本，确保数据库结构的演进与代码同步。]]></description><category></category></item><item><title><![CDATA[Git学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144954837</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144954837</guid><author>xnuscd</author><pubDate>Mon, 06 Jan 2025 07:54:25 +0800</pubDate><description><![CDATA[Already up to date.” 但本地代码不是最新。时，如果同一行或同一文件的修改无法自动合并，就会出现。目录下创建或修改对应脚本文件（如。若想保持提交历史更干净，可以采用。），设置执行权限后即可生效。文件中修改相关配置。]]></description><category></category></item><item><title><![CDATA[manager3]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144921895</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144921895</guid><author>xnuscd</author><pubDate>Sat, 04 Jan 2025 07:45:40 +0800</pubDate><description><![CDATA[明确职责：不同命名模式（如Manager、Service、DAO等）通常反映了类或模块的职责。确保每个类或模块有单一的职责，符合单一职责原则（SRP）。遵循一致的命名约定：在整个项目中保持命名的一致性，这有助于团队成员快速理解代码结构和功能。使用描述性命名：类名、方法名和变量名应清晰描述其用途，避免使用过于简短或模糊的名称。理解设计模式：许多命名模式与设计模式相关联，如MVC（模型-视图-控制器）、服务层模式、数据访问层等。理解这些设计模式有助于更好地应用和扩展命名模式。参考成熟项目。]]></description><category></category></item><item><title><![CDATA[后端项目架构]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144884421</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144884421</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 13:29:53 +0800</pubDate><description><![CDATA[配置文件：管理项目的配置和依赖。源代码：包含业务逻辑、API 接口、数据库模型等。测试代码：确保代码质量和功能正确性。文档：提供项目的使用说明、开发指南等。工具和脚本：用于自动化任务、部署脚本等。在models/目录中定义数据库模型，确保模型与数据库表的映射清晰。设计一个良好的 Python 后端工程结构需要综合考虑项目的规模、复杂性、团队协作以及未来的可扩展性。分层架构：将项目分为不同的层次，如 API 层、业务逻辑层、数据访问层，确保职责分离。模块化。]]></description><category></category></item><item><title><![CDATA[Graph学习]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144884244</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144884244</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 13:21:14 +0800</pubDate><description><![CDATA[common
node.py
这段代码使用了 Python 的 enum 模块和 pydantic 库来定义一组用于描述节点（可能用于工作流、图形化编程或其他类似系统）的数据模型。下面我将逐步解释代码的各个部分及其作用。
导入模块
from enum import Enum
from typing import Optional, Any, List

from pydantic import BaseModel, Field


enum.Enum: 用于定义枚举类型，方便管理一组固定的常量值。
typi]]></description><category></category></item><item><title><![CDATA[FastAPI依赖注入]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144875351</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144875351</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 07:33:37 +0800</pubDate><description><![CDATA[它通过将依赖项（如数据库连接、配置、认证等）注入到需要它们的组件中，而不是组件自行创建或管理这些依赖项，从而提高代码的模块化、可测试性和可维护性。为了帮助您更好地理解和实践，以下是一个完整的示例项目，展示了如何使用 FastAPI、Celery 和 Redis 实现异步任务处理和回调机制。通过系统性的学习和持续的实践，您将能够熟练掌握 FastAPI 的依赖注入和回调机制，构建高效、可靠且可维护的后端服务。以下是一个完整的示例项目，结合依赖注入和回调机制，展示如何构建一个功能全面的 FastAPI 应用。]]></description><category></category></item><item><title><![CDATA[网络概念及格式]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144875350</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144875350</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 07:33:06 +0800</pubDate><description><![CDATA[它是 Web 的基础，用于在客户端（通常是浏览器）和服务器之间传输超文本数据，如 HTML、CSS、JavaScript 以及其他资源。它位于 OSI 模型的第四层，负责在网络中的两台计算机之间建立连接，并确保数据的可靠传输。是一种存储机制，用于保存频繁访问的数据，以减少数据检索的延迟和服务器负载。是一个基于 OAuth 2.0 的身份认证协议，添加了身份验证层，允许客户端验证用户的身份并获取基本的用户信息。是浏览器的安全机制，限制一个源（协议、域名、端口）加载的文档或脚本如何与另一个源的资源进行交互。]]></description><category></category></item><item><title><![CDATA[python回调]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144875344</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144875344</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 07:32:04 +0800</pubDate><description><![CDATA[在中定义各种事件的数据类。这些类使用模块，便于数据的存储和传递。@dataclass@dataclass@dataclassinput: str@dataclassword: str@dataclass@dataclass@dataclass@dataclass@dataclass@dataclassinput: str在中定义一个抽象的回调基类，包含多个回调方法，每个方法对应一个特定的事件。]]></description><category></category></item><item><title><![CDATA[python异步]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144875342</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144875342</guid><author>xnuscd</author><pubDate>Thu, 02 Jan 2025 07:31:27 +0800</pubDate><description><![CDATA[异步编程是一种编程范式，允许程序在等待某些操作（如 I/O 操作、网络请求）完成时，不阻塞整个程序的执行流程。通过异步编程，程序可以在等待任务完成的同时，继续执行其他任务，从而提高资源利用率和响应性。return self # 返回资源或相关对象。]]></description><category></category></item><item><title><![CDATA[Chat API]]></title><link>https://blog.youkuaiyun.com/xnuscd/article/details/144838953</link><guid>https://blog.youkuaiyun.com/xnuscd/article/details/144838953</guid><author>xnuscd</author><pubDate>Tue, 31 Dec 2024 07:52:27 +0800</pubDate><description><![CDATA[messages 为openai 格式。目前不支持openai的复杂多轮，先临时处理else:@router . post('/chat/completions' , response_class = StreamingResponse) async def chat_completions(request : APIChatCompletion , Authorize : AuthJWT = Depends()) : # messages 为openai 格式。]]></description><category></category></item></channel></rss>