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

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四