AI Agent 对接文档

一、全局配置

1.请求body 规定

使用JSON 发送,需要在请求header 中设置content-type 为 application/json
响应格式为 {"code":0,"msg":"","data":{}},下面接口的返回值都是data 里面的内容

2.接口HOST

http://10.25.10.70:9988

3.版本

1.0.1.debug_2024-01-11

4.请求鉴权

在header 的authorization 中固定token: pwiylfta-iw3c-57kn-g9ss-stqqzsrjvjuc

二、功能接口

1. 请求测试

GET/POST /api
返回:
@string app_version 当前管理中间件的版本
@dict docker docker 组件的详情
@dict payload post 到本接口的所有数据
@string user_agent 当前客户端的user_agent
@string authorization 当前客户端的authorization

2.JSON 票据管理

1. 设置JSON 票据信息

POST /api/json
请求参数:
    @int    timeout    过期时间,default:60
    @string payload    JSON 字符串 
返回:
    @string token       请求的token 
    @int timeout        票据过期时间

2. 使用票据查询JSON 配置

GET /api/json/{token}
返回:
    @string token       请求的token 
    @string payload     JSON 字符串

3.OPENCV 视频处理

1.列出可用于测试的视频流

GET /api/opencv/stream
请求参数:
    无
返回:
    @list
        @int    id          视频流的id
        @string name        视频流的名字
        @string stream_url  流媒体地址

2.截取一帧视频实时画面信息

POST /api/opencv/capture
请求参数:
    @string     stream_url   视频流的url 地址 
返回:
    @string     img_path     图片的物理地址
    @list       size         图片大小 长,高
    @int        stream_url   流媒体地址
    @int        using_time   花费的时间,单位毫秒
    @int        current_time 毫秒级时间戳

3.在图片上绘制多边形

POST /api/opencv/draw
请求参数:
    @string     img_path       图片的物理地址
    @list       points_pos     点坐标,整数,支持多个框选区域
                               格式如下:
                               [
                                    [[90,800],[500,800],[500,100],[90,100]]
                               ]
    @list       rgb_color      绘图时线条颜色
    @int        size           绘图时线条粗细 
返回:
    @string img_path     图片的访问地址
    @list   size         图片大小 长,高
    @int    using_time   花费的时间,单位毫秒
    @int    current_time 毫秒级时间戳

4.DOCKER 镜像

1. 查询可用容器镜像列表

GET /api/docker/image
请求参数:
    无
返回:
    @list  
            @string author      镜像的作者
            @string create_time 镜像创建时间
            @string description 镜像的描述信息
            @string tags        镜像的tags 
            @string id          镜像的唯一id
            @int    size        镜像的大小 

5.DOCKER 容器

1. 查询容器列表

GET /api/docker/container 
参数:
    无
返回:
    @list 
            @string id          容器的唯一id
            @string image       容器的镜像的tags
            @string name        容器的名称
            @string status      容器的状态信息
            @string root_path   容器在宿主机中的根目录
            @string ip          容器的ip
            @string mac         容器的mac 地址
            @string hostname    容器的主机名称
            @list   env         容器的环境变量 
            @string create_time 容器的创建时间

2. 查询指定的容器的详情

GET /api/docker/container/{container_id}
参数:
    @string container_id 容器的唯一id
返回:
    @string id          容器的唯一id
    @string image       容器的镜像的tags
    @string name        容器的名称
    @string status      容器的状态信息
    @string root_path   容器在宿主机中的根目录
    @string ip          容器的ip
    @string mac         容器的mac 地址
    @string hostname    容器的主机名称
    @list   env         容器的环境变量 
    @string create_time 容器的创建时间

3.停用/启用容器

PATCH /api/docker/container/{container_id}
参数:
    @string container_id 容器的唯一id
返回:
    @string id      容器的唯一id
    @string status  容器当前的运行状态信息

4.停止并释放容器

DELETE /container/
参数:
    @string container_id 容器的唯一id
返回:
	@string status       状态 success / error 
	@string msg 		 描述信息

5.部署自定义容器

POST /api/docker/container
参数:
    @string image_name 镜像的tag
    @string name       容器的名字
    @string command    容器初始化后执行的指令 不传默认 /bin/bash
    @string env        容器初始化时的环境变量
    @list[int] gpu     容器运行时时使用的GPU id, 不传不激活GPU
返回:
    @string status       部署状态 success/error 
    @string msg          部署状态的描述信息
    @string container_id 容器的唯一id

6.自动化部署 点位分析项目

POST /container/auto/point_prediction 
参数:
    @string point_json         		点位json json编码后的字符
    @string model_url         		模型文件的下载地址
    @string influxdb_host     		influxdb 的地址
    @int    influxdb_port     		influxdb 的端口号
    @string influxdb_username 		influxdb 的用户名
    @string influxdb_password 		influxdb 的密码 
    @string influxdb_database 		influxdb 的数据库名字
    @string influxdb_from_table    数据来源的表名 default:opc
    @string influxdb_to_table 	    目标表 default:expect
返回:
	@string status       部署状态 success / error 
	@string msg 		 部署描述信息
	@string container_id 容器id , 部署成功的时候返回

6.视频分析管理

1.查询支持的算法列表

GET /api/aivideo/algorithm 
参数:
    无
返回:
@int       id      算法的唯一id
@string    name    算法的名称
@string    msg     算法的报警的消息
@list      params  算法所需要的额外参数
    @string   name  参数的名称
    @string   type  参数的类型
    @string   desc  参数的描述信息   

2.部署视频分析实例

配置项即消息队列见配置项和消息队列说明

POST /api/aivideo
请求参数:
    @string     algorithm_global_config  全局配置项 JSON 
    @string     algorithm_extend_config  拓展配置项 JSON
    @int        algorithm_id             算法 id 
    @string     stream_id                流媒体的资源id
    @string     stream_url               流媒体的视频地址 URL
    @string     model_id                 模型的id
    @string     model_url                模型的访问地址
    @string     kafka_host               kafka 的服务器地址
    @int        kafka_port               kafka 的端口
    @string     kafka_topic              kafka 的主题的TOPIC 信息 
                                         warning 报警的topic 
                                         cancel  取消报警的topic
                                         record  视频录制成功的topic
返回:
    @string     id    实例的id
    @int        pid   实例在本地的进程号 

3.列出视频分析实例

GET /api/aivideo
请求参数:
    无
返回参数:
@list
    @string       id      实例的id
    @int          pid     实例的进程号

4.获取视频分析实例详情

GET /api/aivideo/{id}
请求参数:
    @string       id     视频分析实例的id
返回参数:
@list
    @dist         algorithm_global_config      实例的全局配置信息
    @dist         algorithm_extend_config      实例的拓展配置信息
    @int          algorith_id                  算法id
    @string       id                           实例的id
    @string       kafka_host                   kafka 服务器host
    @int          kafka_port                   kafka 服务器的port
    @dist         kafka_topic                  kafka 的topic
    @string       media_url                    流媒体播放地址
    @string       model_id                     模型id
    @string       model_url                    模型的下载地址
    @int          pid                          当前分析实例的进程pid
    @string       stream_id                    视频的id
    @string       stream_url                   视频的流媒体地址

5.删除视频分析实例

GET /api/aivideo/{id}
DELETE /api/aivideo
请求参数:
    @string       id     视频分析实例的id
返回:
    @id     string  实例的id
    @pid    int     实例在本地的进程号

7.人脸识别管理

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注