AI Agent从无到有45: LangChain 嵌入模型实战 — 从文本到向量

向量数据库与嵌入:AI Agent的语义神经系统 向量数据库和嵌入技术是现代AI Agent实现语义理解、长期记忆与跨模态关联的核心基础设施。其本质并非简单文本转数字,而是构建高维语义空间中的坐标映射,支撑RAG增强、对话记忆、工具调用等关键范式。在LangChain与LangGraph工程实践中,嵌入模型的领域适配性、向量库的实时语义导航能力(如Qdrant的HNSW索引与元数据过滤)、以及cosine相似度的物理意义,共同决定了Agent能否准确召回合同条款、定位工单模式或理解用户历史意图。本文聚焦中文企业级场景,解析嵌入选型、向量库调优与LangGr 阅读详情

纲要

  • 嵌入模型的核心作用
    • 将非结构化文本转化为高维向量坐标
    • 支撑语义相似度检索,是 RAG 系统的基石
  • LangChain 嵌入模型接口
    • 统一封装:embed_documents 与 embed_query
    • 主流模型接入:OpenAI、Ollama、BGE、智谱等
  • 嵌入缓存机制
    • 原理:避免重复向量化,降低 API 调用成本
    • 实现:CacheBackedEmbeddings + 本地文件存储
  • 国产嵌入模型集成
    • 以硅基流动平台的 BGE‑M3 为例
    • 配置代理地址与 API Key,无缝切换
  • 完整可运行代码:使用 FakeEmbeddings 演示嵌入、缓存与检索,无需外部 API Key

引言

在 RAG 流水线中,文档经过加载和切片之后,必须被转换成一种机器可以理解的数学形式——向量。嵌入模型就是将文本映射为高维空间中的坐标,使得语义相近的文本在空间中彼此靠近。

LangChain 为这些模型提供了统一的调用方式,并内置缓存来优化重复嵌入的性能与成本。本文将通过可运行的代码,展示如何在 LangChain 中使用嵌入模型,并接入国产模型。

适用版本说明:本文示例基于 langchain-core==0.1.x 及 langchain-community==0.1.x。CacheBackedEmbeddings 在 langchain>=0.1.0 中已稳定支持。

嵌入模型的工作原理

嵌入模型本质上是一个“翻译器”:输入一句话(如“今天天气怎么样?”),输出一个固定长度的数字数组(向量)。语义相近的句子生成的向量距离更近,反之则更远。在 RAG 系统中,嵌入模型承担两项任务:

  1. 入库:将知识库中的文档片段逐一向量化,存入向量数据库。
  2. 检索:将用户查询向量化,在数据库中搜索距离最近的 Top‑K 个片段。

文档 / 用户查询

嵌入模型

高维向量

向量数据库存储 / 相似性搜索

LangChain 中的嵌入模型实现

所有嵌入模型都实现两个核心方法:

  • embed_documents(texts: List[str]):批量嵌入文档。
  • embed_query(text: str):嵌入单个查询。

常用嵌入模型一览

模型维度语言支持运行方式
OpenAI text-embedding-ada-0021536多语言API 调用
BGE‑M3(BAAI)1024多语言本地 / API
智谱嵌入模型1024中文API 调用
Ollama 托管的开源模型可配置取决于模型本地运行

选型注意事项:

  • 入库和检索必须使用同一个嵌入模型,且向量数据库的维度需与模型一致。
  • 中文应用优先选择专门优化中文的模型;混合语言场景则用多语言模型。
  • 非本地运行的嵌入模型按 token 计费,合理使用缓存可大幅降低成本。

缓存机制

同一段文本通过同一嵌入模型得到的向量始终不变。LangChain 提供了 CacheBackedEmbeddings,可将向量缓存到本地文件或 Redis,再次嵌入时直接读取,避免重复计算。

完整可运行代码

以下代码使用 FakeEmbeddings 模拟嵌入过程,并演示缓存的效果。无需任何 API Key,可直接在本地运行。

安装依赖:

pip install langchain langchain-core langchain-community chromadb

核心代码:

from langchain_community.embeddings.fake import FakeEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_core.documents import Document
from langchain.embeddings import CacheBackedEmbeddings
from langchain.storage import LocalFileStore
import time

# 1. 准备文档
docs = [
    Document(page_content="智能温控水杯支持手机 App 远程控温。"),
    Document(page_content="产品续航 48 小时,采用 316 不锈钢内胆。"),
    Document(page_content="充电时请使用 5V/2A 适配器。"),
]
base_embeddings = FakeEmbeddings(size=128)

# 2. 无缓存嵌入
start = time.time()
vectorstore_no_cache = Chroma.from_documents(
    docs, base_embeddings, collection_name="no_cache"
)
print(f"无缓存嵌入耗时:{time.time() - start:.4f} 秒")

# 3. 带缓存嵌入
store = LocalFileStore("./embedding_cache/")
cached_embeddings = CacheBackedEmbeddings.from_bytes_store(
    base_embeddings, store, namespace="test"
)
start = time.time()
vectorstore_cached = Chroma.from_documents(
    docs, cached_embeddings, collection_name="cached"
)
print(f"首次嵌入(填充缓存)耗时:{time.time() - start:.4f} 秒")

# 4. 再次嵌入相同文档(命中缓存)
start = time.time()
vectorstore_cached2 = Chroma.from_documents(
    docs, cached_embeddings, collection_name="cached2"
)
print(f"再次嵌入(命中缓存)耗时:{time.time() - start:.4f} 秒")

# 5. 检索测试
query = "如何给水杯充电?"
vectorstore = Chroma.from_documents(docs, cached_embeddings)
result = vectorstore.similarity_search(query, k=1)
print(f"检索结果:{result[0].page_content}")

运行后可以观察到第二次嵌入的耗时显著减少,验证了缓存机制的效果。

注意:CacheBackedEmbeddings.from_bytes_store 在 langchain>=0.1.0 中可用。若使用更早版本,请参考官方文档的迁移指南。

国产嵌入模型集成示例

以硅基流动平台的 BGE‑M3 为例,它完全兼容 OpenAI 的 API 格式,只需修改模型名、API Key 和 Base URL 即可接入。

from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="BAAI/bge-m3",
    openai_api_key="your_api_key",            # 替换为实际 Key
    openai_api_base="https://api.siliconflow.cn/v1"  # 平台代理地址
)
vectors = embeddings.embed_documents(["智能温控水杯", "明天天气"])
print(f"向量维度:{len(vectors[0])}")  # 输出 1024

版本兼容提示:langchain-openai 包在 v0.1.0 之后支持 openai_api_base 参数。若使用 langchain>=0.3.0,推荐使用 base_url 替代 openai_api_base,两者在过渡期均有效。

API 速览

本节汇总博客中涉及的核心 API:

API所属库方法签名说明
FakeEmbeddingslangchain_community.embeddings.fake__init__(size: int)生成指定维度的随机向量,用于测试
CacheBackedEmbeddingslangchain.embeddingsfrom_bytes_store(underlying_embeddings, document_embedding_store, namespace)包装嵌入模型,提供缓存能力
LocalFileStorelangchain.storage__init__(root_path: str)本地文件系统存储,用于缓存持久化
Chromalangchain_community.vectorstoresfrom_documents(documents, embedding, collection_name)从文档列表创建向量数据库
OpenAIEmbeddingslangchain_openai__init__(model, openai_api_key, openai_api_base)调用 OpenAI 兼容接口的嵌入模型

Demo 示例

以下是一个完整的、可直接运行的 HTML 文件(使用 Python 后端),演示了嵌入、缓存与检索的完整流程。

运行说明:

  1. 将上述核心代码保存为 embedding_demo.py。
  2. 在终端执行 python embedding_demo.py。
  3. 观察控制台输出的耗时对比和检索结果。

代码说明:

  • 使用 FakeEmbeddings 模拟嵌入,无需真实 API Key。
  • 通过 CacheBackedEmbeddings 实现缓存,第二次嵌入耗时明显降低。
  • 使用 Chroma 向量数据库进行相似性检索,验证嵌入质量。

技术点总结:

  • LangChain 统一的嵌入接口设计。
  • 缓存机制的原理与实现方式。
  • 向量数据库的创建与检索流程。

参考文档

官方文档

参考链接

总结

嵌入模型是连接文本与向量计算的桥梁,也是 RAG 检索质量的决定性因素之一。LangChain 通过 embed_documents 和 embed_query 两个方法统一了调用接口,配合缓存机制可有效控制成本。

无论是使用 OpenAI 还是国产 BGE 系列,掌握好嵌入模型的选型和接入方式,就能为 RAG 应用打下坚实基础。

AI Native技术栈:向量数据库、LangChain与大模型微调实战 AI Native技术栈代表了从传统API拼接架构向端到端智能系统的演进,其核心在于构建具备自主认知能力的AI系统。向量数据库作为非结构化数据的实时检索中枢,解决了海量数据的高效存储与查询问题;LangChain框架通过模块化设计实现复杂推理链条的可视化组装,大幅提升AI系统的可解释性和可调试性;而大模型微调技术则是实现领域适应的关键路径,包括全参数微调、适配器微调等不同策略。这些技术共同构成了现代AI系统的技术三角,在智能客服、知识管理、多模态搜索等场景展现出强大潜力。特别是在处理多模态数据时,通过CLI 阅读详情

相关推荐

Java+AI技术栈选型实战:基于Spring AI与LangChain4j构建智能航空客服系统

大语言模型(LLM)与检索增强生成(RAG)技术正深刻改变企业应用的智能化路径。其核心原理在于通过向量化检索外部知识库,为LLM提供精准上下文,有效解决模型幻觉与知识滞后问题。对于Java开发者而言,这一技术价值在于能将AI能力无缝集成至现有高并发、高稳定的企业级系统中,实现低成本、高效率的技术演进。在智能客服、知识问答等应用场景中,Java生态的Spring AI框架提供了统一的模型交互抽象,而LangChain4j则擅长复杂AI Agent的编排。本文以智能航空客服为具体案例,深入解析如何将RAG、AI

weixin_30820077的博客 473

零基础学AI大模型之LangChain智能体之initialize_agent开发实战

本文是"工藤学编程"博主分享的技术文章合集,涵盖多个热门技术领域。主要内容包括:1)C++实现GUI图书管理系统、SpringBoot整合MinIO等实战项目;2)分库分表、RabbitMQ消息确认机制等分布式技术;3)AI大模型系列教程(共36篇),从LangChain智能体、RAG技术到Milvus向量数据库实战,系统讲解大模型应用开发全流程。文章适合不同层次开发者学习,提供从基础概念到项目落地的完整知识体系。

chandfy的博客 1410

2026年LangChain实战指南:Agent与RAG技术构建生产级AI应用

如果你在2024年之前接触过大模型应用开发,大概率听过一个词:LangChain。它曾是大模型应用开发的“标配”,但很多开发者发现,跟着教程跑通了“Hello World”,一到真实项目就寸步难行——文档复杂、概念抽象、版本迭代快,最终项目成了“玩具”。 到了2026年,情况已经完全不同。LangChain 及其代表的 Agent(智能体)和 RAG(检索增强生成)技术,不再是“炫技”的框架,而是解决实际生产力问题的工程化方案。核心问题已经从“如何用LangChain”变成了“如何用LangChain高效、

weixin_33698043的博客 434

2026 AI Agent 学习路线图:从小白到实战,系统掌握智能体开发

2026 最全 AI Agent 学习路线图:从 ReAct 原理到手写 Agent,四阶段(入门→进阶→实战→专家)系统学习路径,涵盖 LangGraph/CrewAI/AutoGen 框架对比、MCP 工具开发、Multi-Agent 协作,附完整可运行代码和 7 个避坑指南。

m0_73614031的博客 2万+

基于LangChain与RAG技术构建企业级AI知识库:从原理到Agent智能体实践

检索增强生成(RAG)技术通过结合信息检索与大型语言模型(LLM)生成能力,有效解决了LLM在处理长文档和专业领域知识时面临的幻觉、上下文限制和知识更新滞后等核心挑战。其技术原理是将非结构化文档分割、向量化后存储于向量数据库,在查询时通过语义相似性检索相关片段作为上下文输入LLM,从而生成基于可信来源的准确回答。这一架构在提升回答可靠性和降低幻觉方面具有显著技术价值,广泛应用于企业知识库、智能客服和文档分析等场景。本文以LangChain框架为例,深入探讨了RAG系统的模块化实现,并进一步引入Agent智能

weixin_34375251的博客 472

嵌入式Linux与AI Agent开发:技术对比、薪资分析与学习路径

嵌入式系统作为计算机科学的重要分支,通过软硬件协同设计实现特定功能,其核心原理在于将操作系统移植到资源受限的硬件平台。AI Agent则基于人工智能技术构建自主决策系统,通过大模型和工具调用机制完成复杂任务。在工程实践中,嵌入式Linux开发涉及Bootloader配置、内核移植和驱动开发等技术栈,而AI Agent开发则需要掌握LangChain框架和检索增强生成(RAG)等关键技术。从技术价值看,嵌入式系统在工业控制、汽车电子等领域具有不可替代性,AI Agent则在智能客服、金融科技等场景展现强大潜力

weixin_33695450的博客 318

大模型应用开发实战:LangChain、RAG、Agent与微调全指南

大语言模型(LLM)正快速进入企业级应用场景,开发者需要掌握从模型调用到业务落地的完整技能链。LangChain作为主流框架,将模型接入、提示词管理、链式编排、记忆与外部工具等能力模块化,极大降低了开发门槛。RAG(检索增强生成)通过向量化检索外部知识库,解决模型知识滞后与私有数据引用问题,实现可追溯、低成本的智能问答。Agent机制赋予模型自主决策与工具调用能力,使其能完成多步复杂任务。微调技术(如LoRA)则以参数高效的方式让模型适配特定领域风格与术语。从知识库问答到智能客服,这些技术相互补充,形成大模

weixin_34393428的博客 376

AI学习-langchain

也可以安装一下读取环境变量的依赖。

qq_62408075的博客 332

零基础学AI大模型之LangChain Tool异常处理

【摘要】工藤学编程博主分享AI大模型系列教程,涵盖从基础概念到实战应用的全方位内容。包含LangChain框架详解(Prompt工程、聊天模型、输出解析等)、RAG技术实践(文档加载、文本分割、向量数据库)、Milvus向量数据库实战(部署架构、索引优化、Python整合)等核心主题。特别推出《LLM绑定Tool工具实战》新篇,并附33篇前序教程索引,系统化帮助开发者掌握大模型开发全流程技术栈。

chandfy的博客 1564

Proteus快速入门(最详细教程)

Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。1.所以Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。2.Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。以上即为本次分享的Proteus入门教程的全部内容,希望可以能够帮助到各位道友。

ediykk的博客 15万+

告别外置电阻!揭秘MAX22201集成电流检测的5大设计优势(附PCB布局案例)

本文深入解析MAX22201集成电流检测技术在直流有刷电机驱动中的5大设计优势,包括BOM成本降低、PCB空间优化、动态性能提升等。通过与传统方案(如DRV8871+外置电阻)的实测对比,展示其在高精度电流检测、抗干扰能力和PCB布局简化方面的突破,并附有详细的PCB布局案例和配置指南。

weixin_29189377的博客 243

从零搭建AI Agent:基于LangChain的智能体开发实战指南

AI Agent(人工智能智能体)是能够感知环境、自主决策并执行行动以实现目标的系统,其核心原理在于超越简单的问答模式,通过规划、记忆和工具调用等模块协同工作。这一技术价值在于将大语言模型的推理能力与外部工具和系统连接起来,实现自动化任务执行和复杂问题求解。在应用场景上,AI Agent广泛应用于个人效率助手、数据分析、客服自动化和流程自动化等领域。本文聚焦于**LangChain框架**和**工具调用**这两个关键技术点,通过构建具备规划、记忆和多工具协同的数据分析Agent,提供了从环境配置、核心组件开

weixin_34347651的博客 328

uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)

uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni

🏆 前端领域优质创作者 1万+

LangChain与大模型应用开发实战指南

大模型应用开发正成为AI领域的热点技术方向,其核心在于如何高效利用大语言模型的强大能力。LangChain作为连接大模型与实际业务场景的框架,通过模块化设计解决了传统prompt engineering的局限性。该框架包含文档加载器、文本分割器、向量存储等核心组件,支持检索增强生成(RAG)等关键技术。在工程实践中,LangChain能显著提升开发效率,如在电商客服场景中可缩短80%开发周期。结合向量数据库和Agent系统,开发者可以构建智能问答、知识管理等企业级AI应用,实现45%以上的准确率提升。

weixin_30591551的博客 384

5.6华为OD机试真题 新系统 - 匹配命令行前缀关键字 (Java/Py/C/C++/Js/Go)

5.6华为OD机试真题 新系统 - 匹配命令行前缀关键字本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2128

redhawk如何看高toggle rate instance

1.图形界面View-Power Map - Toggle Map of Instances。redhawk通过报告和图形界面两种方式查看高toggle rate的instance。2.看warning log,在adsRpt/Warn里,搜toggle rate。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 617

AIGC高级实践课-从大模型到AI Agent-5G课程

AIGC高级实践课-从大模型到AI Agent-5G课程

软希网分享源码的博客 1024

建模simulink - 手把手教你搭建xpc平台

概述xpc半实物仿真目标是个基于RTW对低端实时仿真和开发平台,可将计算机或者工控机转变为一个实时系统,不需要第三方操作系统对支持,在计算机上配置输入输入出设备就能和外部交换信息,进行硬件...

不只会拍照的程序猿 7087

【Agent开发】嵌入模型和生成模型

嵌入模型和生成模型是AI系统中的两大核心组件,分别承担不同功能。嵌入模型(Embedding Model)负责将文本、图像等内容转化为向量形式,便于语义搜索和相似度匹配,扮演"图书馆管理员"角色;生成模型(Generative Model)则根据输入内容生成新文本、代码等回答,如同"写作老师"。两者常配合使用,在知识库问答等场景中,嵌入模型先检索相关资料,再由生成模型整理输出最终答案。

2501_92613722的博客 256

Exchange Server 2013 运维系列——邮箱配额设置(管理中心)

邮箱配额需要设置三个参数: 1、发出警告限制:表示在向用户发出警告之前的最大存储限制。如果邮箱大小达到或超过指定值,Exchange 将向邮箱用户发送警告消息。 2、禁止发送限制:表示邮箱的“禁止发送”限制。如果邮箱大小达到或超过指定的限制,Exchange 将阻止邮箱用户发送新邮件,并显示一条描述性错误消息。 3、禁止发送和接收限制:表示此邮箱的“禁止发送和接收”限制。如果邮箱大小

白昼的技术专栏 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

langchain-openai 实战指南:ChatOpenAI、向量嵌入与 Azure 接入快速上手

langchain-openai 是 LangChain 官方维护的 OpenAI 集成包。它没有重新造轮子,而是把 `openai` 官方 SDK 的能力封装成 LangChain 的标准接口(`BaseChatModel`、`BaseLLM`、`Embeddings` 等),让你拿到的模型对象能直接塞进 `Runnable` 链、Agent、检索工作流里。装完包、设好密钥,一个对象就能把 GP

gitblog_00288的博客 321

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OpenSpeedy 游戏变速完整指南

OpenSpeedy 是一款开源的游戏变速工具,可以直接调节 Windows 上单机游戏、模拟器等程序的运行速度,快放或慢放都不碰系统内核,属于 Ring3 层的 API 钩子方案。这篇文章带你装好它、完成第一次变速,并提前避开新手最容易踩的几个坑。 [![OpenSpeedy 游戏变速工具图标](https://raw.gitcode.com/gh_mirrors/op/OpenSpeedy/

gitblog_01056的博客 789

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

基于LangChain的AI Agent实战:从工作流引擎到股票分析师构建

上周帮一个做金融数据分析的朋友看他们团队新上线的“智能助手”,发现一个很有意思的现象:他们花了不少力气,把最新的LLM、RAG、LangChain都堆了上去,界面做得也挺漂亮。但用户反馈却很一致:“问简单问题还行,稍微复杂点,比如‘帮我对比一下上季度和本季度的财报,找出三个关键差异点并分析可能原因’,它就卡壳了,要么答非所问,要么直接说‘我无法处理此类请求’。” 这其实不是模型不够强,也不是知识库没建好。问题的核心在于,他们只是把大模型当成了一个更聪明的“问答机”,输入问题,期待输出答案。但现实世界的问题,

weixin_30266885的博客 391

Java开发者必看!大模型、向量、智能体,AI开发核心三件套全解析

《Java开发者视角的AI核心技术解析》 本文从Java开发者角度,用类比方式拆解AI应用的三大核心技术:1)大模型如同"博学但缺乏专精的新同事",擅长模式识别却需要补充领域知识;2)向量是"文字的数学指纹",通过语义空间映射实现智能检索;3)智能体则是"自动化任务机器人",能规划步骤并调用工具完成复杂工作。三者协同构建完整AI系统:向量层实现语义理解,大模型提供推理能力,智能体负责任务执行。文中通过Java代码示例展示了各组件在技术架构中的具体作

weixin_55154866的博客 1140

15 行代码搭建本地 AI 知识库:LangChain+RAG 从零到生产完整实战

大模型虽然知识广博,却无法回答你私有文档里的具体问题。把公司制度、产品手册、个人笔记喂给通用模型既不安全也不现实。RAG(检索增强生成)正是解决这一问题的成熟方案:先检索相关片段,再交给大模型生成答案。本文用 LangChain 从零搭建一个本地 AI 知识库,核心代码只有 15 行,并逐步补齐向量库、检索优化、接口封装与生产部署,带你走完从原型到上线的完整链路。整套方案围绕「文档切分、向量化、检索、生成」四个环节展开,核心组件如下:整体流程可用下面这张图概括: 3. 环境准备与依赖安装 建议使用 P

Kn_cc的博客 567
上一篇: AI Agent从无到有44: RAG 文档切分策略深度解析——从长度切割到语义边界
下一篇: AI Agent从无到有46: LangChain 向量数据库实战 — 从增删查到高级检索
Wang's Blog
博客等级 码龄12年 7421粉丝 2411原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值