CN116436969B - 一种人工智能引擎代理方法及装置 - Google Patents
一种人工智能引擎代理方法及装置 Download PDFInfo
- Publication number
- CN116436969B CN116436969B CN202310710088.5A CN202310710088A CN116436969B CN 116436969 B CN116436969 B CN 116436969B CN 202310710088 A CN202310710088 A CN 202310710088A CN 116436969 B CN116436969 B CN 116436969B
- Authority
- CN
- China
- Prior art keywords
- party
- account
- key
- value
- request
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 18
- 239000000758 substrate Substances 0.000 claims 2
- 239000003795 chemical substances by application Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
一种人工智能引擎代理方法及装置,涉及计算机领域,所述方法包括代理服务接收客户端的人工智能AI请求;代理服务为所述客户端的所述AI请求分配第三方AI账号,并将所述AI请求和所述第三方AI账号发送至第三方AI引擎,所述代理服务包括多个第三方AI账号,所述第三方AI账号是从所述第三方AI引擎预先申请的;代理服务接收所述第三方AI引擎返回所述AI请求的请求结果,并将所述请求结果发送至所述客户端。如此能够,通过代理服务调用多个第三方AI账号,减少客户端受第三方AI账号访问频率的限制。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种人工智能引擎代理方法及装置。
背景技术
目前,人们会在仿真软件中集成第三方人工智能(Artificial Intelligence,AI)引擎,AI引擎会因为业务等原因,限制第三方AI账号的使用频率,常常给用户的使用带来不便。
发明内容
有鉴于此,本申请实施例提供了一种人工智能引擎代理方法及装置,旨在减少访问AI引擎时的使用频率限制。
第一方面,本申请实施例提供了一种人工智能引擎代理方法,所述方法包括:
代理服务接收客户端的人工智能AI请求;
代理服务为所述客户端的所述AI请求分配第三方AI账号,并将所述AI请求和所述第三方AI账号发送至第三方AI引擎,所述代理服务包括多个第三方AI账号,所述第三方AI账号是从所述第三方AI引擎预先申请的;
代理服务接收所述第三方AI引擎返回所述AI请求的请求结果,并将所述请求结果发送至所述客户端。
可选的,所述代理服务为所述客户端的所述AI请求分配第三方AI账号,包括:
代理服务从账号数组中选出一个目标键,确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号,并更新所述目标键的值,所述账号数组包括多个元素,每个元素包括键和第三方AI账号,所述账号数组中的元素与第三方AI账号一一对应,所述目标键是对应代理服务中使用次数最少的第三方AI账号的键。
可选的,所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找键值最小的键确定为目标键;
所述更新所述目标键的值,包括:将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且小于所述时间戳。
可选的,所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新所述目标键的值,包括:将所述目标键的值增加预设值;所述账号数组中键的初始值为同一值。
可选的,在所述代理服务为所述客户端的所述AI请求分配第三方AI账号之前,还包括:
代理服务获取配置文件,所述配置文件中包括从第三方AI引擎申请到的第三方AI账号;
代理服务根据所述配置文件建立账号数组,所述账号数组包括多个元素,所述账号数组中的元素与所述第三方AI账号一一对应,所述元素包括键key和值Value,所述元素中的值Value为第三方AI账号,所述键key的初始值为人为预设值。
可选的,所述方法还包括:
所述代理服务添加、删除、禁用或修复所述代理服务中的第三方AI账号。
第二方面,本申请实施例提供了一种人工智能引擎代理装置,包括:
第一通信模块,包括与客户端进行通信的第一通信接口,用于接收客户端的人工智能AI请求,并将请求结果发送至所述客户端;
分配模块,包括多个第三方AI账号,用于为所述客户端的所述AI请求分配第三方AI账号,所述第三方AI账号是从第三方AI引擎预先申请的;
第二通信模块,包括与第三方AI引擎通信的第二通信接口,用于将所述AI请求和所述第三方AI账号发送至第三方AI引擎,并接收所述第三方AI引擎返回所述AI请求的请求结果。
可选的,所述分配模块,包括:
选择模块,用于代理服务从账号数组中选出一个目标键,确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号;
更新模块,用于更新所述目标键的值,所述账号数组包括多个元素,每个元素包括键和第三方AI账号,所述账号数组中的元素与第三方AI账号一一对应,所述目标键是对应代理服务中使用次数最少的第三方AI账号的键。
可选的,所述选择模块,还用于从账号数组中查找键值最小的键确定为目标键;
所述更新模块,还用于将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且小于所述时间戳。
可选的,所述选择模块,还用于从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新模块,还用于将所述目标键的值增加预设值;所述账号数组中键的初始值为同一值。
本申请实施例提供了一种人工智能引擎代理方法及装置,本申请通过代理服务接收客户端的AI请求,并将第三方AI账号预先存储在代理服务中,通过代理服务为每个客户端的AI请求配置第三方AI账号。最后代理服务将AI请求和第三方AI账号发送至第三方AI引擎得到请求结果,并将请求结果反馈给客户端。本申请中采用代理服务,将多个第三方AI账号设置在代理服务器中,客户端根据请求即可分配第三方AI账号,而不是每个客户端对应一个第三方AI账号受账号访问频率的限制,如此能够,通过代理服务调用多个第三方AI账号,减少客户端受第三方AI账号访问频率的限制。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种客户端访问第三方AI引擎的访问示意图;
图2为本申请实施例提供的一种人工智能引擎代理方法流程图;
图3为本申请实施例提供的一种人工智能引擎代理方法的应用示意图;
图4为本申请实施例提供的一种人工智能引擎代理装置的结构示意图。
具体实施方式
参见图1所示的一种客户端访问第三方AI引擎的访问示意图,需要用户的客户端(例如图1中的A11,A12,A13,A1…)或其他设备(例如图1中E21,E22)申请第三方AI账号(例如图1中A11申请的第三方AI账号D11,A12申请的第三方AI账号D12,A13申请第三方AI账号D13,E21申请的第三方AI账号D21,E22申请的第三方AI账号D22等),而在客户端向第三方AI引擎(例如图1中的C)发送AI请求时,由于第三方AI账号的访问频率有限制(例如A11每分钟通过D11能够访问三次),给用户的使用带来不便。
基于上述原因,本申请提出一种人工智能引擎代理方法及装置,采用代理服务,将多个第三方AI账号设置在代理服务器中,客户端根据请求即可分配第三方AI账号,而不是每个客户端对应一个第三方AI账号,如此能够,减少客户端受第三方AI账号访问频率的限制。
此外,在第三方AI账号分配的时候,从代理服务中每次选择使用次数最少的第三方AI账号进行优先分配,也能够将不常使用的账号充分调用起来,减少因第三方AI账号访问频率限制而给用户使用带来的不便。
基于上述实施例中,在一种可能的实现方式中,同一代理服务可以接受多个客户端(客户端的类型可以是电脑端、手机端等)的AI请求,为每个客户端的AI请求分配第三方AI账号。同时,代理服务也可将多个AI请求(每个AI请求已通过代理服务分配有第三方AI账号)分别发送给多个第三方AI引擎进行处理获得请求结果。当然,客户端的多个AI请求也可分别发送给不同的代理服务进行处理。
显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2为本申请实施例提供的一种人工智能引擎代理方法流程图,参见图2一种人工智能引擎代理方法,包括:
S201、代理服务接收客户端的人工智能AI请求。
用户通过客户端向代理服务发送AI请求。
在一种可能的实现方式中,客户端安装有仿真工业软件,仿真工业软件进行例如绘图等设计时,为辅助设计生成AI请求以便后续第三方AI引擎根据该AI请求生成需要的请求结果,例如生成具有用户需要的特征的设计图片。
S202、代理服务为所述客户端的所述AI请求分配第三方AI账号,并将所述AI请求和所述第三方AI账号发送至第三方AI引擎,所述代理服务包括多个第三方AI账号,所述第三方AI账号是从所述第三方AI引擎预先申请的。
代理服务包括从第三方AI引擎申请的第三方AI账号。
代理服务将AI请求和第三方AI账号发送至第三方AI引擎,AI请求通过代理服务后发送至第三方AI引擎,而不是从客户端直接发送至第三方AI引擎,在用户篡改关于第三方AI引擎方面的请求时,代理服务能够及时发现并拦截,以防第三方AI引擎检测到异常会封掉该账号的AI功能,导致用户无法使用的问题,减少用户滥用第三方AI引擎。
由于代理服务中包括有多个第三方AI账号,不同的客户端向代理服务发送AI请求时,可以将代理服务的多个账号进行分配,在一种可能的实现方式中,账号数量大于发送请求的客户端的数量,如此能够,避免每个客户端对应申请一个第三方AI账号,而出现账号访问频率受限的情况。
示例性的,假设有100个第三方AI账号, 100台客户端设备中有50台客户端设备同时在线,每台客户端设备一个第三方AI账号每分钟可访问3次第三方AI引擎,那么这50台客户端设备在一分钟内可以直接访问第三方AI引擎的总量为3×50次。 而在将100台客户端设备的100个第三方AI账号设置在代理服务中,在相同的条件下,客户端通过代理服务向第三方AI引擎可以访问的总次数为3×100次。减少客户端收到第三方AI账号的访问限制。此外,将50台客户端设备的AI请求通过代理服务分配到代理服务中的100个第三方AI账号上,实现对第三方AI账号的充分利用。
S203、代理服务接收所述第三方AI引擎返回所述AI请求的请求结果,并将所述请求结果发送至所述客户端。
代理服务可以是配置在服务器上的一个模块,也可以是为本申请的代理方法配置的代理服务器。
代理服务在接收到客户端的AI请求后,分配对应的第三方AI账号,代理服务将AI请求和第三方AI账号发送给第三方AI引擎,第三方AI引擎登录第三方AI账号,根据该AI请求生成请求结果。第三方AI引擎将该请求结果发送给代理服务,代理服务再将该请求结果发送给客户端。
根据上述的不受S201-S203可知,本申请采用代理服务,将多个第三方AI账号设置在代理服务器中,客户端根据请求即可分配第三方AI账号,而不是每个客户端对应一个第三方AI账号,减少客户端受第三方AI账号访问频率的限制,同时也能够对空闲账号进行充分利用。
在本申请实施例中,上述图2所述的步骤S202中“代理服务为所述客户端的所述AI请求分配第三方AI账号”存在可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本申请实施例的全部实现方式。
代理服务从账号数组中选出一个目标键,确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号,并更新所述目标键的值,所述账号数组包括多个元素,每个元素包括键和第三方AI账号,所述账号数组中的元素与第三方AI账号一一对应,所述目标键是对应代理服务中使用次数最少的第三方AI账号的键。
示例性的,账号数组是包括多个元素的数组,每个数组包括一个键和一个第三方AI账号。
示例性的,所述目标键是对应代理服务中使用次数最少的第三方AI账号的键,在代理服务中使用次数最少(例如使用次数为0次)的第三方AI账号的键有多个时,可以从多个键中人任选一个,或根据预设规则(例如在账号数组中排在最前或最后)选择一个。
对于上述的从代理服务的账号数组中选择目标键的具体可能的实现方式如下:
在一种可能的实现方式中,所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找键值最小的键确定为目标键;
所述更新所述目标键的值,包括:将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且均小于所述时间戳。
在该实现方式中,账号数组中的键的初始值可以是按照键在账号数字中的排列顺序依次设置为从1开始的自然数。例如账号数组可以是“[ {1:D1}, {2:D2}, {3:D3},...]”,其中,{1:D1} 这是数组的一个元素,1,2,3是键。 D1,D2,D3是三个不同的第三方AI账号值。
在另一种可能的实现方式中,所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新所述目标键的值,包括:将所述目标键的值
增加预设值;所述账号数组中键的初始值为同一值。
示例性的,账号数组可以是“[ {0:D1}, {0:D2}, {0:D3}, ...]”,在一种可能的实现方式中,将账号数组中键的初始值均设置为0,在键值为零的时候,表示该键对应的账号没有向第三方AI引擎发送使用过,在每使用一次,可以在当前键值的基础上增加预设值,所述预设值为1。 因此,在账号数组中选择目标键时,可以选择键值最小的键作为目标键,目标键对应的第三方AI账号为要要向第三方AI引擎发送的账号。当然,当存在多个键值相同且最小的键时,则从多个键值相同且最小的键中任选一个,或者选择一个在账号数组中排列在最前或最后的键作为目标键。
在本申请实施例中,上述图2所述的步骤S201之前存在可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本申请实施例的全部实现方式。
代理服务获取配置文件,所述配置文件中包括从第三方AI引擎申请到的第三方AI账号。
代理服务根据所述配置文件建立账号数组,所述账号数组包括多个元素,所述账号数组中的元素与所述第三方AI账号一一对应,所述元素包括键key和值Value,所述元素中的值Value为第三方AI账号,所述键key的初始值为人为预设值。
在一种可能的实现的方式中,所述代理服务可以添加、删除、禁用或修复所述代理服务中的第三方AI账号。在添加第三方AI账号时,即在账号数组中对应添加一个元素包括设置为初始键值的键和要添加的第三方AI账号。在删除第三方AI账号时,则在账号数组中将该AI账号所在的元素也对应删除。代理服务可以实现对第三方AI账号的统一管理,无需客户端对第三方AI账号的额外处理,方便用户直接使用。
账号数组中每个元素为一个对象,对象的形式为{键key:值value}。
在一种可能的实现方式中,所述代理服务器的节点根据第三方AI引擎的节点地址和客户端的分布来设置。将代理服务部署在一个合适、有利于通信访问的节点,可帮助解决访问慢/不可访问的问题。此外,代理服务可以布置在网络通信质量好的位置,保证网络的连通性,为满足多客户端的AI请求提供良好的网络通信环境。
在另一种可能的实现方式中,可以在客户端安装的仿真工业软件中添加访问通道进行通信,代理服务也可以在在仿真工业软件出现访问第三方AI引擎出现异常时可以及时发现,不需要再在仿真工业软件客户端集成第三方引擎失效时异常处理,通过代理服务进行异常处理,减少客户端出现异常给用户访问带来的不便,方便用户使用。
此外借助代理服务,用户可以直接使用仿真工业软件,减少AI权限配置的操作。代理服务还可以方便与不同平台(例如iOS、Andriod、MacOS、Linux等)的客户端建立通信,获取不同平台的客户端的AI请求,无需为仿真工业软件在访问第三方AI引擎这方面,做出适用于不同的平台的改进,方便软件开发及使用。
当然,本申请中的代理服务,不仅可以应用在我们现有的仿真工业软件中,还可以授权给其它任何设备(例如手机、手提电脑、平板电脑等),任何软件使用,方便后期业务及技术上的扩展。
上面介绍了本申请实施例提供的一种人工智能引擎代理方法,下面结合具体的应用场景,对该一种人工智能引擎代理方法做示例性的说明,
参见图3所示的一种人工智能引擎代理方法的应用示意图,基于上述实施例,一种人工智能引擎代理方法的具体应用实施例,步骤如下:
步骤1、人工将申请到的第三方AI帐号写入到配置文件中,代理服务器(例如图3中的B)读取该配置文件,保存所有第三方AI账号(例如图3客户端申请的D11,D12,D13,D1…以及其他设备申请的E21,E22等)。
在一种可能的实现方式中,代理服务会在内存中维护一个账号数组,例如[ {1:D11}, {2:D12}, {3:D13}, ...],其中{1:D11} 这是数组的一个元素,这个元素是一个对象,对象形式是{key:value},其中key为键,value为值,用于表示第三方AI账号的值。例如,在{1:D11}中,1是键,D11是表示第三方AI账号的值。
在一种可能的实现方式中代理服务可以配置多个代理服务器。
步骤2、当客户端(例如图3中的A11,A12,A13,A1…)或其他设备(例如图3中的E21,E22)需要向第三方AI引擎(例如图3中的C)发送AI请求时,会将现将该AI请求发到代理服务器。
在一种可能的实现方式中,客户端安装有仿真工业软件,用户使用仿真工业软件生成需要第三方AI引擎处理的AI请求。
步骤3、代理服务器从列表中查询出值最小的键,即根据账号数组[ {1:D11}, {2:D12}, {3:D13}, ...]查出来的最小的键是1,键“1”对应的第三方AI账号是D11,D11就是本次AI请求要使用的账号。
步骤4、把账号数组中D11值的键“1”更改为当前时间戳:1682327396427,(时间戳是当前时间减1970年1月1日0时0分0秒之后的毫秒数),当前账号数组变为: [{1682327396427:D1}, {2:D2}, {3:D3}, ...]
步骤5、代理服务器会把AI请求连带着账号D11一起发送给第三方AI引擎, 第三方AI引擎返回请求结果给代理服务器, 代理服务器再把该请求结果再给客户端。
同理,图3中的客户端A12,A13,A1…以及其他设备E21,E22均可向代理服务发送AI请求,代理服务为每个AI请求分配当前使用次数最少的第三方AI账号,进而将每个AI请求及对应分配的第三方AI账号发送至第三方AI引擎进行处理,并向代理服务返回请求结果,代理服务将请求结果反馈给发送该AI请求的客户端。
以上为本申请实施例提供一种人工智能引擎代理方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
参见图4所示的一种人工智能引擎代理装置的结构示意图,包括:
第一通信模块401,包括与客户端进行通信的第一通信接口,用于接收客户端的人工智能AI请求,并将请求结果发送至所述客户端;
分配模块402,包括多个第三方AI账号,用于为所述客户端的所述AI请求分配第三方AI账号,所述第三方AI账号是从第三方AI引擎预先申请的;
第二通信模块403,包括与第三方AI引擎通信的第二通信接口,用于将所述AI请求和所述第三方AI账号发送至第三方AI引擎,并接收所述第三方AI引擎返回所述AI请求的请求结果。
根据上述的一种人工智能引擎代理装置可知,分配模块为客户端的所述AI请求分配第三方AI账号,而不是每个客户端对应一个账号,规避客户端受账号的访问频率限制,通过代理服务器能够更好的合理调配其他第三方AI账号。
在一种可能的实现方式中,所述分配模块,包括:
选择模块,用于代理服务从账号数组中选出一个目标键,确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号;
更新模块,用于更新所述目标键的值,所述账号数组包括多个元素,每个元素包括键和第三方AI账号,所述账号数组中的元素与第三方AI账号一一对应,所述目标键是对应代理服务中使用次数最少的第三方AI账号的键。
在另一种可能的实现方式中,所述选择模块,还用于从账号数组中查找键值最小的键确定为目标键;
所述更新模块,还用于将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且小于所述时间戳。
在又一种可能的实现方式中,所述选择模块,还用于从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新模块,还用于将所述目标键的值增加预设值;所述账号数组中键的初始值为同一值。
在再一种可能的实现方式中,所述装置还包括:
获取模块,用于获取配置文件,所述配置文件中包括从第三方AI引擎申请到的第三方AI账号。
处理模块,用于根据所述配置文件建立账号数组,所述账号数组包括多个元素,所述账号数组中的元素与所述第三方AI账号一一对应,所述元素包括键key和值Value,所述元素中的值Value为第三方AI账号,所述键key的初始值为人为预设值。
所述处理模块还可以用于在账号数组中添加、删除、禁用或修复所述代理服务中的第三方AI账号。在添加第三方AI账号时,即在账号数组中对应添加一个元素包括设置为初始键值的键和要添加的第三方AI账号。在删除第三方AI账号时,则在账号数组中将该AI账号所在的元素也对应删除。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述指令,以使所述设备执行本申请任一实施例所述的一种人工智能引擎代理方法。
所述计算机存储介质中存储有程序,当所述程序被运行时,运行所述程序的设备实现本申请任一实施例所述的一种人工智能引擎代理方法。
本申请实施例中提到的 “第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (9)
1.一种人工智能引擎代理方法,其特征在于,所述方法包括:
代理服务接收客户端的人工智能AI请求;
代理服务为所述客户端的所述AI请求分配第三方AI账号,并将所述AI请求和所述第三方AI账号发送至第三方AI引擎,所述代理服务包括多个第三方AI账号,所述第三方AI账号是从所述第三方AI引擎预先申请的,以便第三方AI引擎登录第三方AI账号,根据AI请求生成请求结果;
代理服务接收所述第三方AI引擎返回所述AI请求的请求结果,并将所述请求结果发送至所述客户端;
代理服务为所述客户端的所述AI请求分配第三方AI账号,包括:
从代理服务的账号数组中选出一个目标键,确定所述目标键对应的第三方AI账号作为为所述AI请求分配的第三方AI账号,代理服务的账号数组包括多个元素,每个元素包括键和第三方AI账号,所述目标键用于指示账号数组中的使用次数最少的第三方AI账号。
2.根据权利要求1所述的方法,其特征在于,所述代理服务为所述客户端的所述AI请求分配第三方AI账号,还包括:
更新所述目标键的值。
3.根据权利要求2所述的方法,其特征在于,
所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找键值最小的键确定为目标键;
所述更新所述目标键的值,包括:将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且小于所述时间戳。
4.根据权利要求2所述的方法,其特征在于,
所述代理服务从账号数组中选出一个目标键,包括:代理服务从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新所述目标键的值,包括:将所述目标键的值增加预设值;所述账号数组中键的初始值为同一值。
5.根据权利要求1所述的方法,其特征在于,在所述代理服务为所述客户端的所述AI请求分配第三方AI账号之前,还包括:
代理服务获取配置文件,所述配置文件中包括从第三方AI引擎申请到的第三方AI账号;
代理服务根据所述配置文件建立账号数组,所述账号数组包括多个元素,所述账号数组中的元素与所述第三方AI账号一一对应,所述元素包括键key和值Value,所述元素中的值Value为第三方AI账号,所述键key的初始值为人为预设值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
添加、删除、禁用或修复所述代理服务中的第三方AI账号。
7.一种人工智能引擎代理装置,其特征在于,包括:
第一通信模块,包括与客户端进行通信的第一通信接口,用于接收客户端的人工智能AI请求,并将请求结果发送至所述客户端;
分配模块,包括多个第三方AI账号,用于为所述客户端的所述AI请求分配第三方AI账号,所述第三方AI账号是从第三方AI引擎预先申请的,以便第三方AI引擎登录第三方AI账号,根据AI请求生成请求结果;
第二通信模块,包括与第三方AI引擎通信的第二通信接口,用于将所述AI请求和所述第三方AI账号发送至第三方AI引擎,并接收所述第三方AI引擎返回所述AI请求的请求结果;
所述分配模块,包括:
选择模块,用于从代理服务的账号数组中选出一个目标键,确定所述目标键对应的第三方AI账号作为为所述AI请求分配的第三方AI账号;
更新模块,用于更新所述目标键的值,所述账号数组包括多个元素,每个元素包括键和第三方AI账号,所述账号数组中的元素与第三方AI账号一一对应,所述目标键用于指示账号数组中的使用次数最少的第三方AI账号。
8.根据权利要求7所述的装置,其特征在于,所述选择模块,还用于从账号数组中查找键值最小的键确定为目标键;
所述更新模块,还用于将所述确定所述目标键所在账号数组的元素中的第三方AI账号为所述客户端的所述AI请求分配第三方AI账号的时间戳更新为所述目标键的值,所述账号数组中的键的初始值互不相同且小于所述时间戳。
9.根据权利要求7所述的装置,其特征在于,所述选择模块,还用于从账号数组中查找出键值最小的键,若查找出键值最小的键有多个,则从多个键值最小的键中任意确定一个或从多个键值最小的键中确定在账号数组中排序最前或最后的键作为目标键,若查找出键值最小的键只有一个,则确定所述键值最小的键为目标键;
所述更新模块,还用于将所述目标键的值增加预设值;所述账号数组中键的初始值为同一值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310710088.5A CN116436969B (zh) | 2023-06-15 | 2023-06-15 | 一种人工智能引擎代理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310710088.5A CN116436969B (zh) | 2023-06-15 | 2023-06-15 | 一种人工智能引擎代理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116436969A CN116436969A (zh) | 2023-07-14 |
CN116436969B true CN116436969B (zh) | 2023-09-26 |
Family
ID=87087701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310710088.5A Active CN116436969B (zh) | 2023-06-15 | 2023-06-15 | 一种人工智能引擎代理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436969B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013533A (ja) * | 2002-06-06 | 2004-01-15 | Ohbayashi Corp | アカウント管理方法、アカウント管理装置 |
US8494488B1 (en) * | 2012-10-19 | 2013-07-23 | Research In Motion Limited | System and method for managing access to a service for communication device |
CN103854196A (zh) * | 2014-01-15 | 2014-06-11 | 北京奇虎科技有限公司 | 一种基于第三方平台的业务对象的处理方法和系统 |
WO2020008384A1 (en) * | 2018-07-04 | 2020-01-09 | Channel Technologies Fze | Provision and recovery of network usage advances |
CN111083136A (zh) * | 2019-12-12 | 2020-04-28 | 北京百分点信息科技有限公司 | 账号资源管理装置、方法及数据采集系统、方法 |
CN111181975A (zh) * | 2019-12-31 | 2020-05-19 | 奇安信科技集团股份有限公司 | 一种账号管理方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425894B (zh) * | 2007-10-30 | 2012-03-21 | 阿里巴巴集团控股有限公司 | 一种业务实现系统及方法 |
US11265323B2 (en) * | 2018-11-13 | 2022-03-01 | Paypal, Inc. | Fictitious account generation on detection of account takeover conditions |
-
2023
- 2023-06-15 CN CN202310710088.5A patent/CN116436969B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013533A (ja) * | 2002-06-06 | 2004-01-15 | Ohbayashi Corp | アカウント管理方法、アカウント管理装置 |
US8494488B1 (en) * | 2012-10-19 | 2013-07-23 | Research In Motion Limited | System and method for managing access to a service for communication device |
CN103854196A (zh) * | 2014-01-15 | 2014-06-11 | 北京奇虎科技有限公司 | 一种基于第三方平台的业务对象的处理方法和系统 |
WO2020008384A1 (en) * | 2018-07-04 | 2020-01-09 | Channel Technologies Fze | Provision and recovery of network usage advances |
CN111083136A (zh) * | 2019-12-12 | 2020-04-28 | 北京百分点信息科技有限公司 | 账号资源管理装置、方法及数据采集系统、方法 |
CN111181975A (zh) * | 2019-12-31 | 2020-05-19 | 奇安信科技集团股份有限公司 | 一种账号管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116436969A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240763B (zh) | 配置更新方法、装置、设备及存储介质 | |
US20030028656A1 (en) | System and method for fractional resource scheduling | |
US20050108394A1 (en) | Grid-based computing to search a network | |
CN108040136B (zh) | 一种ip资源管理方法及系统 | |
CN112367684B (zh) | 流量控制方法、装置、存储介质及计算机设备 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
US20150381747A1 (en) | Global provisioning of millions of users with deployment units | |
CN110719620B (zh) | 一种终端的接入方法及系统 | |
CN110691042A (zh) | 资源分配方法及装置 | |
CN101360345A (zh) | 一种数据业务的管理方法、装置及系统 | |
CN101079903B (zh) | 基于用户终端远程登录的方法及系统 | |
CN112738288A (zh) | Dns域名解析方法、dns服务器、gslb系统及域名解析系统 | |
CN116436969B (zh) | 一种人工智能引擎代理方法及装置 | |
CN102724165A (zh) | 终端通信的控制方法和装置、以及管理服务器 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN105307130A (zh) | 一种资源分配方法及系统 | |
CN106815053A (zh) | 一种数据更新方法、装置、数据调用端及数据更新系统 | |
CN106469091A (zh) | 用于分配可用区的方法和装置 | |
CN114070820B (zh) | 一种域名重定向方法、装置、介质及电子设备 | |
CN115098270A (zh) | 一种内存空间分配方法、系统、装置及可读存储介质 | |
CN115426333A (zh) | 一种用于对象存储的多集群访问系统及方法 | |
CN111683164B (zh) | 一种ip地址的配置方法及vpn服务系统 | |
CN110995890B (zh) | 域名请求的调度方法及装置 | |
CN108733805B (zh) | 文件交互方法、系统、计算机设备和存储介质 | |
CN110213180A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |