Function AI内置丰富的项目模板、开发者工具链、项目管理平台,无论您是个人还是企业级开发者,都能让您聚焦到业务场景,实现快速构建Serverless应用并且持续迭代,提升研发、部署、运维效率。本文以基于流程的RAG应用模板为例,介绍如何使用模板快速构建应用以及通过上传知识库实现专属的在线AI助手。
步骤一:选择模板
在Function AI控制台的探索页面,您可以通过搜索快速找到应用模板。
步骤二:部署项目
单击目标模板卡片,在模板详情页面,您可以查看模板的架构设计、项目介绍、使用说明(项目接入点)以及关联的其他云产品等。
单击立即部署,系统会自动展示与所选模板相关的服务列表。在列表中,服务右侧的绿色标识(图示中①)表示已经预设了默认配置,而黄色标识(图示中②)则提醒您需要手动配置部分配置项(图示中③)。您也可以将预设的默认配置更改成自定义配置。配置完成后,单击部署项目。
本示例中,GatewayOSSTriggerStream函数服务需要手动选择账号下已有的OSS Bucket,且需要确保对象存储存储桶前缀在同一Bucket下唯一。
在项目资源预览对话框中,仔细阅读相关产品的计费详情,确认无误后单击确认部署。
您可以通过各服务右侧的状态值来确认服务部署状态,对于已部署成功的服务可通过部署记录了解部署详情。
步骤三:访问应用
部署完成后,在项目详情页面右上角单击使用说明,然后根据指引信息访问项目。
本示例部署的RAG应用支持通过上传文本文件(.txt/.pdf 格式)到对象存储,自动触发函数计算对文件进行切分,然后存储到向量数据库中。当与机器人进行对话时,会自动从知识库中检索相关的信息,机器人根据上下文在回答中引用这些信息。
1.上传知识库
在项目详情页面找到名称为GatewayOSSTriggerStream的服务,单击服务名称,选择调度规则页签,然后单击Bucket名称跳转至对象存储控制台的对应Bucket,上传文本文件至相同文件前缀的目录。如果目标Bucket下没有对应的目录,则需手动创建该目录。
2.开始体验在线问答
在项目详情页面找到名称为WebUI的服务,单击服务名称,然后选择访问地址页签,单击自定义域名即可在浏览器中打开在线问答界面。
****.devsapp.net
域名为Serverless Devs社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发1天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。具体操作,请参见配置自定义域名。
步骤四:更改代码和配置,进行二次开发
为了让应用更贴近您的业务,您需要对应用进行二次开发。针对不同类型的服务有不同的开发方式。
函数服务
在项目详情页,找到函数服务,例如TextSpliter,您可以通过WebIDE更改函数代码,实现您自己的数据处理逻辑。
模型服务
您可以更改资源规格或切换您自己训练的模型使应用更符合您的业务需求。
流程编排服务
选择流程定义页签,自定义编排逻辑。
数据库服务
在项目详情页面,找到数据库服务VectorDB,可以修改数据库密码保护知识访问安全。
修改项目或者服务配置后,需要对项目发起部署。支持两种部署形式:
全量部署:对整个项目发起部署,Function AI平台会自动计算哪些服务的配置发生了变化,只会对实际有变更的服务发起部署。
服务部署:单独对某个服务发起部署,无论服务配置是否有变更,均支持对服务进行部署。
全量部署
在项目详情页,您可以看到项目的配置状态,如果存在服务部署失败或修改的服务配置线上未生效,右上角显示有变更待部署,单击全量部署。
部署预览对话框展示本次部署的
目标配置
和上一次成功部署的基线配置
的差异,您可以比较版本差异,选择确认部署或放弃变更。
全量部署只会对配置有变化的服务发起部署。
全量部署对于没有依赖关系的服务并行部署;对有依赖关系的服务,按照服务间的依赖关系顺序部署。
服务部署
如果您有多个服务,在开发某个服务阶段,需要单独对某个服务发起部署,可以使用服务部署。
在项目详情页,单击目标服务,然后单击右上角的部署。
部署预览对话框展示本次部署的
目标配置
和上一次成功部署的基线配置
的差异,您可以比较版本差异,选择确认部署或放弃变更。
步骤五:查看部署日志
应用上线后,您可以查看服务的监控和日志,以了解应用的健康状态。
(可选)步骤六:删除项目
如果暂时不打算使用当前项目,为了防止产生非预期的费用,建议您及时删除,删除项目的同时会删除项目包括的所有服务资源。
在项目列表,单击目标项目右侧操作列的删除,在弹出的删除项目对话框,确认要删除的关联服务资源,输入项目名称,勾选复选框,然后单击确定删除。
相关文档
如果您需要跨服务管理配置和账号密码等敏感信息,可以通过配置共享变量、服务变量或使用服务的结果变量来实现,详情请参见使用变量跨服务管理配置。
RAM用户部署项目时,需要为账号授予相关权限,详见授权RAM用户使用Function AI。