# 人脸库管理

路由列表信息

| 名称       | 网关           | 路由     | 参数                                                                 |
| -------- | ------------ | ------ | ------------------------------------------------------------------ |
| 增加人脸     | faceset      | add    | image,person\_id,tag [查看参数详情](https://ai.qq.com/doc/addface.shtml) |
| 删除人脸     | faceset      | delete | person\_id,face\_ids                                               |
| 获取人脸信息   | faceset      | get    | face\_id                                                           |
| 用户组列表    | facesetGroup | get    |                                                                    |
| 用户组个体列表  | facesetGroup | users  | group\_id                                                          |
| 个体创建     | facesetUser  | add    | group\_ids,person\_id,image,person\_name                           |
| 获取个体信息   | facesetUser  | get    | person\_id                                                         |
| 更新个体信息   | facesetUser  | update | person\_id,person\_name,tag                                        |
| 删除个体     | facesetUser  | delete | person\_id                                                         |
| 获取个体人脸列表 | facesetUser  | faces  | person\_id                                                         |
| 人脸搜索     | face         | search | image,group\_id,topn                                               |

## 增加人脸

```
$path = 'path/to/some.jpg';
$res = $ai->faceset()->path($path)->add();
if($res->success()){
    var_dump(res->toArray());
}
```

## 删除人脸

```
// 删除人脸时 需要先获取个体人脸列表 获取到face_ids 然后调用删除人脸即可删除
$path = 'path/to/some.jpg';
$res = $ai->faceset()->path($path)->delete([
    'person_id' => 'person0',
    'face_ids'  => '2214731677930908309' 
]);
if($res->success()){
    var_dump(res->toArray());
}
```

## 获取人脸信息

```
$res = $ai->faceset()->delete([
    'face_id' => '2214731677930908309'
]);
if($res->success()){
    var_dump(res->toArray());
}
```

## 用户组列表

```
$res = $ai->facesetGroup()->get();

if($res->success()){
    var_dump(res->toArray());
}
```

## 用户组个体列表

```
$res = $ai->facesetGroup()->users([
    'group_id' => 'group0'
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 个体创建

```
$path = 'path/to/some.jpg';

$res = $ai->facesetUser()->path($path)->add([
    'group_ids' => 'group0',
    'person_id' => 'person0',
    'person_name' => 'crisen'
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 获取个体信息

```
$path = 'path/to/some.jpg';

$res = $ai->facesetUser()->get([
    'person_id' => 'person0'
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 更新个体信息

```
$res = $ai->facesetUser()->update([
    'person_id' => 'person0',
    'person_name' => 'crisen',
    'tag'   => 'a coder'
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 删除个体

```
$res = $ai->facesetUser()->delete([
    'person_id' => 'person0',
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 获取个体列表

```
$res = $ai->facesetUser()->faces([
    'person_id' => 'person0',
]);

if($res->success()){
    var_dump(res->toArray());
}
```

## 人脸搜索

```
$path = 'path/to/some.jpg';

$res = $ai->face()->path($path)->search([
    'group_id' => 'person0',
    'topn'     => 5
]);

if($res->success()){
    var_dump(res->toArray());
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.crisen.org/ai/tencent/face/faceset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
