CN118012618A - 接口请求的调度方法、装置、计算机设备、存储介质 - Google Patents
接口请求的调度方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN118012618A CN118012618A CN202410186999.7A CN202410186999A CN118012618A CN 118012618 A CN118012618 A CN 118012618A CN 202410186999 A CN202410186999 A CN 202410186999A CN 118012618 A CN118012618 A CN 118012618A
- Authority
- CN
- China
- Prior art keywords
- request
- application program
- account
- program interface
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 9
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种接口请求的调度方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:接收待处理的应用程序接口请求;检测各个应用程序接口账户的请求频率和剩余请求配额;根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户;将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型。采用本方法不仅能够有效管理多个应用程序接口账户的请求频率限制,提高应用程序整体的稳定性和响应能力,还能够提高应用程序接口账户请求资源的利用效率,减少因请求超限而浪费的应用程序接口请求配额。
Description
技术领域
本申请涉及请求管理技术领域,特别是涉及一种接口请求的调度方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
大型语言模型(Large Language Model,简称LLM)是一种基于海量文本数据训练的深度学习模型。目前,常用的大型语言模型如开放人工智能模型OpenAI、微软模型、人工智能模型Claude、千帆模型等,为保障在高并发场景下的稳定运行,通常会配置有与应用程序接口(Application Programming Interface,以下简称API)相关的流量限制策略。
也即,当用户通过API账户请求调度上述任一种大型语言模型时,其发送的API请求频率和API请求数量是受阈值限制的。一旦检测到出现请求超限的情况时,则会导致该API账户发送的模型调度请求被拒绝。
然而,随着自然语言处理技术的进一步发展,出现了组合性使用多个大型语言模型的应用程序。用户可以通过在应用程序中注册多个API账户以保障自身的API请求被模型接收。但如何有效地分配每个API账户的请求,以保证应用程序服务的稳定性和效率,成为一个亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高各API账户请求资源利用率的接口请求的调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种接口请求的调度方法,包括:
接收待处理的应用程序接口请求;
检测各个应用程序接口账户的请求频率和剩余请求配额;
根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户;
将所述应用程序接口请求分配至所述目标接口账户,以通过所述目标接口账户请求调用对应的大型语言模型。
在其中一个实施例中,所述根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户,包括:
确定所述请求频率与预设频率阈值之间的频率比较结果,以及所述剩余请求配额与所述应用程序接口请求的请求数量之间的数量比较结果,所述预设频率阈值是根据各个所述应用程序接口账户对应的大型语言模型的请求频率限制确定的;
基于所述频率比较结果和所述数量比较结果,生成所述请求分发权重;
根据所述请求分发权重对各个所述应用程序接口账户进行排序,确定各个所述应用程序接口账户的请求分发优先级;
响应于所述请求分发优先级满足预设的请求分配策略,将所述请求分发优先级对应的应用程序接口账户确定为所述目标接口账户。
在其中一个实施例中,在所述将所述应用程序接口请求分配至所述目标接口账户之前,还包括:
确定所述请求频率与所述预设频率阈值之间的差值;
响应于所述差值小于预设阈值,移除当前的目标接口账户;
对所述请求分配策略进行调整,并基于新的请求分配策略从剩余的应用程序接口账户中重新确定出新的目标接口账户。
在其中一个实施例中,所述方法还包括:
轮询调度与各个所述应用程序接口账户对应的大型语言模型,确定每个所述大型语言模型的请求频率限制、并发量和请求上限值;
基于预设的模型调度规则,利用所述请求频率限制、所述并发量和所述请求上限值生成与每个所述大型语言模型对应的请求接收概率;
根据所述请求接收概率,更新各个所述应用程序接口账户的请求分发权重。
在其中一个实施例中,在所述根据所述请求接收概率,更新各个所述应用程序接口账户的请求分发权重之前,还包括:
获取调度调整参数,所述调度调整参数是基于当前的业务场景和请求模式确定的;
根据所述调度调整参数对所述模型调度规则进行更新,并采用更新后的模型调度规则重新生成与每个所述大型语言模型对应的请求接收概率。
在其中一个实施例中,所述方法还包括:
接收所述大型语言模型返回的与所述应用程序接口请求对应的处理结果;
根据所述处理结果确定所述目标接口账户的调度成功率和资源利用率;
利用所述调度成功率和所述资源利用率生成接口请求调度报告。
第二方面,本申请还提供了一种接口请求的调度装置,包括:
请求接收模块,用于接收待处理的应用程序接口请求;
账户检测模块,用于检测各个应用程序接口账户的请求频率和剩余请求配额;
账户确定模块,用于根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户;
请求分配模块,用于将所述应用程序接口请求分配至所述目标接口账户,以通过所述目标接口账户请求调用对应的大型语言模型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项实施例所述的接口请求的调度方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项实施例所述的接口请求的调度方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项实施例所述的接口请求的调度方法。
上述接口请求的调度方法、装置、计算机设备、存储介质和计算机程序产品,通过接收待处理的应用程序接口请求;检测各个应用程序接口账户的请求频率和剩余请求配额;根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户;将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型,不仅能够有效管理多个应用程序接口账户的请求频率限制,提高应用程序整体的稳定性和响应能力,还能够提高应用程序接口账户请求资源的利用效率,减少因请求超限而浪费的应用程序接口请求配额。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中接口请求的调度方法的应用环境图;
图2为一个实施例中接口请求的调度方法的流程示意图;
图3为一个实施例中目标接口账户确定步骤的流程示意图;
图4为一个实施例中请求分配策略调整步骤的流程示意图;
图5为一个实施例中请求分发权重更新步骤的流程示意图;
图6为一个实施例中接口请求调度报告生成步骤的流程示意图;
图7为另一个实施例中接口请求的调度方法的流程示意图;
图8为一个实施例中接口请求的调度装置800的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本申请实施例提供的接口请求的调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。具体地,服务器104可以通过终端102接收待处理的应用程序接口请求。检测当前应用系统内部的,各个应用程序接口账户的请求频率和剩余请求配额。根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户。将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种接口请求的调度方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤S202至步骤S208。其中:
步骤S202,接收待处理的应用程序接口请求。
其中,应用程序接口请求,也即API请求,可以用于表征一种针对大型语言模型的应用程序接口的使用请求。
可选地,在一些实施方式中,应用程序接口请求可以是用户在终端设备中应用程序的客户端界面内通过交互操作触发的。或者,在另一些实施方式中,应用程序接口请求也可以是服务器基于定时任务在预定周期内自动触发的。
步骤S204,检测各个应用程序接口账户的请求频率和剩余请求配额。
其中,应用程序接口账户,也即API账户,可以用于表示一种在使用应用程序接口时需要注册的账户。可选地,在一些实施方式中,应用程序接口账户在服务器中可以采用互联网协议地址(Internet Protocol Address,简称IP地址)的方式来存储。
请求频率可以表示应用程序接口账户在单位时间段内请求调度大型语言模型的次数。
剩余请求配额可以表示应用程序接口账户在预设周期内未使用的请求调度次数。
示例性地,服务器中可以预先配置有与大型语言模型请求频率限制相关的预设检测周期,以及与各个应用程序接口账户对应的在每个检测周期内的固定请求配额。服务器可以实时监控各个应用程序接口账户,采集应用程序接口账户的运行日志。基于预设检测周期,从运行日志中确定出各个应用程序接口账户在当前使用周期内发送的请求次数。利用各个应用程序接口账户发送的请求次数以及预设检测周期计算得到各个应用程序接口账户的请求频率。利用各个应用程序接口账户发送的请求次数以及各个应用程序接口账户的固定请求配额,计算得到各个应用程序接口账户的剩余请求配额。
步骤S206,根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户。
其中,请求分发权重用于表征应用程序接口账户在该应用程序接口请求的分发过程中的重要程度。
目标接口账户可以用于表征应用程序接口请求的分发对象。
可选地,在一些实施方式中,服务器可以基于请求频率的高低以及剩余请求配额的大小,对各个应用程序接口账户的请求分发能力进行评估,生成与每个应用程序接口账户对应的请求分发权重。
或者,在另一些实施方式中,服务器可以将各个应用程序接口账户的请求频率与应用程序接口账户对应的大型语言模型的请求频率限制进行比较,将各个应用程序接口账户的剩余请求配额与零进行比较,从而生成与每个应用程序接口账户对应的请求分发权重。
步骤S208,将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型。
可选地,在一些实施方式中,当应用程序接口请求只有一个,或者当应用程序接口请求的数量不超过单个目标接口账户的剩余请求配额时,可以直接将应用程序接口请求分配至该目标接口账户,以通过该目标接口账户请求调用对应的大型语言模型,从而将应用程序接口请求发送至大型语言模型处理。
或者,在另一些实施方式中,当目标接口账户的数量为多个(例如与同一大型语言模型对应的应用程序接口账户可以有多个,且每个应用程序接口账户可以配置有不同的固定请求配额),且单个目标接口账户的剩余请求配额小于应用程序接口请求的请求数量时,可以将应用程序接口请求分配至不同的目标接口账户,以通过不同的目标接口账户请求调用对应的大型语言模型。
上述接口请求的调度方法中,通过接收待处理的应用程序接口请求;检测各个应用程序接口账户的请求频率和剩余请求配额;根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户;将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型,不仅能够有效管理多个应用程序接口账户的请求频率限制,提高应用程序整体的稳定性和响应能力,还能够提高应用程序接口账户请求资源的利用效率,减少因请求超限而浪费的应用程序接口请求配额。
在一个示例性的实施例中,如图3所示,上述步骤S206还可以包括以下步骤S302至步骤S308。其中:
步骤S302,确定请求频率与预设频率阈值之间的频率比较结果,以及剩余请求配额与应用程序接口请求的请求数量之间的数量比较结果。
其中,预设频率阈值可以是根据应用程序接口账户对应的大型语言模型的请求频率限制确定的。
示例性地,服务器可以分别对各个应用程序接口账户执行以下操作:将当前应用程序接口账户的请求频率与当前应用程序接口账户对应的预设频率阈值进行比较,将当前应用程序接口账户的剩余请求配额与应用程序接口请求的请求数量进行比较。从而确定各个应用程序接口账户的频率比较结果以及数量比较结果。
步骤S304,基于频率比较结果和数量比较结果,生成请求分发权重。
示例性地,服务器可以基于预设业务规则,利用频率比较结果以及数量比较结果生成与各个应用程序接口账户对应的请求分发权重。
可选地,在一些实施方式中,服务器可以预先存储有以下预设业务规则,当频率比较结果为请求频率等于预设频率阈值时,直接生成对应的请求分发权重为零。当频率比较结果为请求频率小于预设频率阈值,且数量比较结果为剩余请求配额小于请求数量时,可以生成对应的请求分发权重为零点五。当频率比较结果为请求频率小于预设频率阈值,且数量比较结果为剩余请求配额大于请求数量时,可以生成对应的请求分发权重为一。
步骤S306,根据请求分发权重对各个应用程序接口账户进行排序,确定各个应用程序接口账户的请求分发优先级。
示例性地,服务器可以根据请求分发权重的数值大小,按照从小到大或者从大的顺序对各个应用程序接口账户进行排序,将各个应用程序接口账户的排序结果作为对应的请求分发优先级。
步骤S308,响应于请求分发优先级满足预设的请求分配策略,将请求分发优先级对应的应用程序接口账户确定为目标接口账户。
可选地,在一些实施方式中,服务器内可以配置有以下预设的请求分配策略:将请求分发优先级最高的应用程序接口账户作为目标接口账户。或者,在另一些实施方式中,也可以配置有以下请求分配策略:将请求分发优先级在前30%的应用程序接口账户作为目标接口账户。
服务器可以采用上述请求分配策略对各个应用程序接口账户的请求分发优先级进行判断,响应于请求分发优先级满足上述请求分配策略,将当前判断的请求分发优先级对应的应用程序接口账户确定为目标接口账户。
本实施例中,通过利用请求频率和请求频率限制对应的预设频率阈值之间的频率比较结果,以及剩余请求配额与请求数量的数量比较结果,确定各个应用程序接口账户的请求分发权重,基于请求分发权重对应的请求分发优先级以及预设的请求分配策略确定目标接口账户,能够降低后续应用程序接口请求被大型语言模型拒接的概率,从而有助于保障应用程序的运行稳定性。
在一个示例性的实施例中,如图4所示,在上述步骤S208之前,还可以包括以下步骤S402至步骤S406。其中:
步骤S402,确定请求频率与预设频率阈值之间的差值。
步骤S404,响应于差值小于预设阈值,移除当前的目标接口账户。
示例性地,服务器可以对当前处理的目标接口账户的请求频率与对应的预设频率阈值进行运算处理,确定当前处理的目标接口账户的请求频率与预设频率阈值之间的差值。响应于差值小于预设阈值,确定当前处理的目标接口账户接近对应的大型语言模型的请求频率限制。为避免后续应用程序接口请求可能被大型语言模型拒接,因此可以移除当前的目标接口账户。
步骤S406,对请求分配策略进行调整,并基于新的请求分配策略从剩余的应用程序接口账户中重新确定出新的目标接口账户。
示例性地,服务器可以对当前使用的请求分配策略进行调整,例如,将原有的请求分配策略中仅选取请求分发优先级最高的作为目标接口账户的策略,修改为选取请求分发优先级第二的作为目标接口账户,或者,修改为选取请求分发优先级前10%的作为目标接口账户。
服务器可以基于调整后得到的新的请求分配策略从剩余的应用程序接口账户中重新确定出满足新的请求分配策略的目标接口账户。
本实施例中,通过当检测到目标接口账户的请求频率接近限制时,自动调整请求分配策略,防止应用程序接口请求被拒绝,能够避免应用程序服务中断,有助于提高应用程序的运行稳定性。
在一个示例性的实施例中,如图5所示,本申请提供的接口请求的调度方法还可以包括以下步骤S502至步骤S506。其中:
步骤S502,轮询调度与各个应用程序接口账户对应的大型语言模型,确定每个大型语言模型的请求频率限制、并发量和请求上限值。
示例性地,服务器可以每隔预设时间间隔轮询调度与各个应用程序接口账户对应的大型语言模型,采集各个大型语言模型的运行日志以及模型配置文件。从运行日志中确定出每个大型语言模型实时的并发量。从模型配置文件中确定出每个大型语言模型的请求频率限制及请求上限值。
步骤S504,基于预设的模型调度规则,利用请求频率限制、并发量和请求上限值生成与每个大型语言模型对应的请求接收概率。
示例性地,服务器中可以存储预设的模型调度规则。例如,在多个大型语言模型均能处理应用程序接口请求的情况下,优先向并发量最低的大型语言模型进行调度;或者,优先向请求上限值最高的大型语言模型进行调度;或者优先向请求频率限制较高的大型语言模型进行调度。
服务器可以基于预设的模型调度规则,利用每个大型语言模型实时的请求频率限制、并发量和请求上限值预测当前调用该大型语言模型的概率分布,从而生成与每个大型语言模型对应的请求接收概率。
步骤S506,根据请求接收概率,更新各个应用程序接口账户的请求分发权重。
可选地,在一些实施方式中,服务器可以根据请求接收频率,将请求接收频率低于预设频率阈值的大型语言模型对应的应用程序接口账户的请求分发权重降低。从而降低后续调用应用程序接口账户向该大型语言模型发送应用程序接口请求的速度、频率或数量。
或者,在另一些实施方式中,也可以根据请求接收频率,将请求接收频率高于预设频率阈值的大型语言模型对应的应用程序接口账户的请求分发权重提高。从而提高后续调用应用程序接口账户向该大型语言模型发送应用程序接口请求的速度、频率或数量。
本实施例中,通过轮询调度与各个应用程序接口账户对应的大型语言模型,确定大型语言模型的请求频率限制、并发量和请求上限值,基于当前使用的预设的模型调度规则,以及请求频率限制、并发量和请求上限值预测调用各个大型语言模型的概率分布,生成对应的请求接收概率,并根据请求接收概率对大型语言模型对应的应用程序接口账户的请求分发权重进行更新,能够将大型语言模型的性能纳入应用程序接口请求分发的决策中,从而有助于提高后续接口请求的调度成功率。
在一个示例性的实施例中,在上述步骤S506之前,还可以包括:获取调度调整参数,调度调整参数是基于当前的业务场景和请求模式确定的;根据调度调整参数对模型调度规则进行更新,并采用更新后的模型调度规则重新生成与每个大型语言模型对应的请求接收概率。
可选地,在一些实施方式中,服务器可以通过终端设备接收用户输入的与当前的业务场景相关的场景标识。服务器可以通过终端设备获取用户选择的当前的请求模式。基于预先存储的场景标识及请求模式与调整参数之间的映射关系,确定出当前的调度调整参数。
或者,在另一些实施方式中,服务器也可以直接采集应用程序在当前业务场景下的请求并发量、请求响应速度、请求处理成功率等性能参数。基于采集到的性能参数,确定与当前的业务场景和请求模式对应的调度调整参数。
服务器可以根据调度调整参数对当前使用的模型调度规则进行更新,例如,改变请求频率限制、并发量或请求上限值在概率分布中的决策值,从而得到更新后的符合当前业务场景和请求模式的新的模型调度规则。可以采用更新后的模型调度规则,利用各个大型语言模型的请求频率限制、并发量或请求上限值重新生成与每个大型语言模型对应的请求接收概率。
本实施例中,通过基于当前的业务场景和请求模式,采用对应的调度调整参数对模型调度规则进行更新,并采用更新后的模型调度规则重新生成对应的请求接收概率,能够提高接口请求调度方法的灵活性,实现模型调度在不同的业务场景和请求模式的自适应优化。
在一个示例性的实施例中,如图6所示,本申请提供的接口请求的调度方法还可以包括以下步骤S602至步骤S606。其中:
步骤S602,接收大型语言模型返回的与应用程序接口请求对应的处理结果。
步骤S604,根据处理结果确定目标接口账户的调度成功率和资源利用率。
步骤S606,利用调度成功率和资源利用率生成接口请求调度报告。
示例性地,服务器在将应用程序接口请求分配至目标接口账户之后,接收通过目标接口账户请求调用的大型语言模型返回的与应用程序接口请求对应的处理结果。根据处理结果确定当前的应用程序接口请求是否被成功处理,从而确定与目标接口账户对应的调度成功率。利用目标接口账户的剩余请求配额与目标接口账户调度成功时所消耗的请求配额,可以计算得到目标接口账户的资源利用率。利用目标接口账户在预设检测周期内的调度成功率和资源利用率,可以生成接口请求调度报告。
可选地,在另一些实施方式中,还可以从处理结果中提取出目标接口账户的调度效率、调度成本等关键性能指标参数。服务器还可以利用调度成功率、资源利用率以及关键性能指标参数生成接口请求调度报告。
本实施例中,通过记录目标接口账户对大型语言模型的请求调用情况,接收大型语言模型返回的处理结果,利用处理结果中提取出的调度成功率、资源利用率等关键性能指标参数生成接口请求调度报告,能够提高接口请求调度方法的信息透明度和可追溯性。
在一个示例性的实施例中,如图7所示,还提供了一种接口请求的调度方法,包括以下步骤S702至步骤S712。其中:
步骤S702,接收待处理的应用程序接口请求,检测各个应用程序接口账户的请求频率和剩余请求配额。
步骤S704,基于请求频率和预设频率阈值之间的频率比较结果,以及剩余请求配额与请求数量之间的数量比较结果,生成各个应用程序接口账户的请求分发权重。
步骤S706,轮询调度与各个应用程序接口账户对应的大型语言模型,基于预设的模型调度规则,利用每个大型语言模型的请求频率限制、并发量和请求上限值生成对应的请求接收概率。
可选地,在另一些实施方式中,服务器还可以获取基于当前的业务场景和请求模式确定的调度调整参数。采用预设算法(如机器学习、启发式算法等)对调度调整参数和模型调度规则进行处理,以实现对模型调度规则的更新,使其更新后的模型调度规则更适应于当前的业务场景和请求模式。
步骤S708,根据请求接收概率更新各个应用程序接口账户的请求分发权重,并基于更新后的请求分发权重以及预设的请求分配策略,确定出目标接口账户。
可选地,在另一些实施方式中,当检测到目标接口账户的请求频率与对应的大型语言模型的预设频率阈值之间的差值小于预设阈值时,可以移除当前的目标接口账户,并自动调整当前使用的请求分配策略,防止通过目标接口账户发送的应用程序接口请求被大型语言模型拒接,从而提高接口请求的成功率。
步骤S710,将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型。
步骤S712,根据大型语言模型返回的处理结果,生成接口请求调度报告。
本实施例中,通过实时监控每个应用程序接口账户的请求频率和剩余请求配额,基于预设的请求分配规则和实时监控数据,动态地将应用程序接口请求分配至对应的目标接口账户,能够提高请求分配的准确性,实现动态智能分配。通过基于当前的业务场景和请求模式对模型调度规则进行调整优化,当检测到目标接口账户的请求频率接近大型语言模型的请求频率限制时,自动调整请求分配策略,防止请求被拒绝,能够避免请求拒绝和服务中断,有效地管理多个应用程序接口账户的请求频率限制,从而提高应用程序接口账户的请求资源利用效率,减少因请求超限而浪费的请求配额,提高整体系统的稳定性和响应能力。通过记录目标接口账户对大型语言模型的请求调用情况,生成对应的接口请求调度报告,能够提高应用程序的信息透明度和可追溯性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的接口请求的调度方法的接口请求的调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个接口请求的调度装置实施例中的具体限定可以参见上文中对于接口请求的调度方法的限定,在此不再赘述。
在一个示例性的实施例中,如图8所示,提供了一种接口请求的调度装置800,包括:请求接收模块802、账户检测模块804、账户确定模块806和请求分配模块808,其中:
请求接收模块802,用于接收待处理的应用程序接口请求。
账户检测模块804,用于检测各个应用程序接口账户的请求频率和剩余请求配额。
账户确定模块806,用于根据请求频率和剩余请求配额生成与每个应用程序接口账户对应的请求分发权重,并基于请求分发权重从各个应用程序接口账户中确定出目标接口账户。
请求分配模块808,用于将应用程序接口请求分配至目标接口账户,以通过目标接口账户请求调用对应的大型语言模型。
在一个示例性的实施例中,账户确定模块806,还用于确定请求频率与预设频率阈值之间的频率比较结果,以及剩余请求配额与应用程序接口请求的请求数量之间的数量比较结果,预设频率阈值是根据各个应用程序接口账户对应的大型语言模型的请求频率限制确定的;基于频率比较结果和数量比较结果,生成请求分发权重;根据请求分发权重对各个应用程序接口账户进行排序,确定各个应用程序接口账户的请求分发优先级;响应于请求分发优先级满足预设的请求分配策略,将请求分发优先级对应的应用程序接口账户确定为目标接口账户。
在一个示例性的实施例中,接口请求的调度装置800还包括:策略更新模块,用于确定请求频率与预设频率阈值之间的差值;响应于差值小于预设阈值,移除当前的目标接口账户;对请求分配策略进行调整,并基于新的请求分配策略从剩余的应用程序接口账户中重新确定出新的目标接口账户。
在一个示例性的实施例中,接口请求的调度装置800还包括:权重更新模块,用于轮询调度与各个应用程序接口账户对应的大型语言模型,确定每个大型语言模型的请求频率限制、并发量和请求上限值;基于预设的模型调度规则,利用请求频率限制、并发量和请求上限值生成与每个大型语言模型对应的请求接收概率;根据请求接收概率,更新各个应用程序接口账户的请求分发权重。
在一个示例性的实施例中,策略更新模块,还用于获取调度调整参数,调度调整参数是基于当前的业务场景和请求模式确定的;根据调度调整参数对模型调度规则进行更新,并采用更新后的模型调度规则重新生成与每个大型语言模型对应的请求接收概率。
在一个示例性的实施例中,接口请求的调度装置800还包括:报告生成模块,用于接收大型语言模型返回的与应用程序接口请求对应的处理结果;根据处理结果确定目标接口账户的调度成功率和资源利用率;利用调度成功率和资源利用率生成接口请求调度报告。
上述接口请求的调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用程序接口请求、各个应用程序接口账户的请求频率、剩余请求配额和请求分发权重等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口请求的调度方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种接口请求的调度方法,其特征在于,所述方法包括:
接收待处理的应用程序接口请求;
检测各个应用程序接口账户的请求频率和剩余请求配额;
根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户;
将所述应用程序接口请求分配至所述目标接口账户,以通过所述目标接口账户请求调用对应的大型语言模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户,包括:
确定所述请求频率与预设频率阈值之间的频率比较结果,以及所述剩余请求配额与所述应用程序接口请求的请求数量之间的数量比较结果,所述预设频率阈值是根据各个所述应用程序接口账户对应的大型语言模型的请求频率限制确定的;
基于所述频率比较结果和所述数量比较结果,生成所述请求分发权重;
根据所述请求分发权重对各个所述应用程序接口账户进行排序,确定各个所述应用程序接口账户的请求分发优先级;
响应于所述请求分发优先级满足预设的请求分配策略,将所述请求分发优先级对应的应用程序接口账户确定为所述目标接口账户。
3.根据权利要求2所述的方法,其特征在于,在所述将所述应用程序接口请求分配至所述目标接口账户之前,还包括:
确定所述请求频率与所述预设频率阈值之间的差值;
响应于所述差值小于预设阈值,移除当前的目标接口账户;
对所述请求分配策略进行调整,并基于新的请求分配策略从剩余的应用程序接口账户中重新确定出新的目标接口账户。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
轮询调度与各个所述应用程序接口账户对应的大型语言模型,确定每个所述大型语言模型的请求频率限制、并发量和请求上限值;
基于预设的模型调度规则,利用所述请求频率限制、所述并发量和所述请求上限值生成与每个所述大型语言模型对应的请求接收概率;
根据所述请求接收概率,更新各个所述应用程序接口账户的请求分发权重。
5.根据权利要求4所述的方法,其特征在于,在所述根据所述请求接收概率,更新各个所述应用程序接口账户的请求分发权重之前,还包括:
获取调度调整参数,所述调度调整参数是基于当前的业务场景和请求模式确定的;
根据所述调度调整参数对所述模型调度规则进行更新,并采用更新后的模型调度规则重新生成与每个所述大型语言模型对应的请求接收概率。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
接收所述大型语言模型返回的与所述应用程序接口请求对应的处理结果;
根据所述处理结果确定所述目标接口账户的调度成功率和资源利用率;
利用所述调度成功率和所述资源利用率生成接口请求调度报告。
7.一种接口请求的调度装置,其特征在于,所述装置包括:
请求接收模块,用于接收待处理的应用程序接口请求;
账户检测模块,用于检测各个应用程序接口账户的请求频率和剩余请求配额;
账户确定模块,用于根据所述请求频率和所述剩余请求配额生成与每个所述应用程序接口账户对应的请求分发权重,并基于所述请求分发权重从各个所述应用程序接口账户中确定出目标接口账户;
请求分配模块,用于将所述应用程序接口请求分配至所述目标接口账户,以通过所述目标接口账户请求调用对应的大型语言模型。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410186999.7A CN118012618A (zh) | 2024-02-20 | 2024-02-20 | 接口请求的调度方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410186999.7A CN118012618A (zh) | 2024-02-20 | 2024-02-20 | 接口请求的调度方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118012618A true CN118012618A (zh) | 2024-05-10 |
Family
ID=90942815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410186999.7A Pending CN118012618A (zh) | 2024-02-20 | 2024-02-20 | 接口请求的调度方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118012618A (zh) |
-
2024
- 2024-02-20 CN CN202410186999.7A patent/CN118012618A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695697B (zh) | 多方联合决策树构建方法、设备及可读存储介质 | |
CN110990138B (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN110069341B (zh) | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN109510869A (zh) | 一种基于边缘计算的物联网服务动态卸载方法及装置 | |
CN113037877A (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
CN114461407B (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN113012336A (zh) | 银行业务的排队预约方法及其装置、存储介质和设备 | |
CN114461384A (zh) | 任务执行方法、装置、计算机设备和存储介质 | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN117271100B (zh) | 算法芯片集群调度方法、装置、计算机设备和存储介质 | |
CN117149382A (zh) | 虚拟机调度方法、装置、计算机设备和存储介质 | |
CN111813529A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116860470A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN118012618A (zh) | 接口请求的调度方法、装置、计算机设备、存储介质 | |
CN112363831B (zh) | 风控处理方法、装置、计算机设备和存储介质 | |
US11720414B2 (en) | Parallel execution controller for partitioned segments of a data model | |
CN111049919B (zh) | 一种用户请求的处理方法、装置、设备及存储介质 | |
CN106888237B (zh) | 一种数据调度方法及系统 | |
CN115391042B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN118093186A (zh) | 应用于大规模数学计算的自适应负载均衡方法及装置 | |
CN116302547A (zh) | 负载均衡处理方法、装置、设备、介质和计算机程序产品 | |
CN117132348A (zh) | 资源交互方法、装置、计算机设备和存储介质 | |
CN118277057A (zh) | 基于云边协同的电力系统任务处理方法、系统和装置 | |
CN118708344A (zh) | 资源调度方法、装置、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |