Files
DronePlanning/backend_service/venv/lib/python3.13/site-packages/dashscope/files.py
huangfu c4f851d387 chore: 添加虚拟环境到仓库
- 添加 backend_service/venv 虚拟环境
- 包含所有Python依赖包
- 注意:虚拟环境约393MB,包含12655个文件
2025-12-03 10:19:25 +08:00

110 lines
3.9 KiB
Python

# Copyright (c) Alibaba, Inc. and its affiliates.
import os
from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
from dashscope.client.base_api import (DeleteMixin, FileUploadMixin, GetMixin,
ListMixin)
from dashscope.common.constants import FilePurpose
from dashscope.common.error import InvalidFileFormat
from dashscope.common.utils import is_validate_fine_tune_file
class Files(FileUploadMixin, ListMixin, DeleteMixin, GetMixin):
SUB_PATH = 'files'
@classmethod
def upload(cls,
file_path: str,
purpose: str = FilePurpose.fine_tune,
description: str = None,
api_key: str = None,
workspace: str = None,
**kwargs) -> DashScopeAPIResponse:
"""Upload file for model fine-tune or other tasks.
Args:
file_path (str): The local file name to upload.
purpose (str): The purpose of the file[fine-tune|inference]
description (str, optional): The file description message.
api_key (str, optional): The api key. Defaults to None.
workspace (str): The dashscope workspace id.
Returns:
DashScopeAPIResponse: The upload information
"""
if purpose == FilePurpose.fine_tune:
if not is_validate_fine_tune_file(file_path):
raise InvalidFileFormat(
'The file %s is not in valid jsonl format' % file_path)
with open(file_path, 'rb') as f:
return super().upload(files=[('files', (os.path.basename(f.name),
f, None))],
descriptions=[description]
if description is not None else None,
api_key=api_key,
workspace=workspace,
**kwargs)
@classmethod
def list(cls,
page=1,
page_size=10,
api_key: str = None,
workspace: str = None,
**kwargs) -> DashScopeAPIResponse:
"""List uploaded files.
Args:
api_key (str, optional):
The api api_key, can be None,
if None, will get by default rule(TODO: api key doc).
page (int, optional): Page number. Defaults to 1.
page_size (int, optional): Items per page. Defaults to 10.
workspace (str): The dashscope workspace id.
Returns:
DashScopeAPIResponse: The fine-tune jobs in the result.
"""
return super().list(page,
page_size,
api_key,
workspace=workspace,
**kwargs)
@classmethod
def get(cls,
file_id: str,
api_key: str = None,
workspace: str = None,
**kwargs) -> DashScopeAPIResponse:
"""Get the file info.
Args:
file_id (str): The file id.
api_key (str, optional): The api key. Defaults to None.
workspace (str): The dashscope workspace id.
Returns:
DashScopeAPIResponse: The job info
"""
return super().get(file_id, api_key, workspace=workspace, **kwargs)
@classmethod
def delete(cls,
file_id: str,
api_key: str = None,
workspace: str = None,
**kwargs) -> DashScopeAPIResponse:
"""Delete uploaded file.
Args:
file_id (str): The file id want to delete.
api_key (str, optional): The api key. Defaults to None.
workspace (str): The dashscope workspace id.
Returns:
DashScopeAPIResponse: Delete result.
"""
return super().delete(file_id, api_key, workspace=workspace, **kwargs)