- 博客(243)
- 收藏
- 关注
原创 向PyPI上传你的python代码
这篇文章详细介绍了如何将Python项目发布到PyPI(Python Package Index)的完整流程。首先需要注册PyPI账号并遵循官方准则,然后创建符合规范的项目结构。文章重点对比了四种主流构建后端工具(Setuptools、Flit、PDM、Hatchling)的特性、适用场景和优缺点,帮助开发者根据项目需求选择最合适的工具。文中提供了pyproject.toml文件的配置示例,并说明了其关键字段的作用。通过清晰的步骤指引和工具对比,帮助Python开发者顺利完成从本地开发到包发布的整个流程,让
2025-07-25 22:30:04
694
原创 The FastMCP Client
FastMCP 客户端是一个确定性、可控的 MCP 协议实现,专为结构化交互设计。核心功能包括自动推断传输机制(内存/HTTP/Stdio)、配置多服务器连接、管理工具/资源/提示操作等。通过 async with 管理连接生命周期,支持测试、开发及构建高级系统基础。最新版本 2.4.0 新增基于配置的多服务器客户端功能,允许通过字典定义多个服务器连接。客户端采用职责分离架构,区分协议操作与连接机制,并提供自动传输类型推断,建议测试时优先使用内存传输方式以提高效率。
2025-07-20 23:09:35
817
原创 langChainv0.3学习笔记(高级篇)
本文摘要介绍了LangChain工具的基本概念和使用方法。工具是供语言模型调用的实用函数/程序,用于执行特定任务或访问外部API。一个工具包含名称、描述、JSON Schema输入定义和执行函数四要素。文章详细说明了如何通过@tool装饰器、StructuredTool.from_function类方法和继承BaseTool三种方式创建工具,并提供了调用工具返回结果的两种方法(仅使用参数调用和直接使用ToolCall调用)。最佳实践建议使用支持工具调用的模型,设计简洁明了的工具名称与描述,定义准确的JSON
2025-06-22 20:37:43
735
原创 langChainv0.3学习笔记(中级篇)
本文介绍了LangChain中的检索器组件及其应用。检索器是一个接口,用于根据非结构化查询返回相关文档,支持从向量存储等多种方式创建。文章展示了如何使用FAISS和Chroma向量存储构建检索器,并通过相似性搜索等功能进行文档查询。此外,还介绍了MultiQueryRetriever这一高级功能,它利用大语言模型生成多个查询视角来优化检索结果。文中提供了具体代码示例,包括处理中文文本和使用spaCy进行词向量化的方法,帮助开发者快速实现基于LangChain的检索功能。
2025-06-15 21:26:37
790
原创 LLMOps——Langfuse
Langfuse是一个开源的LLM工程平台,提供调试、监控和评估全流程支持。其核心特性包括:开源自托管、调用链追踪、性能指标监控、提示版本管理和多框架集成。相比LangSmith,Langfuse具有完全开源、支持自托管、成本更低和集成更广泛等优势。Langfuse采用模块化架构,包含Web应用、Worker异步处理、PostgreSQL/ClickHouse存储等组件,最新v3版本提升了性能和可靠性。使用时可快速集成到LangChain等框架,通过回调系统实现调用追踪。
2025-06-14 17:07:01
967
原创 LangGraph framework(2)
子图是LangGraph中实现组件封装的强大工具,适用于构建多代理系统或模块化复杂流程。子图与父图的通信方式分为两种:1)共享状态模式时可直接嵌套子图节点,状态键自动传递;2)不同状态模式需通过转换函数进行状态适配。示例展示了如何定义子图、处理状态继承与转换,以及如何通过共享的"messages"键实现多代理协作。这种设计模式支持团队独立开发不同组件,同时保持系统的整体协调性。
2025-06-02 21:39:35
873
原创 LangGraph 快速入门
LangGraph简介 LangGraph是由LangChain团队开发的开源框架,专为构建具有状态管理和多智能体协作能力的应用而设计。核心功能包括: 图结构工作流:通过StateGraph组织任务流程,包含节点(Node)和边(Edge)定义执行逻辑 持久化状态管理:支持长时间运行任务的恢复和人工干预 开发工具集成:与LangSmith配合提供可视化调试功能 主要优势: 处理复杂多轮对话 支持多智能体协作 实现生产级部署 应用场景: 客户服务自动化 智能推荐系统 文档处理流程 安装简单: pip inst
2025-05-31 14:18:59
782
原创 AnyIO&asyncio 现代化方法
Python异步编程演进 Python异步编程经历了显著发展:从早期基于生成器的协程,到3.5版本引入async/await语法,再到如今成熟的asyncio生态。随着Python 3.12引入eager_task_factory等新特性,异步编程性能进一步提升。同时,第三方库如Trio(强调结构化并发)和AnyIO(兼容多框架)丰富了开发选择。现代Python异步编程已形成标准库与第三方库互补的完整生态,开发者可根据项目需求灵活选择方案。协程机制也从生成器演进为语言级特性,使异步代码更清晰高效。
2025-05-25 16:15:04
1175
原创 学习!FastAPI
FastAPI 是一个现代、高性能的 Python Web 框架,专注于构建 API。它基于 Starlette 和 Pydantic,支持异步编程,提供自动文档生成、数据验证、类型提示和安全认证等功能。与 Django 和 Flask 相比,FastAPI 在性能、异步支持和开发效率上具有显著优势,尤其适合高并发场景。FastAPI 的部署通常使用 Uvicorn 或 Gunicorn + UvicornWorker,性能表现优于 Flask。随着 AI 和 Python 生态的发展,FastAPI 在机
2025-05-18 21:45:30
1422
原创 vllm笔记
vLLM 是一款由加州大学伯克利分校团队开发的大语言模型推理加速框架,通过创新的 PagedAttention 算法有效解决了大语言模型推理中的内存管理瓶颈问题。PagedAttention 借鉴操作系统的分页机制,将键值(KV)缓存划分为固定大小的块,显著减少内存碎片化,提升内存利用率。vLLM 还通过 KV 缓存共享机制和细粒度批处理技术,进一步优化了并行采样、束搜索和批处理请求中的内存使用效率。与 Hugging Face Transformers 相比,vLLM 的吞吐量提升了 24 倍,且无需修改
2025-05-10 21:58:32
1403
原创 高效Python开发:uv包管理器全面解析
uv 是由 Astral 公司开发的 Rust 编写的快速 Python 包管理器,旨在取代 pip 和其他相关工具,提供端到端的 Python 项目管理解决方案。其主要功能包括包管理、虚拟环境管理、Python 版本控制、CLI 工具管理以及单文件脚本支持。uv 具有高性能,依赖解析和安装速度显著优于传统工具,且支持跨平台操作(macOS、Linux、Windows)。它兼容 pip 接口,同时提供类似 Cargo 的现代化工作流,适合从初学者到专家的各类开发者。安装方式灵活,支持通过独立安装器或 PyP
2025-05-10 17:42:20
2158
原创 Model Context Protocol (MCP)笔记
Model Context Protocol(MCP,模型上下文协议)是由 Anthropic 于 2024 年 11 月推出的一项开放标准,旨在解决大型语言模型(LLMs)与外部工具和数据源集成的复杂性问题。在 MCP 出现之前,开发者通常需要为每个数据源或工具编写定制的连接器,导致集成工作繁琐且难以维护。维基百科,自由的百科全书WikipediaMCP 的核心理念是提供一个统一的通信协议,使得 LLMs 能够通过标准化的方式访问外部资源、调用工具函数,并利用预设提示模板来增强其功能。
2025-05-05 20:27:01
1138
原创 SSE协议
ChatGPT 是一个基于深度学习的大型语言模型,处理自然语言需要大量的计算资源和时间,响应速度肯定比普通的读数据库要慢的多,普通 http 接口等待时间过长,显然并不合适。在使用 ChatGPT 时,发现输入 prompt 后,页面是逐步给出回复的,起初以为使用了 WebSckets 持久化连接协议,查看其网络请求,发现这个接口的通信方式并非传统的 http 接口或者 WebSockets,而是基于 EventStream 的事件流,像打字机一样,一段一段的返回答案。该属性只读,可以取以下值。
2025-04-26 17:43:33
1060
原创 数据过滤器
通过数据签名,我们可以将奇形怪状的数据转换为长度固定的格式!而数据处理常用到的一些概念有:一种将任意长度输入映射为固定长度输出的函数,通常用于快速查找、去重、数据校验等。特点:用途:示例算法:常见哈希算法及对比:用法场景:下面给出摘录出来的牛逼的工业级 Hash 算法(适合高性能/大规模系统):🔸 MurmurHash3🔸 Blake2b🔸 CityHash / FarmHash / HighwayHash 是一种高性能、非加密型哈希算法,由 Yann Collet(@Cyan4973)在 2012
2025-04-26 15:58:27
1212
原创 CSDN markdown编辑器README文档
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2025-04-16 19:47:00
310
原创 如何实现一个DNS
域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网顶级域名的字符。使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。
2025-03-19 23:01:15
1190
原创 langChainv0.3学习笔记(初级篇)
LangChain自0.1版本发布以来,已经历了显著的进化,特别是向AI时代的适应性提升。在0.1版本中,LangChain主要聚焦于提供基本的链式操作和工具集成,帮助开发者构建简单的语言模型应用。该版本适用于处理简单任务,但在应对更复杂的AI需求时显得有些局限。相比之下,LangChain 0.3版本展现了更为全面和强大的功能,进一步优化了其模块化架构,增强了与现代AI工具和框架的兼容性。这一版本加入了更多针对AI时代的特性,包括增强的多模态支持、自动化的推理链处理、以及更强的上下文管理能力。LangCh
2025-03-09 20:50:18
1277
原创 Ollama学习参考笔记
Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。
2025-02-11 12:40:09
880
原创 transformers学习笔记——初级篇
Transformers 是由 Hugging Face 开发的一个 NLP 包,支持加载目前绝大部分的预训练模型。随着 BERT、GPT 等大规模语言模型的兴起,越来越多的公司和研究者采用 Transformers 库来构建 NLP 应用。我们可以使用 Transformers 库提供的 API 轻松下载和训练最先进的预训练模型。使用预训练模型可以降低计算成本,以及节省从头开始训练模型的时间。文本:文本分类、信息抽取、问答系统、文本摘要、机器翻译和文本生成。图像:图像分类、目标检测和图像分割。
2025-02-09 20:03:38
1049
原创 保姆级AI开发环境搭建
随着 DeepSeek 模型的发布,它在全球范围内引起了极大的关注。为了让更多开发者能够迅速进入AI领域并参与到这一革新性技术的应用中,本文将提供一份详尽的“保姆级”开发环境搭建指南。针对 Windows 和 Linux 两大操作系统,文章将逐步介绍如何搭建适用于 DeepSeek 模型的 AI 开发环境。内容涵盖了从基础工具安装到高级配置,包括 Python、PyTorch、TensorFlow 等 AI 框架的安装方法,CUDA 与 GPU 配置步骤,以及如何通过优化开发工具提高开发效率。
2025-02-08 23:33:06
1550
原创 linux下的NFS和FTP部署
是一个用于设置/var/ftp目录及其内容的所有者和所属组的命令,以确保FTP服务能够正确访问和操作这些目录。通过查看和/etc/group文件,你可以获取系统中所有用户和组的详细信息。如果只需要用户或组名称,可以使用cut命令进行筛选。使用id和groups命令可以查看当前用户的详细信息及其所属的组。这行记录表示ftp用户名ftp用户ID(UID)14组ID(GID)50,通常与组名ftp关联描述FTPUser主目录/var/ftp登录Shell。
2025-01-17 22:56:29
1639
原创 HTTP2/3强势来袭
本文详细分析了HTTP协议的演进历程,逐步阐述了HTTP/1、HTTP/1.1、HTTP/2和HTTP/3的主要特性、优势以及它们在实际应用中的支持情况。通过对比各个版本的设计思想和技术实现,本文帮助读者更好地理解不同版本协议之间的差异,并为实际开发中如何选择适合的HTTP协议版本提供指导。首先,文章介绍了HTTP/1.0和HTTP/1.1的基础内容。HTTP/1.0的简单设计和无状态性使其成为早期网络通信的主力协议,而HTTP/1.1则引入了持久连接、管道化请求等重要特性,从而在性能和扩展性上有所提升。
2025-01-05 22:13:00
1321
原创 pytorch学习笔记《待续》
人工神经网络靠的是正向和反向传播来更新神经元,从而形成一个好的神经系统,本质上,这是一个能让计算机处理和优化的数学模型。而生物神经网络是通过刺激, 产生新的联结, 让信号能够通过新的联结传递而形成反馈。虽然现在的计算机技术越来越高超,不过我们身体里的神经系统经过了数千万年的进化,还是独一无二的, 迄今为止,再复杂,再庞大的人工神经网络系统也不能替代我们的脑袋。——引子。
2024-12-18 23:26:36
1016
原创 多因子认证 (Multi-factor authentication, MFA)
多因子认证(Multi-Factor Authentication, MFA)是一种安全措施,要求用户在登录时提供多个验证因素来确认其身份,从而增强账户的安全性。知识因素(Something you know):例如密码或PIN码。持有因素(Something you have):例如手机、硬件令牌、智能卡等。固有因素(Something you are):例如指纹、面部识别、虹膜扫描等生物特征。在进行MFA时,用户必须至少提供两种或更多的验证因素,才能成功访问账户或系统。
2024-12-18 23:24:03
4668
原创 golang操作sqlite3加速本地结构化数据查询
在没有网络支持且仅能使用 Go 语言包的开发环境中,如果需要频繁查询一个较大的 CSV 文件,有几种优化方案可以考虑。传统的遍历方法使用 Go 的csv库,针对每次查询都遍历整个 CSV 文件。这种方法简单易懂,但性能较差,尤其在数据量较大时,每次查询都需要重新读取整个文件,效率低下。将数据加载到内存(Map 存储)通过一次性读取 CSV 文件并将其存储在内存中的map结构中,可以大幅提高查询性能。利用map提供的 O(1) 查找时间,查询操作会变得非常迅速。
2024-12-15 23:33:27
2102
4
原创 python代码加密执行(如何保护你的Python源码)
在软件开发中,代码安全是一个重要的课题。Python 代码由于以源码形式直接部署到服务器并通过解释器执行,容易暴露其中的敏感信息,如 API 密钥、加密盐等。为了解决这一问题,开发者需要采取有效的措施对代码进行加密或保护。本文将详细探讨几种常见的方案,包括编译为可执行文件、生成字节码文件、代码混淆以及基于动态解密的自定义解释器等。这些方法各有特点,可根据实际需求选择适合的方案。第一种方法是编译为可执行文件。
2024-11-16 20:48:15
2383
原创 详解python那些强大的NLP库
参考spaCy官方文档的训练自定义模型指南。开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。虽然 jieba 有新词识别能力,但是自行添加新词可以保证更高的正确率。用法:为文件类对象或自定义词典的路径词典格式和dict.txt一样,一个词占一行;词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。词频省略时使用自动计算的能保证分出该词的词频。云计算 5 李小福 2 nr。
2024-11-03 18:49:39
1274
原创 读懂RAG理论到实践(待续)
你可以根据具体的任务场景自定义停用词列表,以满足不同领域的需求。例如,在某些场景下,特定的高频词(如 “data”, “model”)可能需要被去除。
2024-10-10 00:07:24
1140
原创 LRU go cache的实现
一致性哈希算法是Cache 从单节点走向分布式节点的一个重要的环节。对于分布式缓存来说,当一个节点接收到请求,如果该节点并没有存储缓存值,那么它面临的难题是,从谁那获取数据?自己,还是节点1, 2, 3, 4…。假设包括自己在内一共有 10 个节点,当一个节点接收到请求时,随机选择一个节点,由该节点从数据源获取数据。假设第一次随机选取了节点 1 ,节点 1 从数据源获取到数据的同时缓存该数据;
2024-09-08 20:05:53
1580
原创 Windows配置开机直达桌面并跳过锁屏登录界面&在 Windows 10 中添加在启动时自动运行的应用
scsystemctl启动时机: 系统服务在系统启动时或更早阶段启动,而开机自启动服务则在用户登录后启动。运行环境: 系统服务通常在系统级别运行,不依赖于用户登录,开机自启动服务则依赖于用户会话,并在用户的权限下运行。管理方式: 系统服务由系统服务管理工具(如systemctl)管理,而开机自启动服务通常由用户级工具或桌面环境来管理。用途: 系统服务适用于提供系统级服务(如网络、数据库),而开机自启动服务通常用于为用户提供应用程序或环境初始化。
2024-08-12 23:59:12
6130
原创 golang 解压带密码的zip包
时候(即二进制:00000000 00000100),表示有数据描述部分,本地文件头中的 CRC-32、压缩大小和未压缩大小字段都被设置为0(虽然zip规范是这么定义,但是发现有些压缩包即使声明有数据描述部分,但是本地文件头的CRC-32、压缩大小和未压缩大小依然还是设置为真实值) , 正确的值被放在紧跟在压缩数据之后的数据描述部分,apk的通用标志位默认传0即可,也有传2048、2056,目前第15位是PKWARE保留位。通过ZIP文件的结构我们发现,ZIP文件的中央目录区保存了所有的文件信息。
2024-07-20 15:16:46
1398
3
原创 还在为临时构造测试数据苦恼吗——快来看看faker库吧
Faker库主要用来创建非真实数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。
2024-07-05 21:48:55
526
原创 C++语言基础光速入门笔记
C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”。从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编译。可以明确地说:学了C语言就相当于学了 C++ 的一半,从C语言转向 C++ 时,不需要再从头开始,接着C语言往下学就可以。很难说 C++ 拥有独立的编译器,例如 Windows 下的微软编译器(cl.exe)、Linux 下的 GCC 编译器、Mac 下的 Cla
2024-05-19 23:42:43
1237
原创 langChain学习笔记v0.1版本(建议转v0.3)
举一个小例子,我以前特别喜欢玩一款叫作《梦幻西游》的游戏。弃坑之后,游戏方的客服经理总给我打电话,说 “Y哥能不能回来接着玩耍(充值)呀,帮派的小伙伴都十分想念你……”。这时候我就想:他们为什么会给我打电话呢?这款游戏每天都有用户流失,不可能给每个用户都打电话吧,那么肯定是挑重点用户来沟通了。其后台肯定有玩家的各种数据,例如游戏时长、充值金额、战斗力等,通过这些数据就可以建立一个模型, 用来预测哪些用户最有可能返回来接着玩(充钱)!
2024-02-27 23:46:16
2214
原创 AI入门系列——数据分析
人工智能(Artificial Intelligence,AI)之研究目的是通过探索智慧的实质,扩展人类智能——促使智能主体会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、专家系统等)、会学习(知识表示,机器学习等)、会行动(机器人、自动驾驶汽车等)。一个经典的AI定义是:“ 智能主体可以理解数据及从中学习,并利用知识实现特定目标和任务的能力。”从技术层面来看,现在所说的人工智能技术基本上就是机器学习方面的(也就是,机器学习技术是入门AI的核心技术
2024-02-27 23:00:07
3680
原创 光速入门spark(待续)
官网的定义是:Apache Spark™是一个用于在单节点机器或集群上执行数据工程、数据科学和机器学习的多语言引擎。Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark 最早源于一篇论文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing,该论文是由加州大学柏克莱分校的Matei Zaharia 等人发表的。
2024-02-27 22:59:26
1021
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人