logo
6

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

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

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

1.准备工作

1.1 一个不欠费的千帆账号

首先检查自己的帐号状态,如果欠费就充值,突然发现我的度小满里还有好多金币!!!
注意:
如果账号欠费了,那么你是运行不了你所部署的应用的。

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 Dict
app = 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

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选择组件类型

[pace)
选择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
欢迎大家试用并提问。
评论
用户头像