基于 GPT 实现 Agent ️

AgentGPT安装使用教程 AgentGPT允许您配置和部署自主人工智能代理。命名你自己的自定义人工智能,让它实现任何可以想象的目标。它将试图通过思考要做的任务、执行这些任务并从结果中学习来达到目标.本文为AgentGPT中文安装教程。 阅读详情

一、引言

前置阅读:

在这里插入图片描述

在这篇文章中,我们将探讨如何使用 GPT 来实现 LangChain 中的 Agent 概念。LangChain 是一个基于语言模型的编程框架,其中的 Agent、LLM 和 Tool 是其核心组件。我们将首先理解这些组件的概念和关系,然后设计一个状态机来描述 Agent 的工作流程,并使用 GPT 来实现 LLM 的功能。

二、背景知识

首先,我们先来理解下什么是 Agent?一句话:AI 作为中间代理人,从而进行决策和执行。

举个场景:比如,你有一个应用,里面包含了计算服务、联网服务、天气服务,但是用户输入的格式是不确定的,我们往往需要根据用户的输入,从而去判断用户的一个意图,从而去调用对应服务,返回最终的结果。而 Agent 就可以直接帮你自动处理,你只需要告诉他,你的需求是什么,后续他会返回给你答案。

LangChain 的 Agents 概念,就是针对于类似的场景,结合 LLM,可以自动帮你进行处理,需要走具体哪个服务,这个服务需要什么参数,从而给出对应的输出。

在这里插入图片描述

一句话:在 langChain 中 agent 做调用,llm 做决策,tools 做具体功能实现。

  • agent 做调用: 只起调用作用,调用 llm 得到决策,调用 tools 得到具体功能结果。
  • llm 做决策:llm 做决策,根据 agent 提供的信息(用户输入和 tools),得到调用具体的 tool,以及具体给 tool 的传递的参数,这个决策给到 agent。
  • tools 做具体功能实现:tool 做具体功能实现,如 weather tool 接受提供 weather 服务,search tool 提供搜索服务,并把结果返回给 Agent。

好了,了解了 Agent 的概念,以及 GPT 的调用方法,我们就可以开始动手。

三、整体思路

实际上,我们本次就是实现上方这个图。主要实现三个模块吧。

  • Agent:Agent是主导者,负责协调整个流程
  • LLM:语言处理工具,负责处理语言相关的任务。
  • Tools: Tools是执行具体任务的工具或服务,提供了执行任务所需的功能和服务。

在这里插入图片描述

然后我们对流程进行拆解,可以得到下方的表格,并且我们定义对应的状态机。

步骤名称对应的状态机状态设计模块角色需要做的事情
接收用户指令INITIALAgent接收并存储用户的指令
理解指令CALL_LLMLLM解析用户的指令,生成行动计划
调用工具CALL_TOOLAgent, Tool根据行动计划,选择并调用相应的工具
处理工具结果PROCESS_RESULTAgent, LLM接收工具的结果,如果需要,再次调用 LLM 进行处理
输出结果OUTPUT_RESULTAgent将最终的结果返回给用户

对模块和流程,我们知道了,那么我们就具体来实现吧。

四、具体实现

这里我们主要从模块设计和流程设计两方面讲起。

4.1 模块设计

Tool

在 LangChain 中,工具(Tool)是具体执行任务的模块,它们为 Agent 提供了执行任务所需的功能和服务。每个工具都有一个特定的功能,例如查询天气、进行数学计算、搜索网页等。工具的设计目标是使其可以接受一个字符串参数并返回一个字符串结果,这样 Agent 就可以使用这个接口来调用各种工具。

为了实现这个目标,我们为工具设计了一个接口,该接口包含三个主要的属性:

  • name:工具的名称,用于在调用工具时进行识别。
  • description:工具的描述,用于解释工具的功能和使用方法。
  • call:工具的主要方法,接受一个字符串参数并返回一个字符串结果。
interface Tool {
  name: string;  // The name of the tool, used to identify it when the tool is invoked.
  description: string;  // A description of the tool, explaining what the tool does and how to use it.
  call: (input: string) => Promise<string>; // The main method of the tool, accepts a string parameter and returns a string result.
}

这样的设计使得我们可以轻松地添加新的工具。只需要实现这个接口,就可以创建一个新的工具。然后,我们可以将这个工具添加到 Agent 的工具列表中,Agent 就可以在执行任务时调用这个工具。

LLM

在 LangChain 中,LLM 是一个语言模型,它可以理解用户的指令并生成相应的行动计划。LLM 的主要任务是解析用户的指令,确定下一步的动作,并生成相应的参数。

为了实现这个目标,我们使用 OpenAI 的 API 来实现 LLM 的功能。在调用 LLM 时,我们生成一个包含用户指令和工具信息的提示词,然后将其发送给 OpenAI 的 API。API 返回的结果是一个 JSON 字符串,包含下一步的动作和参数。

我们希望通过调用 llm 的 暴露的 api,然后得到一个动作和参数

import { Configuration, ConfigurationParameters, OpenAIApi } from "openai";
import { Tool } from "./tool";

export class LLM {
  openai: OpenAIApi;

  async understand(instruction: string, result: string | null, tools: Tool[]) {
    let prompt = generatePrompt(instruction, tools);
    const response = this.openai.createChatCompletion(prompt);
    const { action, params } = JSON.parse(response.data.choices[0].message.content);
    return { action, params };
  }
}

所以上方分三步:prompt 加工、GPT 调用、响应提取。

  • prompt 加工:这里主要是为了告诉 GPT 指令、目前工具集以及响应返回的格式。

    export class LLM {
      openai: OpenAIApi;
    
      async understand(instruction: string, result: string | null, tools: Tool[]) {
        // 生成提示词
        let prompt = '';
        if (result) {
          // 如果有结果,让 LLM 加工结果
          prompt = `You are a helpful assistant. The user says: "${instruction}". The result from the tool is: "${result}". Based on the user's instruction and the tool's result, decide the next action. Your can processing result in params, but must respond with {"action": "output_result", "params": {"result": "the final result"}}.`;
        } else {
          // 如果没有结果,让 LLM 决定下一步动作
          prompt = `You are a helpful assistant. You have the following tools at your disposal: ${toolInfo}. The user says: "${instruction}". Based on the user's instruction and the tools available, decide the next action. If a tool should be used, respond with {"action": "call_tool", "params": {"toolName": "the name of the tool", "toolInput": "the input for the tool"}}. If the final result should be output, respond with {"action": "output_result", "params": {"result": "the final result"}}. Please note that the tool name should be one of the available tools and the tool input should be a valid input for that tool.`;
        }
      }
    }
    
    
  • GPT 调用:这里调用一下 GPT 提供的 API 就可以。

    export class LLM {
      openai: OpenAIApi;
    
      async understand(instruction: string, result: string | null, tools: Tool[]) {
        // other code
    		const response = await this.openai.createChatCompletion({
          model: 'gpt-4-0613',
          messages: [
            {
              role: 'system',
              content: prompt,
            },
            {
              role: 'user',
              content: instruction,
            },
          ],
        });
        // other code
      }
    }
    
    
    
  • 响应提取: 得到的结果 JSON 字符串的格式如下, 我们提取对应的 action 和 params 就行了。

    {
      "action": "call_tool",  // action 表示行为 call_tool 为调用 tool,output_result 为输出结果。
      "params": {
        "toolName": "weather_tool",
        "toolInput": "Beijing"
      }
    }
    
    

Agent

agent 做 llm 和 tool 的调用,并且将流程串起来,所以可以抽象为三个 API。

  • callLLM:调用 LLM 模型,让 LLM 给决策
  • callTool:调用 TOOL 工具,得到具体 TOOL 的输出。
  • processInstruction: 执行命令,串联流程,中间调用 LLM 和 TOOL。
export class Agent {
  state: AgentState;
  llm: LLM;
  tools: Tool[];

  constructor(llm: LLM, tools: Tool[]) {
    this.state = AgentState.INITIAL;
    this.llm = llm;
    this.tools = tools;
  }

  async processInstruction(instruction: string) {
  }

  async callLLM(instruction: string, result: string | null) {
  }

  async callTool({ toolName, toolInput }: { toolName: string; toolInput: string }) {
  }
}

好了,上方我们设计了 tool , Agent, llm 的模块设计,下方我们具体来看流程设计。

4.2 流程设计

上面讲到,流程设计主要是 Agent 中的 processInstruction 承接,然后我们之前也梳理了对应的步骤名称的状态机器和具体涉及模块。(下图),实际上,我们去进行实行就可以了。

步骤名称对应的状态机状态设计模块角色需要做的事情
接收用户指令INITIALAgent接收并存储用户的指令
理解指令CALL_LLMLLM解析用户的指令,生成行动计划
调用工具CALL_TOOLAgent, Tool根据行动计划,选择并调用相应的工具
处理工具结果PROCESS_RESULTAgent, LLM接收工具的结果,如果需要,再次调用 LLM 进行处理
输出结果OUTPUT_RESULTAgent将最终的结果返回给用户
class Agent {
  
  async processInstruction(instruction: string) {
    let result = null;
    let actionInfo = null;

    while (this.state !== AgentState.OUTPUT_RESULT && this.state !== AgentState.HANDLE_ERROR) {
      try {
        switch (this.state) {
          case AgentState.INITIAL:
            this.state = AgentState.CALL_LLM;
            break;
          case AgentState.CALL_LLM:
          case AgentState.PROCESS_RESULT:
            actionInfo = await this.callLLM(instruction, result);
            result = this.updateStateBasedOnAction(actionInfo);
            break;
          case AgentState.CALL_TOOL:
            result = await this.callTool(actionInfo.params);
            this.state = AgentState.PROCESS_RESULT;
            break;
          default:
            throw new Error(`Invalid state, ${this.state}`);
        }
      } catch (error) {
        this.state = AgentState.HANDLE_ERROR;
        result = 'An error occurred.';
      }
    }

    return result;
  }
}

5.1 效果

下方我们已经实现了大体的一个代理,这个时候,我们加入日志功能就能从而来看具体效果吧。

下面举两个例子。

  • 天气的例子: What is the weather in Shanghai?

Untitled 3.png

  • 计算例子:What is the result of 100 * 100 - 30?

Untitled 4.png

上方两个例子,符合我们 Agent 的一个流程,我们也能看出他的决策流程。

结论

通过这个项目,我们成功地使用 GPT 实现了 LangChain 中的 Agent 概念。我们设计了一个状态机来描述 Agent 的工作流程。

总的来说,本文的代码不重要,我觉得 Agent 这个概念是更重要的。

Agent 这个概念是非常强大和灵活的,它可以被看作是一个能够理解和执行用户指令的智能实体。在 LangChain 中,Agent 通过调用 LLM(Language Logic Model)和各种工具来完成用户的指令,这种设计使得 Agent 能够处理各种复杂的任务,并且可以通过添加新的工具来扩展其功能。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

LLM之Agent(四)| AgentGPT:一个在浏览器运行的Agent AgentGPT是一个自主人工智能Agent平台,用户只需要为Agent指定一个名称和目标,就可以在浏览器中链接大型语言模型(如GPT-4)来创建和部署Agent平台。不使用Docker,用户需要使用setup.sh配置ENV,同时需要更新Prisma配置文件以指向本地SQLite实例。所有服务启动后,可以在浏览器输入http://localhost:3000即可。所有服务启动后,可以在浏览器输入http://localhost:3000即可。PS:需要提前安装好Docker。 阅读详情

相关推荐

智能体(Agent)实战——从gpts到auto gen

该 Agent 是一种智能化助理,专为研究人员和学生设计,用于调研计算机领域顶级会议的论文。它能够自动访问各大顶级会议网站,搜索并下载相关论文,并对论文内容进行整理分析,最终生成易于理解的思维导图。这些思维导图旨在帮助用户快速把握论文的核心内容、研究方法、实验结果和研究意义。

qq_52053775的博客 871

AgentGPT,免费易用的 Auto-GPT 平替

你问 ChatGPT 答,属于单线问答式交互。但如果你问Auto-GPT,他会分解成N个任务,并且在遇到任务无法完成后,会尝试其它的方式来完成任务,很像老板交待你一个任务,中间的过程他不过问,遇到问题你自己想办法通过其它任务来解决,最终只要提供一个结果给他就好。今天就带你认识一个这样的工具,能够根据用户需求,在用户完全不插手的情况下自主执行任务,包括日常的事件分析、营销方案撰写、代码编程、数学运算...

东南草堂 9711

使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战: AI Agent 的设计与实现

在现代企业中,业务流程自动化是提高效率、降低成本的重要手段。通过AI技术,尤其是自然语言处理(NLP)的进步,我们可以设计出能够自动执行业务流程任务的智能代理(AI Agent)。本文将详细介绍如何利用GPT大模型构建一个AI Agent,使其能够理解业务流程任务的指令并自动执行它们。自动化机器人(Artificial Intelligence (AI) agent)可以帮助企业更好地管理其内部复杂的业务流程和工作流。

AI天才研究院 452

AI Agent应用——AgentGPT技术详解

作者:yeyan,中国地质大学 工程硕士 来自:青稞AI1.背景由于chatpgt的发展,除了基础的问答需求,利用chatgpt完成一系列复杂任务的需求也应用而生,产生了很多关于ai agent的应用框架,具体应用如下图,包括开源和商业的。图来自https://github.com/e2b-dev/awesome-ai-agents得益于llm模型的强大能力,将llm作为大脑,ai agent可...

zenRRan的博客 4986

使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战:Part 7 AI Agent 的设计与实现

1.背景介绍 概述 在本系列教程中,我们将使用RPA(如Rhino、Automate.AI或Botium)进行业务流程自动化。对于复杂的业务流程,通常需要执行多个重复性操作,因此可以通过机器人Agent的方式来提升效率。而如何训练一个Agent,来完成业务流程的自动化是一个重要的课题。本文介绍了一个基于GPT-2大模型

AI天才研究院 448

使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战:实现与部署Agent的最佳实践

1.背景介绍 随着人工智能技术的不断发展,自动化已经成为许多企业的核心战略。在这个过程中,人工智能自动化(AI-A)已经成为企业应用中最重要的技术之一。在这篇文章中,我们将探讨如何使用RPA(流程自动化)和GPT大模型AI Agent来自动执行业务流程任务,从而实现企业级应用的开发和部署。 首先,我们需要了解RPA和GPT大模型AI Ag

AI天才研究院 439

基于GPT+Langchain Agent实现的智能语音管家

介绍自己写的一个基于GPT、Langchain Agent实现的智能语音管家。

qq_37868876的博客 1913

使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战:实现自动化办公的核心技术

1.背景介绍 概述 最近,随着人工智能(AI)的发展,实现各种复杂的任务都变得越来越容易了。因此,基于人的智能助手代替人类进行重复性、繁琐的工作,使工作效率提高到一个前所未有的水平。近年来,智能助手的数量急剧增长,例如,百度和腾讯开设的在线客服、机器人等产品已经可以帮助用户解决日常生活中的各种问题。这些智能助手的出现给

AI天才研究院 265

超越GPT4的Agent,我用代码实现了!

在构建智能体系统时,状态管理是非常关键的。我们需要一个状态类来跟踪智能体的状态,这包括问题的当前描述、已生成的代码、迭代次数等信息。这个。

python12345678_的博客 1058

使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战:打破数据孤岛,实现业务流程的真正自动化

1.背景介绍 工业生产中存在着大量重复性、相似性高的工作流程,在企业级应用开发中,如何将这些重复性的工作流程自动化,从而提升效率,缩短开发周期,降低成本?我们可以借助于机器学习技术与人工智能技术,结合业务需求,基于规则引擎或者图形用户界面(GUI)等工具开发出能够高度自动化的“自动化执行器”(RPA),来执行企业级应用开发中的大量重复性、相似性高的工作

AI天才研究院 282

Axial Attention 和 Criss-Cross Attention及其代码实现

Axial Attention 和 Criss-Cross Attention及其代码实现 ​ 文章目录Axial Attention 和 Criss-Cross Attention及其代码实现1 Criss - Cross Attention介绍1.1 引言1.2 理论实现1.2.1 获取权重A1.2.2 Affinity操作1.3.3 全部信息获取1.3 代码实现1.3.1 官方实现1.3.2 纯pytorch实现2 Axial Attention 介绍2.1 引言2.2 理论实现2.3 代码实现2.3

fzl的博客 2万+

Astra Prompt工程实战:用GPT-4 Turbo实现类GPT-6级Agent能力

Prompt工程已从简单指令优化,演进为面向生产级Agent的系统化协议设计。其核心原理在于将大模型视为可编排的执行引擎,通过结构化分层(System/Context/Task/Guardrail)、异步工具调用与中段转向(Mid-turn Steering)等机制,突破单次调用的能力边界。这种技术路径不依赖新模型发布,却能显著提升工具调用成功率、降低无效追问,并支撑金融风控、工业诊断、教育路径生成等强约束真实场景。本文聚焦Astra协议——一种以Prompt Token Economy为评估基准、强调删减

weixin_34254848的博客 221

ADS系列之SI&PI仿真笔记:ADS多种版本的安装、卸载&重装(一)

此系列仅作为ADS学习过程的记录,如有错误的地方还请大佬指正! 一、下载&安装 ADS软件下载&安装还算比较简单,目前接触到有两个版本:ADS2017和ADS2019。这里贴下链接,破解教程里面都有: ADS2017下载地址:https://pan.baidu.com/s/1l-Bs9owKRmp5Pv0Mt92OYA 提取码:wuzf ADS2019下载地址:吴川斌的博客-w...

Claudedy的博客 3万+

GPT-5视频Agent震撼登场:一句话生成整片,全流程代劳,轻松实现导演梦!

AI视频创作迎来革命性飞跃!VideoOcean通过智能Agent系统,实现"一句话生成完整视频"的突破性体验。这款全球首个接入GPT-5的视频创作平台,将传统需要数周的多工种协作流程压缩至分钟级,用户只需输入简单指令(如"生成2分钟猫咪冒险短片"),AI即可自动完成分镜、配音、剪辑等全流程。其核心创新在于:1)重构创作范式,从单镜头生成升级为全流程自动化;2)支持商用级内容生产;3)内置持续学习机制记忆用户风格。该平台测试期间引发全球创作者狂热追捧,14国115位用

2401_85343303的博客 1170

全景相机APP

以下是一款**全景相机APP**的完整源码,支持全景照片拍摄(多帧拼接)、全景预览、鱼眼矫正、图片保存/分享、360°全景查看等核心功能,基于Android原生Camera2 API(替代过时的Camera API) + OpenCV(图像拼接) + GLSurfaceView(全景预览)实现,适配Android 8.0+设备,可直接编译运行。runOnUiThread(() -> tvFrameCount.setText("已拍摄:" + frameCount + "帧"));// X轴旋转(上下)

寒寒豆豆软件公司的博客 180

手把手教你学SIMULINK模块库文件专栏-From Workspace 模块详解

模块是 Simulink 中的一个信号源模块,用于从 MATLAB 工作区加载数据作为输入信号。该模块允许用户将预先在 MATLAB 中生成的数据(如时间序列、矩阵或结构体)导入到 Simulink 模型中,从而实现更灵活的信号输入和仿真控制。通过深入了解其参数的影响及结合 MATLAB 脚本的应用,读者可以更加有效地利用这一模块进行仿真和研究。此外,通过实际应用场景的扩展以及常见问题解答部分的帮助,能够更好地掌握。模块是一个非常灵活的工具,适用于需要从 MATLAB 工作区加载数据的各种场景。

MHD0815的博客 633

GPT-5.4原生控电脑!Java+Spring AI实现键鼠自动化,这才是AI Agent终极形态

GPT-5.4的Computer Use能力让AI能"看"屏幕、"动"鼠标。本文用Java+Spring AI搭建一套自动化框架,实现AI直接操控你的电脑完成任务。全程手写代码,从截图识别到键鼠执行,打造真正的数字员工。以前总有人说Java不适合搞AI,只能写CRUD。但Spring AI这半年的进化速度有目共睹,从简单的文本补全到现在能对接多模态大模型控制计算机,Java在企业级AI应用上的壁垒反而成了优势——类型安全、生态成熟、运维方便。

HHX_01的博客 871

Django 6.0:有哪些新特性以及它们对实际项目的重要性

Django 6.0 感觉像是一个成熟的版本,它基于实际应用案例而打造。它减少了不必要的复杂性,同时扩展了框架的开箱即用功能。升级到 Django 6.0 不仅仅是为了保持版本更新,更是为了构建更易于维护、更安全、更能适应未来发展的应用程序。

iCloudEnd的博客 341
上一篇: 大模型爆火的NLP书籍来了!!《掌握NLP:从基础到大语言模型》附PDF,手慢无!
下一篇: 不懂知识图谱的你,正在失去转行做AI产品经理的机会
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值