Skip to main content
API目录

对话文件管理

深度搜索应用支持按 session_id 维护对话文件目录树:可基于临时文件ID和文件/目录元信息更新目录树,也可删除文件并获取目录树信息,该能力仅适用于法律阅卷场景。

更新session文件

支持创建 session_id 维度文件目录树信息,增强模型在特定场景下对文件的理解能力,需要基于已解析成功的临时动态文件 ID、目录及文件元信息自行构建。

请求语法

POST /deep-search-agent/session/files/upsert HTTP/1.1

请求参数

参数名

类型

是否必须

说明

input

object

请求参数

input.request_id

str

请求ID(业务)

input.chat_id

str

对话ID

input.session_id

str

会话ID

input.files

array[object]

已完成解析的文件信息集合

input.files.file_id

str

文件ID

input.files.file_name

str

文件名

input.files.file_path

str

完整文件路径

input.files.type

str

类型(取值:file/dir)

input.files.index_order

int

排序

parameters

object

配置参数,该接口下留空 {}

返回参数

参数名

类型

是否必须

说明

code

str

状态码(成功:200)

message

str

状态信息

output

object

输出参数

output.request_id

str

请求ID

output.chat_id

str

对话ID

output.session_id

str

会话ID

output.result

array[object]

更新处理结果

output.result.[0].status

bool

更新处理状态

示例

请求示例

{
    "input": {
        "session_id": "18220***66b3",
        "files":[
            {
                "file_id": "file_session_e93***17301",
                "file_name": "测试文档.txt",
                "file_path": "评测/测试文档.txt",
                "type": "file",
                "index_order": 0
            }
        ]
    },
    "parameters": {
    }
}

返回示例

{
    "code": "200",
    "message": "Success"
    "output": {
        "request_id": "bbe29140-766b-4caf-8558-2c703d9cb641",
        "result": {
            "status": true
        }
    }
}

删除session文件

支持删除 session_id 维度文件目录树中的文件信息

服务接口

支持删除 session_id 维度文件目录树信息。

请求语法

POST /deep-search-agent/session/files/delete HTTP/1.1

请求参数

参数名

类型

是否必须

说明

字段

类型

是否必须

说明

input

object

请求参数

input.request_id

str

请求ID(业务)

input.chat_id

str

对话ID

input.session_id

str

会话ID

input.file_ids

array[str]

文件ID集合

parameters

object

配置参数,该接口下留空 {}

返回参数

参数名

类型

是否必须

说明

code

str

状态码(成功:200)

message

str

状态信息

output

object

输出参数

output.request_id

str

请求ID

output.chat_id

str

对话ID

output.session_id

str

会话ID

output.result

array[object]

更新处理结果

output.result.[0].status

bool

更新处理状态

示例

请求示例

{
    "input": {
        "session_id": "18220***66b3",
        "file_ids":[
            "file_session_e93***17301"
        ]
    },
    "parameters": {
    }
}

返回示例

{
    "code": "200",
    "message": "Success"
    "output": {
        "request_id": "bbe29140-766b-4caf-8558-2c703d9cb641",
        "result": {
            "status": true
        }
    }
}

获取session文件

支持获取 session_id 维度文件目录树信息。

请求语法

POST /deep-search-agent/session/files/list HTTP/1.1

请求参数

参数名

类型

是否必须

说明

input

object

请求参数

input.request_id

str

请求ID(业务)

input.chat_id

str

对话ID

input.session_id

str

会话ID

input.page_number

int

分页参数,页码

input.page_size

int

分页参数,每页数量

parameters

object

配置参数,该接口下留空 {}

返回参数

参数名

类型

是否必须

说明

code

str

状态码(成功:200)

message

str

状态信息

output

object

输出参数

output.request_id

str

请求ID

output.chat_id

str

对话ID

output.session_id

str

会话ID

output.result

object

更新处理结果

output.result.total

int

命中总数

output.result.files

array[object]

文件列表信息

output.result.files.[0].file_id

str

文件ID

output.result.files.[0].file_name

str

文件名

output.result.files.[0].file_path

str

文件路径

output.result.files.[0].type

str

类型(取值:file/dir)

output.result.files.[0].index_order

int

排序

示例

请求示例

{
    "input": {
        "session_id": "18220***66b3",
        "page_number": 1,
        "page_size": 10
    },
    "parameters": {
    }
}

返回示例

{
    "code": "200",
    "message": "Success"
    "output": {
        "request_id": "bbe29140-766b-4caf-8558-2c703d9cb641",
        "result": {
            "total": 0,
            "files": []
        }
    }
}

调用示例

import os
import sys
import uuid
import json
from copy import deepcopy

import requests

from http import HTTPStatus

list_session_files_url = "https://dashscope.aliyuncs.com/api/v2/apps/deep-search-agent/session/files/list"
upsert_session_files_url = "https://dashscope.aliyuncs.com/api/v2/apps/deep-search-agent/session/files/upsert"
delete_session_files_url = "https://dashscope.aliyuncs.com/api/v2/apps/deep-search-agent/session/files/delete"

headers = {
    'Authorization': f'Bearer {os.getenv("DASHSCOPE_API_KEY")}',  # 配置 API KEY
    'Content-Type': 'application/json'
}

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("usage: python operate_session_files.py <session_id>")
        exit(1)

    session_id = sys.argv[1]

    # 1. 获取测试 session 文件
    list_session_files_params = {
        "request_id": str(uuid.uuid4()),
        "input": {
            "session_id": session_id
        },
        "parameters": {}
    }
    response = requests.post(list_session_files_url, json=list_session_files_params, headers=headers)
    session_files_data = {}
    if response.status_code == HTTPStatus.OK:
        print("1. List session files successfully.")
        session_files_data = response.json()["output"]["result"]
        print(json.dumps(response.json(), indent=2, ensure_ascii=False))
    else:
        print(f'code={response.status_code}')
        exit(1)

    # 2. 更新测试 session 文件
    files = session_files_data["files"]
    temp_file = None
    for file in files:
        if '测试/' in file["file_path"]:
            temp_file = file
    if temp_file is None:
        temp_file = deepcopy(files[0])
        temp_file["file_id"] = temp_file["file_id"] + "_test"
        temp_file["file_path"] = "测试/" + temp_file["file_path"]
        files.append(temp_file)

    upsert_session_files_params = {
        "request_id": str(uuid.uuid4()),
        "input": {
            "session_id": session_id,
            "files": files
        },
        "parameters": {}
    }
    response = requests.post(upsert_session_files_url, json=upsert_session_files_params, headers=headers)
    upsert_data = {}
    if response.status_code == HTTPStatus.OK:
        print("2. Upsert session files successfully.")
        print(json.dumps(response.json(), indent=2, ensure_ascii=False))
    else:
        print(f'code={response.status_code}')
        exit(1)

    # 3. 删除测试 session 文件
    delete_session_files_params = {
        "request_id": str(uuid.uuid4()),
        "input": {
            "session_id": session_id,
            "file_ids": [
                temp_file["file_id"]
            ]
        },
        "parameters": {}
    }
    response = requests.post(delete_session_files_url, json=delete_session_files_params, headers=headers)
    delete_data = {}
    if response.status_code == HTTPStatus.OK:
        print("3. Delete session files successfully.")
        print(json.dumps(response.json(), indent=2, ensure_ascii=False))
    else:
        print(f'code={response.status_code}')
        exit(1)
Managed Agents
数据连接
Skill
应用评测
应用广场
权限管理