千帆【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

相关文章

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

java中4种API参数传递方式统一说明

《java中4种API参数传递方式统一说明》在Java中,我们可以使用不同的方式来传递参数给方法或函数,:本文主要介绍java中4种API参数传递方式的相关资料,文中通过代码介绍的非常详细,需要的... 目录1. 概述2. 参数传递方式分类2.1 Query Parameters(查询参数)2.2 Path

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.