对华裔名字进行分类

wangdalin 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад
tools e627f79d74 增加readme, 提取config, 整理client 10 месяцев назад
.gitignore 42b87c4bf8 gitignore修改 10 месяцев назад
client.py 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад
config.py 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад
functions.py e627f79d74 增加readme, 提取config, 整理client 10 месяцев назад
name_classify_api.py 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад
readme.md 82ea25a668 增加readme的curl说明 10 месяцев назад
requirements.txt 5ddb5b163b bug-fix 10 месяцев назад
test.csv 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад
test.xlsx 5793e852d5 业务修改, csv支持, 异步并行 10 месяцев назад

readme.md

以下是这两个接口的接口说明文档,使用Markdown格式编写:

启动服务方式

conda activate name_cls
nohup python name_classify_api.py > /dalin/logs/name_cls.log &

请求方式

curl -X POST "http://10.41.1.57:8070/uploadfile/" -F "file=@/Users/tyz/Desktop/0909人群分析/2售后新加坡自建站退货人群 匹配0902-090.xlsx" -F "client_id=tyz"
curl -X POST "http://10.41.1.57:8070/classify_bert/" -H "Content-Type: application/json" -d "{\"path\": \"./process/tyz/2售后新加坡自建站退货人群匹配0902-090.xlsx\", \"client_id\": \"tyz\", \"name_column\": \"姓名\"}"

其中的第二个链接里的path是第一次请求的返回的path, client_id设置相同

API 接口文档

1. 文件上传接口

接口路径: /upload/

请求方法: POST

请求参数:

参数名称 类型 必须 描述
file UploadFile 要上传的文件
client_id string 客户端ID,用于创建用户目录

功能描述:

此接口用于上传文件,并将文件存储到服务器上的指定目录中。每个客户端都有自己的独立目录。上传文件后,系统会为文件和目录设置权限。

示例请求:

curl -X POST "http://{server_address}/upload/" \
  -F "file=@path/to/your/file.xlsx" \
  -F "client_id=12345"

响应参数:

  • 成功响应:
{
  "message": "文件 'your_file.xlsx' 上传成功",
  "client_id": "12345",
  "file_path": "./process/12345/your_file.xlsx"
}
  • 错误响应:
{
  "message": "发生错误: [错误信息]"
}

2. 数据分类接口

接口路径: /classify/

请求方法: POST

请求参数:

数据分类接口参数列表

参数名称 类型 必须 描述
client_id string 客户端ID,用于在服务器上区分不同用户的目录。
path string 需要分类的Excel文件的路径, 为上传文件的时候返回的列名
name_column string Excel文件中包含需要分类的姓名列的列名。
chunk_size int 默认100, 传入则修改 每次处理的数据块大小,用于分块处理数据。
one_key string 用于识别Excel文件中唯一标识符的列名。
api_key string 默认有openai的key, 传入则为用户的OpenAI API密钥,用于调用OpenAI的API进行数据分类。
proxy boolean 默认为False, 传入则修改,是否使用代理(如 true表示使用代理,false表示不使用代理)。

说明:

  • client_id: 该参数用于在服务器上创建或查找与客户端ID对应的目录,确保文件上传和处理的独立性。
  • path: 文件路径需要是服务器上实际文件的路径,确保该路径是正确的并且文件存在。
  • name_column: 确保该列名在Excel文件中存在,并且包含需要分类的姓名数据。
  • chunk_size: 分块大小决定了每次处理的数据量大小,较大的块大小可能会导致内存占用较高。
  • one_key: 唯一标识符列名用于确保数据的唯一性,避免重复处理。
  • api_key: OpenAI API的密钥,需确保密钥的正确性和权限。
  • proxy: 设置为 true时,通过代理进行API请求,通常用于网络受限的环境。

功能描述:

此接口用于对上传的Excel文件中的数据进行分类处理。接口会在服务器上检查并清理过期的文件和目录,然后根据用户提供的数据进行分类。分类完成后,返回结果文件的下载链接。

示例请求:

curl -X POST "http://{server_address}/classify/" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "12345",
    "path": "./process/12345/your_file.xlsx",
    "name_column": "姓名",
    "chunk_size": 100,
    "one_key": "ID",
    "api_key": "your_openai_api_key",
    "proxy": false
  }'

响应参数:

  • 成功响应:
{
  "message": "分类完成",
  "output_file": "http://{server_address}:8070/data/{client_id}/{output_file_name}"
}
  • 文件处理失败响应:
{
  "message": "文件没能处理成功"
}
  • 错误响应:
{
  "message": "处理出现错误: [错误信息]"
}