千帆【API接入】自定义组件简明教程

2024-05-26 20:52

本文主要是介绍千帆【API接入】自定义组件简明教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

千帆【API接入】自定义组件简明教程

大家好,我是 JavaRoom,今天来给大家做一个自定义API接入来是心啊遣返组件创建案例简明教学。

1.准备工作

1.1 一个不欠费的千帆账号

财务总览地址:https://console.bce.baidu.com/billing/#/account/index

请添加图片描述

首先检查自己的帐号状态,如果欠费就充值,突然发现我的度小满里还有好多金币!!!

注意:

如果账号欠费了,那么你是运行不了你所部署的应用的。

1.2 准备一个网络主机

要自定的API能访问到,那么网络主机不能少。

怎么才是一个合格的主机呢?重点是端口开放。

下面是我的开放过程:

  • 本地防火墙端口开放

    #开放指定端口
    sudo ufw allow 8000
    # 直接关闭
    sudo ufw disable
    

    其实这次用的是8000端口,实在懒,就关了它。

  • 网络防火墙端口开放

请添加图片描述

2.本地写一个时间API

2.1 fastapi安装

思来想去,用fastapi应该是最简洁的,我想使用它来实现返回当前时间、星期、日期的阿皮。

首先是fastapi安装

pip install fastapi

2.2 自定义API实现time_test.py

from fastapi import FastAPI
from datetime import datetime
from typing import Dictapp = FastAPI()@app.get("/time_info")
async def get_current_time_info() -> Dict[str, str]:"""获取当前时间信息并返回字典。Args:无参数。Returns:包含当前时间信息的字典,包含以下键值对:- current_time (str): 当前时间,格式为"%H:%M:%S"- current_weekday (str): 当前星期,格式为"%A"- current_date (str): 当前日期,格式为"%Y-%m-%d""""now = datetime.now()current_time = now.strftime("%H:%M:%S")current_weekday = now.strftime("%A")current_date = now.strftime("%Y-%m-%d")return {"current_time": current_time,"current_weekday": current_weekday,"current_date": current_date}    

为了方便,以上代码、注释我使用comate自动生成。

2.3Uvicorn本地测试

使用Uvicorn运行应用:

uvicorn time_test:app --host 192.168.1.100 --port 8000 --reload

访问url:http://124.220.84.2:8000/time_info

请添加图片描述

3.网络部署

  • 安装fastapi

  • 打开sftp,直接上传刚刚测试好的time_test.py文件

  • 运行部署命令

# nohup表示关闭终端进程不断,& 表示后台运行, time_test表示文件名, 0.0.0.0 表示所有地址
nohup uvicorn time_test:app --host 0.0.0.0  --reload &
  • 测试

打开我的地址:http://124.220.84.2:8000/time_info

请添加图片描述

看到结果即成功。

4.组件创建

4.1选择组件类型

打开网址 [https://console.bce.baidu.com/ai_apaas/personalSpace](https://console.bce.baidu.com/ai_apaas/personalS

请添加图片描述
请添加图片描述

选择API接入即可。

4.2 配置外部API服务

进入编辑界面:

请添加图片描述

选中API组件,点击编辑原始API信息。

请添加图片描述

  • 替换API链接为刚刚服务器测试通过的 http://124.220.84.2:8000/time_info
  • 填写返回参数,如果懒,可以使用自动解析,推荐!!!
  • 注意:此处我没有给输入,所以不需要填写。

编辑结束节点:

请添加图片描述

  • 编辑输出参数
  • 编辑回复模板

做完以上工作后点击测试。

请添加图片描述

可以看到输出:

{
end_output:"今天是:2024-05-26,Sunday,北京时间:18:14:04。"
}

5.应用调用

5.1 应用创建

打开千帆APP原生平台创建应用 https://console.bce.baidu.com/ai_apaas/app ,编写应用。

  • 添加当前日期查询组件
  • 撰写应用prompt,提示调用组件
  • 输出组件认为的日期
  • 提示词里对组件获取的日期、大模型认为的日期作对比。
今日日期时间助手
# 角色任务
作为今日日期时间查询应用,你的任务是调用当前日期查询 组件,实时获取并显示当前日期和时间。# 工具能力1. 实时获取日期和时间:你需要具备从网络或设备系统获取实时日期和时间的能力。
2. 显示日期和时间:你需要能够以文本、数字或其他格式展示日期和时间,以便用户能够轻松阅读和理解。# 输出:
1.输出返回调用当前日期查询讯息
2.输出你认为的当前时间

请添加图片描述

5.2 应用测试

我在百度智能云千帆AppBuilder开发了一款AI原生应用,快来使用吧!「今日日期时间助手」:https://appbuilder.baidu.com/s/m7ToBD7m

请添加图片描述

6.应用信息

应用ID: 82f2f43c-aa8c-4922-8d26-99d9f3731757

应用链接:「今日日期时间助手」:https://appbuilder.baidu.com/s/m7ToBD7m

欢迎大家试用并提问。
请添加图片描述

这篇关于千帆【API接入】自定义组件简明教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1005567

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修