- 博客(1532)
- 收藏
- 关注
原创 什么是 JSON Schema:描述和验证 JSON 数据结构与内容的标准规范
JSON Schema 是一种用于描述和验证 JSON 数据结构与内容的标准规范,当前主要基于 Draft 2020-12(最新版本)。它以 JSON 格式定义数据的结构、类型、约束和规则,类似于数据库中的表结构或编程语言中的类型系统。JSON Schema 的核心作用是:描述:定义 JSON 数据的预期结构(如字段类型、必需字段、值范围)。验证:检查 JSON 数据是否符合定义的 schema,确保数据完整性和正确性。文档化:作为数据格式的文档,方便开发者和系统理解 API 或配置文件。
2025-06-04 12:18:44
1641
原创 什么是 JSON Patch:标准化的 JSON 文档更新机制
JSON Patch 是一种高效、标准化的 JSON 文档更新机制,通过 JSON Pointer 和操作集实现精确修改。其主要操作(add、remove、replace、move、copy、test)覆盖了常见的 JSON 修改需求,广泛应用于 API、配置文件管理和协作开发。JSON Patch 可优化配置更新和 API 测试流程,提升开发效率。
2025-06-04 12:10:02
1186
原创 【LangChain】langchain_community.vectorstores.docarray.DocArrayInMemorySearch 类:基于 DocArray 库实现的内存向量存储
langchain_community.vectorstores.docarray.in_memory.DocArrayInMemorySearch(以下简称 DocArrayInMemorySearch)是 LangChain 框架中基于 DocArray 库实现的内存向量存储类,专为小型数据集和快速原型开发设计。它支持将文本文档转换为嵌入向量并存储在内存中,提供高效的相似性搜索功能,广泛应用于语义搜索、检索增强生成(RAG)和对话系统等场景。本文将从定义、核心功能、创建方法、应用场景、示例代码和注意事项
2025-06-02 18:06:06
658
原创 【Python】DocArray 库:表示、传输、存储和搜索多模态数据(如文本、图像、音频、视频、3D 网格等)
DocArray 是一个 Python 库,专注于表示、传输、存储和搜索多模态数据(如文本、图像、音频、视频、3D 网格等),特别适用于机器学习(ML)和神经搜索(Neural Search)应用。它提供了一种灵活、Pythonic 的数据结构,基于 Pydantic,支持与 NumPy、PyTorch、TensorFlow 和 FastAPI 等生态系统的无缝集成。DocArray 自2020年起由 Jina AI 开发,2022 年开源并加入 LF AI & Data Foundation,采用 Apa
2025-06-02 17:26:49
549
原创 【Python】beautifulsoup4 库:解析 HTML 和 XML 文档
Beautiful Soup(beautifulsoup4)是 Python 中一个流行的第三方库,用于解析 HTML 和 XML 文档,提取数据或修改文档结构。它以简单、直观的 API 提供了强大的网页抓取功能,广泛应用于网络爬虫、数据提取和自动化测试等领域。Beautiful Soup 特别适合处理结构不规则或错误的 HTML 文档,配合 urllib 或 requests 等库使用效果更佳。
2025-06-02 12:41:17
1112
原创 【Pydantic】pydantic.Field() 函数:字段添加元数据和验证约束
在 Python 的 Pydantic 库中,Field 是一个用于为 Pydantic 模型中的字段添加元数据和验证约束的关键工具。它允许开发者为 BaseModel 类的字段定义额外的配置,例如默认值、别名、验证规则和文档说明。Field 提供了细粒度的控制,增强了 Pydantic 的声明式数据验证功能,广泛用于 API 开发(如 FastAPI)、数据管道和配置文件处理等场景。
2025-06-02 12:33:31
808
原创 【Pydantic】pydantic.BaseModel 类:定义数据模型的基类
BaseModel 是 Pydantic 的核心类,提供了声明式的数据模型定义方式,支持类型验证、数据解析、序列化(如 JSON)以及错误处理。它是构建 Pydantic 模型的基础,适用于 API 开发(如 FastAPI)、配置文件解析、数据管道等场景。
2025-06-01 22:35:19
606
原创 【asyncio】asyncio.gather() 函数:并发运行多个异步任务(协程)并收集它们的返回值
在 Python 中,asyncio.gather() 是 asyncio 模块提供的一个关键函数,用于并发运行多个异步任务(协程)并收集它们的返回值。它是异步编程中常用的工具,适合需要同时执行多个独立 I/O 操作(如网络请求、文件读写)的场景。asyncio.gather() 提高了代码效率,同时保持异步事件循环的非阻塞特性。通过 await asyncio.gather(*coroutines) 运行任务
2025-06-01 17:14:36
1042
原创 【asyncio】asyncio.Semaphore :限制同时运行的异步任务数量
在 Python 中,asyncio.Semaphore 是 asyncio 模块提供的一个异步并发控制工具,用于限制同时运行的异步任务数量。它是信号量(Semaphore)的异步版本,适合在异步编程中管理资源访问或限制并发,例如控制对共享资源的访问(如网络请求、数据库连接)或限制协程的并行执行数量。通过 async with 或 acquire/release 管理资源。
2025-06-01 16:37:14
825
原创 【Python】urllib 模块:处理网络请求和 URL 操作
Python 的 urllib 模块是处理 URL 和网络请求的标准库工具,包含四个子模块:urllib.request:发送 HTTP/HTTPS 请求,下载文件。urllib.error:处理请求异常。urllib.parse:解析和编码 URL。urllib.robotparser:解析 robots.txt。其核心特点包括:简单易用:适合轻量级网络任务。应用场景:网页爬取、API 调用、文件下载、爬虫规则检查。最佳实践:异常处理、上下文管理器、设置请求头、参数化 URL。虽然 urllib 功能强大
2025-05-31 19:57:55
693
原创 【Python】tavily 库: 与 Tavily 搜索 API 交互的工具
tavily 库是 Python 中与 Tavily 搜索 API 交互的强大工具,专为 AI 代理和 LLM 优化,提供搜索、问答、内容提取、爬取和站点映射等功能。其同步和异步客户端支持灵活的集成,适用于聊天机器人、Web 爬虫、RAG 应用和自动化研究。研究表明,tavily 的响应速度和准确性优于传统爬虫方案。本文是对 tavily 库的详细介绍,内容以中文输出,结构清晰有序,涵盖定义、安装、核心功能、使用方法、性能、适用场景、注意事项及最佳实践
2025-05-30 18:19:16
658
原创 【Python】海象运算符(Walrus Operator) := 同时进行赋值和返回值
在 Python 中,海象运算符(Walrus Operator) 是 Python 3.8(PEP 572)引入的一种新语法,写作 :=。它的正式名称是“赋值表达式(Assignment Expression)”,因其形似海象的“獠牙”(冒号和等号)而得名“海象运算符”。海象运算符允许在表达式中同时进行赋值和返回值,从而简化代码,减少重复计算,尤其在循环、条件语句和列表推导式等场景中非常有用。
2025-05-30 14:37:20
813
原创 【Node.js】如何使用 Node.js
使用 Node.js 主要涉及理解其核心概念、运行 JavaScript 代码、管理依赖、构建应用以及利用其生态系统。本文是详细指南,涵盖 Node.js 的基本使用方法、核心功能、常见场景、代码示例和最佳实践,帮助你快速上手。
2025-05-30 14:30:17
568
原创 【Node.js】如何安装 Node.js
安装 Node.js 是一个简单且直接的过程,适用于 Windows、macOS 和 Linux 系统。推荐通过官方网站下载 LTS 版本(简单直接)或使用包管理器/版本管理器(灵活高效)。安装后,验证 Node.js 和 NPM 版本,确保环境配置正确。遇到问题时,检查 PATH、权限或网络设置。本文是详细的安装步骤,涵盖多种安装方式、验证方法以及常见问题解决方法,确保你能顺利安装并开始使用 Node.js。
2025-05-30 14:29:59
627
原创 【Node.js】什么是 Node.js
Node.js 是一个开源、跨平台的 JavaScript 运行时环境,允许开发者在服务器端运行 JavaScript 代码。它基于 Google 的 V8 JavaScript 引擎(Chrome 浏览器使用的引擎),以高效、事件驱动和非阻塞 I/O 的特性闻名。以下是对 Node.js 的详细介绍,涵盖其定义、核心特性、架构、工作原理、应用场景以及优缺点。
2025-05-30 14:29:39
765
原创 【Docker】如何在 Docker 中安装 MongoDB
在 Docker 中安装和运行 MongoDB 是一个快速且便携的方式,特别适合开发、测试或需要隔离环境的场景。Docker 允许你通过官方 MongoDB 镜像快速部署 MongoDB,无需手动配置环境。本文是详细的步骤,涵盖如何在 Docker 中安装 MongoDB、配置容器、连接数据库以及一些最佳实践和注意事项。
2025-05-30 14:29:20
1232
原创 【MongoDB】在 Python 中如何使用 MongoDB:通过官方支持的 PyMongo 库
在 Python 中使用 MongoDB 主要通过官方支持的 PyMongo 库来实现。PyMongo 是一个功能强大的 Python 驱动程序,允许你连接到 MongoDB 数据库并执行 CRUD 操作(创建、读取、更新、删除)、聚合查询等。本文是详细的指南,涵盖安装、连接、基本操作以及一些高级用例,帮助你快速上手在 Python 中使用 MongoDB。
2025-05-30 14:28:25
858
原创 【MongoDB】如何安装 MongoDB
安装 MongoDB 是一个相对简单的过程,但具体步骤会因操作系统和安装方式(本地安装或云服务)而有所不同。以下是详细的安装指南,涵盖主流操作系统(Windows、Linux、macOS)以及 MongoDB Atlas(云托管服务)的安装步骤。MongoDB 提供两种主要版本:MongoDB Community Edition:免费,适合开发、学习和小型项目。MongoDB Enterprise Edition:付费,包含高级功能,适合生产环境。对于学习和个人使用,推荐选择 Community Editi
2025-05-30 14:28:00
961
原创 【MongoDB】什么是 MongoDB
MongoDB 是一个开源的、面向文档的 NoSQL 数据库,设计用于处理大规模数据、提供高性能、高可用性和灵活的可扩展性。它在现代应用程序开发中非常流行,特别适合需要处理非结构化或半结构化数据的场景。本文是对 MongoDB 的详细介绍,涵盖其核心概念、特点、架构和工作原理。
2025-05-30 14:27:36
928
原创 【LangGraph】LangGraph 中集成 SearxNG:构建强大的 web 搜索增强工作流
SearxNG 作为一个开源、隐私友好的元搜索引擎,能够聚合多个搜索引擎的结果,为用户提供广泛的信息视角。将 SearxNG 集成到 LangGraph 中,可以显著增强工作流的搜索能力,适用于智能助手、研究自动化和多任务处理等场景。本文详细介绍如何在 LangGraph 中集成 SearxNG,涵盖安装配置、工具集成、工作流设计和实际应用,旨在为开发者提供清晰、实用的指导。关键步骤包括:设置自托管 SearxNG 实例并启用 JSON API。使用 SearxSearchWrapper 或 load_to
2025-05-30 14:26:43
1476
原创 【Docker】使用 Docker 部署 Searxng 的完整指南
本文介绍如何使用 Docker 部署 Searxng。本指南专注于两种主要方法:使用 docker-compose(推荐生产环境)和 docker run(适合测试环境)。生产环境:选择 docker-compose 方法,结合 Caddy 自动 HTTPS,适合长期运行和公开访问。测试环境:选择 docker run 方法,快速部署,适合开发或临时使用。关键注意:确保权限正确、端口可用,docker-compose 首次运行需调整 cap_drop。
2025-05-30 14:26:18
1458
原创 【Linux】Linux系统中升级CUDA到最新版本
在Linux系统中升级CUDA到最新版本(例如CUDA Toolkit 12.6),需要确保系统兼容性、卸载旧版本、安装新版本并验证安装。本文内容适用于Ubuntu/Debian或Red Hat/CentOS等常见Linux发行版,涵盖环境准备、安装方法和注意事项。基本步骤为:检查系统兼容性(GPU、Linux版本、GCC)。卸载旧版本CUDA(若需要)。通过包管理器、.run文件安装CUDA 12.6。配置环境变量(PATH 和 LD_LIBRARY_PATH)。验证安装(nvcc --verion)
2025-05-26 23:08:22
1200
原创 【Linux】Linux系统中的环境变量
在Linux系统中,环境变量是一组动态的键值对,用于存储系统或用户级别的配置信息,供 shell 和其他进程使用。它们定义了程序运行时的环境,例如路径、库位置或用户偏好。操作包括查看(printenv)、设置(export)、删除(unset)和永久化(编辑配置文件)。配置文件:用户级用 ~/.bashrc,系统级用 /etc/environment 或 /etc/profile。注意:确保正确加载顺序、避免冲突,并根据 shell 类型选择配置文件。
2025-05-25 21:32:42
875
原创 【Anaconda】Anaconda环境下升级/安装GCC/G++
本文是在Anaconda环境下升级或安装GCC/G++的清晰有序指南,适用于Linux系统。步骤简洁实用,涵盖主要方法、验证步骤和注意事项。激活环境:conda activate your_env_name添加通道:conda config --add channels conda-forge安装编译器:conda install -c conda-forge gcc gxx验证版本:gcc --version 和 g++ --version
2025-05-25 18:06:08
1031
原创 【Linux】Linux系统上从源码安装或升级GCC/G++到最新版本
本文是在Linux系统上从源码安装或升级GCC/G++到最新版本(假设为GCC 15.1.0)的详细步骤。适合不同的Linux发行版,如Debian/Ubuntu或Red Hat/CentOS/RHEL,简洁实用,条理分明,适合有Linux经验的用户。
2025-05-25 17:59:38
1119
原创 【Linux】Linux系统上升级到最新的CMake版本
在Linux系统上升级到最新的CMake版本(如最新版本为4.0.2),可以按照以下清晰有序的步骤操作。以下指南假设您使用的是基于Debian/Ubuntu或Red Hat的发行版(如CentOS/RHEL),并提供多种安装方式(二进制安装、源码编译、包管理器等)。
2025-05-25 12:48:29
891
原创 什么是 Jinja2:基于 Python 的现代化模板引擎
Jinja2 是一个功能强大、灵活且安全的 Python 模板引擎,适用于 Web 开发、报告生成和 LLM 提示模板等场景。其核心优势在于动态渲染、模板继承和易于集成的特性。在大模型开发中,Jinja2 与 LangChain 的结合为动态生成结构化提示提供了高效解决方案。通过掌握其基本语法和高级特性,可以显著提升开发效率。
2025-05-24 22:33:00
756
原创 【Python】uv 库:下一代开源的 Python 包管理工具
Python 中的 uv 库是一个由 Astral 公司开发的下一代 Python 包管理工具,基于 Rust 构建,旨在提供比传统工具(如 pip 和 Poetry)更快、更统一的管理体验。它不仅支持包安装和依赖解析,还扩展到 Python 版本管理和项目工作流管理。本文将详细介绍 uv 的定义、核心功能、安装方法、使用示例、性能优势、适用场景、注意事项及最佳实践,内容以中文输出,结构清晰有序,适合学习者深入理解。
2025-05-24 20:53:18
2042
原创 【LangGraph】Implement generative UI with LangGraph:用 LangGraph 实现生成用户界面
本指南展示了如何使用 LangGraph 平台实现生成用户界面(Generative UI),通过将 React 组件与图代码共同托管,动态生成交互式、上下文感知的 UI。核心步骤:定义和配置 UI 组件:在 src/agent/ui.tsx 中创建 React 组件(如 WeatherComponent),以键值对形式导出({ weather: WeatherComponent })。在 langgraph.json 的 ui 部分指定组件路径(如 "agent": "./src/agent/ui.tsx
2025-05-22 15:17:36
832
原创 【LangGraph】Integrate LangGraph into a React app:将 LangGraph 集成到你的 React 应用 示例
指南展示了如何使用 useStream() React 钩子将 LangGraph 集成到 React 应用中,处理流式传输、状态管理、分支逻辑等复杂性,提供灵活的聊天体验构建方式。基本用法:使用 useStream() 钩子连接 LangGraph 部署(通过 apiUrl 和 assistantId)。渲染消息列表(thread.messages)并通过 thread.submit() 发送用户输入。管理加载状态(isLoading)和停止流(thread.stop())。高级功能:线程管理:通过 th
2025-05-22 14:57:51
1020
原创 【LangGraph】Deploy CrewAI, AutoGen, and other frameworks:如何使用 LangGraph 平台部署 CrewAI、AutoGen 和其他框架 示例
指南展示了如何通过将 CrewAI、AutoGen 等框架的代理包装在一个单一 LangGraph 节点中,使用 LangGraph 平台进行部署,获得水平可扩展性、任务队列、短期和长期记忆支持等优势。核心步骤:定义 AutoGen 代理:使用 AutoGen 的 AssistantAgent 和 UserProxyAgent 创建代理,配置模型参数(如 gpt-4o、超时、温度)以及代码执行设置。设置自动终止条件(当响应以 “TERMINATE” 结尾时停止)。包装到 LangGraph:定义一个单一节点
2025-05-22 14:43:14
891
原创 【LangGraph】Use RemoteGraph:如何使用 RemoteGraph 与平台部署交互 示例
本指南展示了如何使用 RemoteGraph 接口与 LangGraph 平台部署交互,使其像本地定义的 CompiledGraph 一样,通过同步或异步方法(如 .invoke()、.stream() 等)调用远程图。核心步骤:初始化:必须提供 name(图名称,与 langgraph.json 中的一致)和 api_key(通过 LANGSMITH_API_KEY 或参数)。至少提供 url(部署 URL)、client(异步 LangGraphClient)或 sync_client(同步 SyncL
2025-05-22 14:30:05
692
原创 【LangGraph】Rebuild Graph at Runtime:运行中以不同配置重建图 示例
本指南展示了如何通过提供一个图创建函数(make_graph)在 LangGraph 运行时动态重建图,以根据配置(如用户 ID)使用不同的图状态或结构。核心步骤:不重建(静态图):在 openai_agent.py 中定义一个静态的已编译图实例(agent),通过 langgraph.json 指定其路径,适合固定行为的场景。重建(动态图):重写 openai_agent.py,提供 make_graph 函数,接受 RunnableConfig 并返回根据配置构建的图实例。示例中为用户 ID ‘1’ 构
2025-05-22 14:17:20
545
原创 【LangGraph】Authentication:在 LangGraph 平台上实现自定义认证、资源授权和连接认证提供者聊天机器人 示例
本教程成功构建了一个具有生产级认证和授权的 LangGraph 聊天机器人。主要工作:设置自定义认证:使用硬编码令牌创建了一个基本的认证系统,控制谁可以访问机器人。通过 Auth 对象和 @auth.authenticate 装饰器实现了令牌验证。使对话私有:添加了资源级授权,通过 @auth.on 和特定资源处理程序(如 @auth.on.threads.create)确保用户只能访问自己的线程。使用元数据过滤器实现了私有对话,防止用户访问彼此的资源。连接认证提供者:将硬编码令牌替换为 Supabase
2025-05-22 13:08:42
998
原创 【LangGraph】Graph runs in LangSmith:如何为 LangSmith 中的图运行传递自定义运行 ID 或设置标签和元数据 示例
本指南展示了如何通过 RunnableConfig 为 LangGraph 图运行设置自定义 run_id、run_name、tags 和 metadata,以便在 LangSmith 中进行调试、测试和监控。核心步骤:配置设置:使用 run_id(UUID)、run_name(字符串)、tags(字符串列表)和 metadata(JSON 可序列化字典)自定义跟踪信息。图运行:通过 stream、invoke 等方法传递配置,适用于所有标准 Runnable 方法。LangSmith 集成:在 LangS
2025-05-22 12:28:03
690
原创 【LangGraph】SQL agent:构建 SQL 代理(Build a SQL agent)示例
本教程展示了如何构建一个 SQL 代理,能够通过一系列结构化步骤(列出表、获取模式、生成查询、检查查询、执行查询、修正错误、生成回答)回答数据库相关问题。核心步骤:预构建代理:使用 create_react_agent 和 SQLDatabaseToolkit 快速构建代理,通过系统提示约束行为。自定义代理:通过 LangGraph 的 StateGraph 创建专用节点(list_tables、call_get_schema、generate_query、check_query、run_query),强制
2025-05-22 12:15:33
747
原创 【LangGraph】Agent Supervisor:多代理监督者(Multi-agent supervisor)示例
教程展示了如何构建一个多代理系统,其中监督者代理协调专门的研究和数学代理,通过交接机制实现任务分配和通信。核心步骤:工作代理创建:研究代理使用 TavilySearch 工具进行网络搜索,专注于研究任务。数学代理使用简单的 Python 数学函数(add、multiply、divide),专注于数学计算。监督者实现:使用 langgraph-supervisor 的 create_supervisor 快速构建监督者,协调代理并管理任务流。从头构建监督者,使用自定义交接工具和 StateGraph,实现更灵
2025-05-22 11:53:39
926
原创 【LangGraph】 Agentic RAG:构建一个检索代理(Retrieval Agent)示例
本教程展示了如何构建一个检索代理,能够智能决定是否从向量存储检索上下文或直接回应用户,结合了语义搜索和 LLM 的决策能力。核心步骤:文档预处理:使用 WebBaseLoader 获取博客内容,RecursiveCharacterTextSplitter 分割为适合索引的块。检索工具:通过 InMemoryVectorStore 和 OpenAIEmbeddings 创建向量存储,结合 create_retriever_tool 构建检索工具。图构建:generate_query_or_respond:LL
2025-05-22 11:29:23
611
原创 【LangGraph】Environment Variables(环境变量):用于配置部署
LangGraph 服务器通过环境变量支持灵活的部署配置,涵盖后台任务、日志、数据库、Redis、跟踪和认证等方面,适用于本地开发、自托管和云 SaaS 部署。核心变量:后台任务:BG_JOB_ISOLATED_LOOPS、BG_JOB_TIMEOUT_SECS 和 BG_JOB_SHUTDOWN_GRACE_PERIOD_SECS 用于优化后台运行的性能和稳定性。跟踪:DD_API_KEY 和 LANGCHAIN_TRACING_SAMPLING_RATE 启用 Datadog 和 LangSmith 跟
2025-05-22 10:13:09
811
原创 【LangGraph】RemoteGraph 类:调用远程 API 的客户端实现
RemoteGraph 类是用于调用远程 LangGraph 服务器 API 的客户端实现,遵循 LangGraph 服务器 API 规范,可作为 Graph 的节点,集成到更大的图结构中,适合与 LangGraph 平台部署交互。核心功能:初始化:通过 assistant_id、url、api_key 或自定义客户端(LangGraphClient / SyncLangGraphClient)配置远程连接。图管理:通过 get_graph 和 aget_graph 获取图结构,支持子图表示。状态管理:通过
2025-05-22 10:12:45
641
电影图数据库构造:基于Cypher查询语句创建影人关系网及其应用,Neo4j数据库 Movie Graph Guide 案例数据
2025-03-18
neo4j的配置文件,包含:neo4j.conf、neo4j-admin.conf、server-logs.xml、user-l
2025-03-17
Python基于toad实现生成评分卡 完整的示例代码和数据集
2025-01-05
toad.selection.select函数示例的数据集和代码
2025-01-03
toad.selection.stepwise函数示例的数据集和代码
2025-01-03
Metropolis-Hastings算法和吉布斯采样(Gibbs sampling)算法Python代码实现
2024-12-23
维特比算法Python代码实现
2024-12-09
EM算法Python代码实现
2024-11-29
朴素贝叶斯分类器算法Python代码实现
2024-11-25
PCA算法Python代码实现
2024-11-17
随机森林(Random Forest)算法Python代码实现
2024-11-13
CatBoost使用示例
2024-11-12
XGBoost算法Python代码实现
2024-11-09
GBDT算法Python代码实现
2024-11-03
AdaBoost算法Python代码实现
2024-10-31
近似线性可分支持向量机Python代码实现
2024-10-27
构建ID3决策树的完整算法代码
2024-10-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人