云服务器内容精选
-
AI原生引擎引擎SDK功能介绍 表5 AI原生引擎引擎SDK功能矩阵 接口类型 接口名 函数名 Python 大模型相关接口 文本生成 ModelRouter.chat.completion.create √ 向量生成 ModelRouter.embeddings.create √ 文生图 ModelRouter.images.generate √ 图生文 ModelRouter.images.image2text √ 知识库相关接口 知识库查询 KnowledgeRetriever.retrieve √ Filter构造 KnowledgeFilterCondition. single_filter_condition √ Filter融合 KnowledgeFilterCondition. combine_filter_condition √ Order构造 KnowledgeSortCondition. single_order_condition √ Order融合 KnowledgeSortCondition. combine_order_condition √ Prompt相关接口 生成prompt模板 PromptTemplate.from_template √ 实例化prompt模板 PromptTemplate.format √ 应用相关接口 调用应用 ApplicationCenter.get_tools √
-
配置Rainbow 修改Rainbow SDK配置,切换SDK数据源,新增Cloud Map配置、STS配置,配置如下: nuwa: sts: serverDomain: 10.33.102.162:8080 configPath: certs/WiseCloudNuwaService/WiseCloudNuwaCloudMapAdminService/WiseCloudNuwaCloudMapAdminService.ini enable: true cloudmap: serverAddr: http://10.33.113.125:8080 namespaceName: cn_dev_default rainbow: db0: datasource: beanName: rainbowDs dataSourceName: xxxx //与运维中心WiseDBA服务SDK配置界面的值保持一致 appName: xxx //业务的服务名 dbGroupKey: xxx //实例名称 dbName: xxxxx //Schema名称 connectionProperties: characterEncoding=utf8;connectTimeout=10000;socketTimeout=10000;autoReconnect=true;useUnicode=true;serverTimezone=Asia/Shanghai useSts: true mybatis: base-package: com.huawei.nuwa.map.demo.consumer.middleware.dao mapper-locations: classpath:mapper/rainbow/*.xml
-
初始化Rainbow SDK 代码如下: package com.huawei.demo.serviceb.config; import javax.sql.DataSource; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.springframework.context.EnvironmentAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.support.TransactionTemplate; import com.huawei.nuwa.map.client.NuwaMapClient; import com.huawei.nuwa.map.spring.boot.autoconfigure.NuwaCloudMapAutoConfiguration; import com.huawei.rainbow.jdbc.DbGroupDataSource; import com.huawei.wisesecurity.sts.springboot.security.configuration.StsEncryptablePropertiesConfiguration; /** * Rainbow启动 */ @Configuration @Order(Ordered.HIGHEST_PRECEDENCE) @Import(value = {NuwaCloudMapAutoConfiguration.class, StsEncryptablePropertiesConfiguration.class}) public class ApplicationAutoConfig implements EnvironmentAware { private Environment environment; /** * Rainbow需要依赖STS和Cloud Map启动,创建dataSource * * @param client NuwaMapClient值对象 * @return DataSource 初始化完成的数据源数据源 */ @Bean @DependsOn({"stsBootStrap"}) public DataSource createDataSource(NuwaMapClient client) { DbGroupDataSource dataSource = new DbGroupDataSource(); dataSource.setUseSts(true); dataSource.setAppName(environment.getProperty("wiseDba.appName")); dataSource.setDbGroupKey(environment.getProperty("wiseDba.groupKey")); dataSource.setDbName(environment.getProperty("wiseDba.dbName")); dataSource.init(); return dataSource; } /** * 事务管理创建 * * @param dataSource 数据源 * @return DataSourceTransactionManager 事务管理 */ @Bean public DataSourceTransactionManager createTransaction(DataSource dataSource) { DataSourceTransactionManager transaction = new DataSourceTransactionManager(); transaction.setDataSource(dataSource); return transaction; } @Bean public JdbcTemplate createJdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean("sqlSessionFactoryBean") public SqlSessionFactoryBean createMybatisSqlSessionFactoryBean(DataSource dataSource) { SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); sessionFactoryBean.setDataSource(dataSource); // 数据源配置项 org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); // 允许jdbc自动生成主键 configuration.setUseGeneratedKeys(true); // 使用列标签代替列名 configuration.setUseColumnLabel(true); // 打开下划线命名自动转换为驼峰命名开关 configuration.setMapUnderscoreToCamelCase(true); sessionFactoryBean.setConfiguration(configuration); return sessionFactoryBean; } @Bean public TransactionTemplate createTransactionTemplate(DataSourceTransactionManager dataSourceTransactionManager) { TransactionTemplate template = new TransactionTemplate(); template.setTransactionManager(dataSourceTransactionManager); return template; } @Bean public MapperScannerConfigurer createMapperScannerConfigurer() { MapperScannerConfigurer configurer = new MapperScannerConfigurer(); configurer.setBasePackage("com.huawei.demo"); configurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); return configurer; } @Override public void setEnvironment(Environment environment) { this.environment = environment;
-
常见问题 Domain not registered或Service not registered 领域或微服务没有进行注册,请根据STS 2.0业务接入指南的指导自行注册领域或微服务。 connect timed out或read timed out 它有两种原因,connect timed out或read timed out: 可以在sts.properties中添加超时配置,单位为毫秒: sts.connect.timeout=10000 //遇到 connect timed outsts.socket.timeout=10000 //遇到 read timed out Encrypt Permission Denied 这是因为管理台上注册微服务时,默认将微服务注册成了NORMAL。只有角色为PLATFORM的微服务才有权限调用加密接口。 fail to init session key fail to init session key fail to get master key from sts 这是因为集成了STS 1.0,也就是集成了sts-cse-sdk,从STS 1.0的服务器获取master key失败。因为STS 1.0的服务器需要业务自己去搭建,在没有搭建的情况下,当然会获取失败。 如果已经搭建,检查业务的yaml文件中配置的environment参数和STS 1.0微服务中的environment是否一致,如果不一致则修改成一致。 mac check in GCM failed 这个错误的原因就是密钥和密文不匹配导致无法解密。需要确认业务配置文件中的密文是从哪里来的? 通过IaC由配置中心下发: 检查IaC代码中配置的敏感配置项ID中的服务或微服务名是否属于该运行的微服务。 服务级:Service/{ServiceName}/{SensitiveName}/{tag} 微服务级:MicroService/{ServiceName}/{MicroServiceName}/{SensitiveName}/{tag} 通过StsAgent加密后,手工配置: 检查加密的时候使用的服务级别servicekek还是微服务级别kek,和密文中的级别是否一致,服务名和微服务名是否和该运行的微服务一致?加密得到密文的STS环境和运行的STS环境是否一致?例如测试环境加密的密文是不能在生产环境解密。 # 使用微服务kek加密 # /opt/huawei/apps/wisesecurity/stsagent/stsagent encrypt -s ServiceName -m MicroServiceName -x -h 10.33.102.162:8080 # 使用服务servicekek加密 # /opt/huawei/apps/wisesecurity/stsagent/stsagent encrypt -s ServiceName -m MicroServiceName -ts ServiceName -x -h 10.33.102.162:8080 中间件的口令解密 业务集成了Cloud Map对接中间件,业务不用关心口令解密的问题。 业务使用sts agent加密明文口令后配置到相应管理台。参考2,看加密用的密钥和代码中解密的密钥是否对应(服务级还是微服务级kek),以及加密时使用的微服务名和服务名是否一致。 不同微服务的证书不可混用,业务使用自己微服务的证书及配置文件进行SDK的初始化,解密自己微服务的配置。 Undefined provider local 当创建AESCryptor时,如果不用@指定KeyProvider,那么它会默认调用local KeyProvider。在使用kek或servicekek时,要指定KeyProvider为@sts。 //错误 AESCryptor cryptor = new AESCryptor.Builder().withKey("kek").withAlg(CryptoAlg.AES_GCM).build(); //正确 AESCryptor cryptor = new AESCryptor.Builder().withKey("kek@sts").withAlg(CryptoAlg.AES_GCM).build(); 申请证书时Make sure haveged is running步骤或try active service步骤报错。 这是因为机器上没有启动haveged服务。haveged是一个随机数的熵的提供方,它可以解决在某些情况下,系统熵过低的问题。 规避办法:在部署步骤前面加上sudo步骤;或者,到机器上,手动执行service haveged start命令,启动haveged服务。 解决方案:在申请证书步骤前添加sudo和shell-exec步骤,确保haveged服务为启动状态。 sudo systemctl enable haveged.service && sudo systemctl start haveged.service非EulerOS可以使用sudo service haveged start命令。 service ini config file not exists 这是因为STS在初始化时,找不到初始化配置文件(ini 文件)或者微服务名称.sts.p12证书文件不存在。该文件是部署微服务是通过stsagent申请证书时生成的,默认路径在/opt/huawei/certs/{serviceName}/{microServiceName},业务也可以通过相应参数来修改。 解决办法: 首先确认配置的STS参数: 通过配置文件配置的,查看sts/sts.properties 文件,检查sts.config.path配置的文件是否存在。 通过NUWA配置文件,检查microservice.yaml文件中nuwa.security.sts.configPath配置的文件是否存在。 nuwa:security:sts:serverDomain: 10.33.102.109:8080configPath: /opt/huawei/certs/{ServiceName}/{MicroServiceName}/{MicroServiceName}.ini 通过Java Bean方式配置的,也就是通过类似以下代码初始化,检查sts.config.path配置的文件是否存在 Properties properties = new Properties();properties.setProperty("sts.server.domain", "10.33.102.162:8080");properties.setProperty("sts.config.path", "D:/Test/ConsumerService/ConsumerMicroService1/ConsumerMicroService1.ini");StsKeyApi.initWith(properties); 如果配置的是相对路径,则必须是相对于resource目录的路径。如果是在IDEA中运行使用,则检查target下是否有该文件,如果没有则重新compiler,IDEA最终是从target下获取resource文件。 另外,请确认部署过程中证书申请的步骤在业务安装和启动流程之前,如果业务先启动,之后才进行证书的申请,配置文件还未生成,也会出现找不到配置文件的问题。 若不存在,则要参考STS 2.0业务接入指南申请证书。如果配置的文件路径不是stsagent生成的默认路径,则需要手工将** /opt/huawei/certs/{ServiceName}/{MicroServiceName}/**拷贝到相应的路径下。 Fail to derive key with master key 这是因为STS没有初始化,就去调用了获取认证凭据的接口。 解决办法:检查是否调用了StsKeyApi.init()或StsKeyApi.initWith(properties)。 如何解密微服务证书的口令 微服务证书的口令使用本地随机的根密钥和工作密钥加密,口令明文使用StsKeyStoreUtil.getKeyStoreValue()进行解密。 Access Permission Denied 微服务集成STS SDK,获取相应微服务的Credentials时报如下错误Reqeust sts server fail, Request Token form xxxx&yyyy failed, Access Permission Denied。 这是由于provider没有该微服务配置相应的ACL(Access Control List),导致没有权限获取访问该provider的credentials。 Invalid api name STS Agent执行的时候报Invalid api name,这是由于 IaC 中使用了STS Agent高版本能力,但主机上STS Agent版本过低并且IaC中没有强制升级STS Agent导致的。通过IaC或手动更新STS Agent,使用1.1.5.100及之前的部署包时请打开force_install开关。 微服务有测试,镜像,海外,灰度等不同的环境,STS管理台如何管理这些敏感配置项? STS管理台在不同站点是分开部署。同一站点下假如想区分不同的场景,例如生产和灰度,开发,测试和镜像,则可以使用敏感配置项标签区分。 STS管理台敏感配置项最大长度是多少? 5000个字符。 本地缓存的STS KEK,ServiceKEK以及认证凭据是如何保护? key.json由本地随机生成的rootkey和workkey加密保护,kek.json由STS KEK保护。 加密算法采用AES GCM。 部署过程report certificate to cms报错,提示"An unknown error occurred when report certificates!"。 首先检查/opt/huawei/certs/{service}/{microservice}下stscerttool.log中是否有错误信息。 若日志中出现异常提示[Errno -2] Name or service not known,请使用以下命令确认系统版本是否为欧拉OS 2.9 [EulerOS release 2.0 (SP9)]: lsb_release -a 检查主机hostname是否超过64个字符,如果是的话,修改主机名。 主机存在无法解析出主机IP的问题,参考如下步骤检查: 检查/etc/nsswitch.conf中是否包含hosts项,且对应配置包含files或myhostname。 若添加配置files,检查/etc/hosts,添加当前主机的IP映射[host_ip] [hostname],例如:10.33.100.100 host-10-33-100-100。 若添加配置myhostname,通常无需进行其他修改。 运行以下命令检查是否有其他异常。 hostname -i python -c "import socket; print(socket.gethostbyname(socket.getfqdn(socket.gethostname())))" 如何手工注册微服务 使用IaC部署在WiseDBA上创建数据库实例,报没有注册STS的错误,如果业务还没有接入STS,可以在STS管理台进行手工注册该微服务。 如何将服务器上生成的STS微服务证书信息迁移到window机器上调试。 将服务器上/opt/huawei/certs/{serviceName}/{microServiceName}目录下的所有问题打包下载到本机。修改{microServiceName}.ini 文件中 a_file,b_file ,c_file,d_file 的路径,该路径支持绝对路径或相对路径(相对于ini文件的路径,一般为{microServiceName}/apple/a)。修改sts.properties中 sts.config.path为实际的ini文件的路径。 missed = in sensitive string value / missed value in sensitive string 解密敏感配置项的时候报missed = in sensitive string value错误,这是由于敏感配置密文格式不正确。敏感配置项密文格式如下: kek加密密文格式: ENC(key=kek, value=xxxx) servicekek加密密文格式: ENC(key=servicekek, value=xxxx) Unable to execute refresh credentials function 微服务日志STS SDK抛出如下异常,这是由于对端开启了STS的微服务认证,MapConnectCoreService&MapConnectCoCreateService未给该微服务配置ACL。 解决方案:让对端给该微服务配置ACL。 com.huawei.wisesecurity.sts.sdk.exception.StsException: Unable to execute refresh credentials function for service.identity=MapConnectCoreService&MapConnectCoCreateService STS对JDK/JRE有什么要求? 建议使用最新的1.8版本JDK/JRE。 invalid common name STS SDK抛出如下异常: InvocationException: code=403;msg=errorCode=1002;errorMessage=invalid common name: AppGalleryPromotionUserService 这是由于 CS E的yaml文件中配置的微服务名和使用的STS微服务证书中的微服务名不一致导致的,使用部署时采用STSAgent自动签发的证书,里面是标准的PBI服务名和微服务名。 STS管理台敏感配置修改后如何刷新到微服务的配置文件中? 敏感配置项是通过配置服务发布到微服务配置文件中。在STS管理台修改后,需要在部署服务上重新发布修改的配置项。 在配置中心找到该配置项 重新发布该配置项: fail to parser work key json file 检查work_key.json格式是否正确,文件中的description,mac字段需要删除。 Odd number of characters 业务加载工作密钥文件的时候报Odd number of characters异常,这是由于在STS管理台配置的hex编码的密钥明文的少或多了一个char。Hex编码字符串必须是偶数个字符。 fail to get master key from sts 业务集成了STS 1.0的认证能力,需要从STS 1.0 Server上获取主密钥失败。STS 1.0 Server是部署在业务集群中,注册到业务同一个注册中心: 在相应注册中心上检查WiseSecurity:SecurityTokenService微服务是否存在,如果不存在,则找到相应部署机器启动该微服务。 检查业务的yaml文件中配置的environment参数和STS 1.0微服务中的environment是否一致,如果不一致则修改成一致。 missed header x-sts-token / x-sts-session provider通过STS SDK认证请求时,从http消息中无法获取到相应的STS认证header信息。 直接用postman访问,会缺少相应的认证凭据而失败。因此如果测试需要,可以将微服务的STS认证放通开关打开。放通开关配置在sts.properties配置文件中的sts.bypass.enable参数:true表示放通,false表示不放通,默认是不放通。 consumer侧开启了放通,但provider侧没有放通。 sts.properties文件中未配置sts.config.path指定STS微服务证书加载路径(如果是IDEA中执行的,检查一下target下是否存在sts.properties)。STS SDK默认加载sts/sts.properties,业务也可以通过jvm启动参数sts.properties修改该文件的路径。 如果是通过NUWA初始化STS的,检查yaml文件中是否有配置nuwa.security.sts.configPath。 nuwa: security: sts: serverDomain: 10.33.102.109:8080 configPath: /opt/huawei/certs/{ServiceName}/{MicroServiceName}/{MicroServiceName}.ini 如果通过Java Bean方式初始化,检查是否有设置sts.config.path配置项。 Properties properties = new Properties(); properties.setProperty("sts.server.domain", "10.33.102.162:8080"); properties.setProperty("sts.config.path", "D:/Test/ConsumerService/ConsumerMicroService1/ConsumerMicroService1.ini"); StsKeyApi.initWith(properties); STS管理台录入敏感配置项使用什么加密算法加密。 敏感配置项采用STS给业务分配的KeK/ServiceKek(256位)使用AES/GCM加密。 Unable to resolve non-exist credentials StsCseClientFilter中发送请求时报如下异常和错误,这是由于无法获取到访问该微服务凭据抛出异常。检查服务初始化STS SDK时是否有异常(查看 logback或log4j中配置的com.huawei.wisesecurity.sts包路径的日志文件)。 invalid certificate 回答:确认服务名和证书名是一致的,证书是重新下发的,再判断业务连接的STS server1.0上的证书是否有修改。 注意:需要确定当前环境连接的STS服务器是正确的,可以看性能环境对应的注册中心是哪个,然后再这个注册中心上portal上看STS 1.0是那台服务器注册上去的。 get sts token --Timestamp out of range/Timestamp is more earlier or later 这是由于STS开启防重放攻击(和STS服务器之间时间差小于5分钟),检查业务服务器的时间是否正确。 configId can not be blank 部署服务或者NUWARutime获取敏感配置项时,请求要获取的敏感配置项的列表中有值为空。 管理台上服务下无法选到相应的微服务。 在安全管理台上配置敏感配置项、证书时,服务下只显示已经在相应环境下在STS上注册过的微服务。需要让站点的业务SRE在运维管理台上进行微服务注册。 KeyStoreException: empty private key or certificate 出现该提示,是因为主机上STS实例证书(位于/opt/huawei/certs/{服务}/{微服务}/下)并不完整,很可能是由于前一次部署过程中出错导致,请检查该证书是否有效,可使用以下命令对证书进行检查。 /opt/huawei/apps/wisesecurity/stsagent/stsagent check -s {服务} -m {微服务} 如果提示校验错误信息,请重新执行stsagent-install部署步骤进行证书的重新申请。 Unable to find SecretKey version=0 业务代码中使用STS密钥解密非STS加密的数据导致的错误。 Micro service xxx&yyy not registered 微服务没有在STS管理台进行注册。 Fail to read service info from keystore STS SDK初始化是需要从STS的身份证书jks文件中读取服务和微服务信息,加载jks文件的时候异常了。一般是该jks文件有异常。 SDK会根据service ini文件中的subject的CN项作为微服务名读取证书文件 {微服务名}.sts.p12 [cert] subject = C=CN,O=Huawei,OU=Huawei CBG Cloud MicroService,CN=SecurityTokenServiceDemoSelfConsumer ip = 127.0.0.1 invalid timestamp 检查业务主机的时间和标准时间差异是否超过5分钟。 timeout awaiting response headers sts-go-sdk内的 ResponseHeaderTimeout参数值设置过小,目前默认为100,在初始化时传入参数“sts.responseHeader.timeout”修改该值大小。 not an SSL/TLS record client和server两边SSL不一致:client通过HTTP访问,但Server是提供的HTTPS的服务。 如果是 tomcat + NUWA/CSE,tomcat最终对外提供是http还是https是由tomcat的配置文件决定的,NUWA/CSE的yaml文件中定义的只是注册到注册中心告诉对端提供的是 http还是https。 Some config items not found iac provider在plan阶段会去校验敏感配置项是否存在于STS管理台,如果没有录入敏感配置项,或者敏感配置项的坐标不正确,则报此错,需要业务自己检查坐标是否正确。 fail to get provider ** credentials consumer集成sts-go-sdk在获取provider端访问凭据的时候失败,需要在provider端配置ACL,管理台录入ACL后,需等十分钟才生效。 启动时如果发现类似错误: either 'jasypt.encryptor.password', one of ['jasypt.encryptor.private-key-string', 'jasypt.encryptor.private-key-location'] for asymmetric encryption, or one of ['jasypt.encryptor.gcm-secret-key-string', 'jasypt.encryptor.gcm-secret-key-location', 'jasypt.encryptor.gcm-secret-key-password'] for AES/GCM encryption must be provided for Password-based or Asymmetric encryption 那么可以按两个方向排查: 检查启动类是否添加@EnableStsEncryptableProperties ,需要添加该注解,才能初始化StsStringEncryptor对象。 如果已经添加,那可能是触发自动解密的地方距离启动太早,导致 spring context 初始化还未完成,不能获取到StsStringEncryptor对象。例如,Eureka应用的bootstrap.yml中如果包含敏感配置项,就会报这个错,需要将敏感配置项移到其他配置文件中,即可解决。 Unable to refresh credentials for service SecurityTokenService&SecurityTokenMicroService 该问题是STS初始化的时候,从kek.json或者keys.json获取本地密钥失败,导致无法从STS-Server获取凭据。 解决方法:找到密钥的缓存地址,/${HOME}/.sts/服务名/微服务名/kek.json,删除kek.json和keys.json文件,重新启动即可。 父主题: STS SDK
-
AI原生应用引擎SDK介绍 AI原生应用引擎SDK面向开发者提供了一套搭建原生应用的Python SDK,包含了模型调用,知识获取,工具调用等功能。开发者可以使用SDK调用AI原生应用引擎的各种能力,帮助开发者快速构建大模型应用。 AI原生应用引擎SDK获取地址:wiseagent-dev-sdk-python。您也可以参考下载SDK开发Agent获取AI原生应用引擎SDK并进行完整性校验。 AI原生应用引擎SDK参考文档:AI原生应用引擎。
-
运行时引擎SDK类型介绍 运行时引擎为开发者提供访问凭证管理服务(Access Credential Management Service,简称ACMS)、服务发现(NUWA Cloud Map,简称Cloud Map)、负载均衡(Software/Server Load Balancer,简称SLB)和数据库治理(WiseDBA)的SDK,方便开发者将运行时引擎的能力快速集成到自己的应用中。 表1 SDK列表 SDK分类 说明 编程语言 下载地址 参考文档 ACMS的SDK:STS SDK STS SDK(Security Token Service,简称STS)服务软件开发工具包是对访问凭据管理服务(ACMS)提供的REST API进行的封装,以简化用户的开发工作。用户直接调用SecurityTokenService SDK提供的接口函数即可实现使用ACMS业务能力的目的。 使用STS SDK即可使用运维中心ACMS的敏感配置项托管和微服务之间请求认证功能。 Java nuwa-open-sdk-1.1.0-20240204093135.zip 完整性校验nuwa-open-sdk-1.1.0-20240204093135.zip.sha256 下载包nuwa-open-sdk-1.1.0-20240204093135.zip中的文件介绍请参见表2。 STS SDK Cloud Map的SDK:Cloud Map SDK Cloud Map SDK服务软件开发工具包是对服务发现(Cloud Map)服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用Cloud Map SDK提供的接口函数即可实现使用Cloud Map服务业务能力的目的。 Java Cloud Map SDK SLB的SDK:Gray SDK Gray SDK负责业务的负载均衡,Nginx组件通过反向代理实现了业务的负载均衡,通过丰富的扩展功能,可以对HTTP消息定制丰富的控制策略。 使用Gray SDK即可使用运维中心负载均衡(SLB)的灰度管理功能。 Java Gray SDK WiseDBA的SDK:Rainbow SDK Rainbow SDK构建云原生DevOps全流程可信build-in的数据库治理解决方案。使用Rainbow SDK即可使用运维中心的数据库治理(WiseDBA)功能。 提供MySQL/Cassandra/ GaussDB /DRDS全流程设计、开发、发布、运维(管理、治理、诊断)方案。 可信build-in:过程可信,结果可信,接入安全(无人工接入密码),操作(资源高危操作)安全。 Java Rainbow SDK 表2 SDK jar包介绍 文件夹 SDK分类 对应的jar包 nuwa-cse-sdk:适用于基于NUWA框架且不使用spring boot的项目 STS SDK sts-key-sdk-1.1.17.109.jar sts-sdk-base-1.1.17.109.jar cloudsoa-security-1.1.13.100.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.1.5.100.jar Rainbow SDK rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.1.5.100.jar nuwa-core-3.1.5.100.jar nuwa-cse-foundation-3.1.5.100.jar nuwa-share-libs-3.1.5.100.jar nuwa-tenant-sdk-3.1.5.100.jar spring-cloud-sdk:适用于基于Spring Cloud框架的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-1.0.12.100.jar spring-cloud-starter-cloudmap-discovery-1.0.12.100.jar Gray SDK 不支持 Rainbow SDK gpaas-jetcd-api-2.0.0.106.jar gpaas-jetcd-v2-2.0.0.106.jar gpaas-middleware-common-2.2.6.100.jar nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-api-1.2.18.201.jar rainbow-core-1.2.18.201.jar rainbow-core-drds-1.2.18.201.jar rainbow-core-gaussdb-1.2.18.201.jar rainbow-proxy-1.2.18.201.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar spring-cse-sdk:适用于基于NUWA框架且使用spring boot的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-3.2.2.100.jar nuwa-gpaas-cloudmap-3.2.2.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.2.2.100.jar nuwa-graysdk-spring-boot-starter-3.2.2.100.jar Rainbow SDK nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar nuwa-cse-foundation-3.2.2.100.jar nuwa-cse-foundation-spring-boot-starter-3.2.2.100.jar nuwa-tenant-sdk-3.2.2.100.jar tools:configparser为自定义参数解析工具,通过NUWA部署时,解析参数模板,将模板中的参数变量,替换为实际的配置项值,具体使用方式请参见使用configparser工具优化代码。 -
-
安装AI原生应用引擎SDK 执行如下命令,快速安装。 pip install huawei_wiseagent_dev_sdk_python-{version}-py3-none-any.whl 若已经安装过最新版本SDK,可以忽略此步骤。 将${version}替换成实际所使用的SDK版本。 如果采用本地依赖的方式引入SDK,即手动将本地下载的SDK包引入到工程,还需要添加间接依赖:httpx、pydantic、jinja2。
-
参数说明 表2 参数说明 参数名称 参数类型 是否必选 参数描述 vector_index_id str True 知识库id query str False 输入内容 top_n int False 返回条数限制 offset int False 起始位置 similarity_min float False 返回相似性最小值阈值 filter dict False 过滤条件 order_by dict False 排序条件
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
接口调用 chat 接口调用:ModelRouter.chat.completion.create 参数说明 表3 参数说明 参数名 参数类型 是否必选 参数描述 messages List[str] True 包含到目前为止的对话的消息列表 model str True 模型id stream bool False 是否流式返回 kwargs - False 其他openai chat completion参数 返回值 表4 返回值 键 值类型 描述 id str 唯一标识 choices list 文本生成选项列表。如果n大于1,则可以是多个 created int Unix时间戳(以秒为单位) model str 使用的模型 usage str 请求token用量 object str 当前为chat.completion
-
接口调用 PromptTemplate.from_template 参数说明 表2 参数说明 参数名称 参数类型 是否必选 参数描述 template str True 提示语模板 template_format str False 提示语模板格式,支持f-string、jinja2两种。默认f-string partial_variable dict False 格式化模板的部分变量 返回值:PromptTemplate object
-
类属性 表1 类属性 参数名 参数类型 是否必选 参数描述 input_variables List[str] True 提示语模板所需的变量名称列表 template str True 提示语模板 template_format str True 提示语模板格式,支持f-string、jinja2两种。默认f-string partial_variable dict False 格式化模板的部分变量 validate_template bool False 是否尝试验证模板
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格