v0.21.1-fastapi
This commit is contained in:
101
api/apps/models/llm_models.py
Normal file
101
api/apps/models/llm_models.py
Normal file
@@ -0,0 +1,101 @@
|
||||
#
|
||||
# Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class SetApiKeyRequest(BaseModel):
|
||||
"""设置 API Key 请求"""
|
||||
llm_factory: str = Field(..., description="LLM 工厂名称")
|
||||
api_key: str = Field(..., description="API Key")
|
||||
base_url: Optional[str] = Field(default="", description="API Base URL")
|
||||
model_type: Optional[str] = Field(default=None, description="模型类型")
|
||||
llm_name: Optional[str] = Field(default=None, description="LLM 名称")
|
||||
|
||||
|
||||
class AddLLMRequest(BaseModel):
|
||||
"""添加 LLM 请求"""
|
||||
llm_factory: str = Field(..., description="LLM 工厂名称")
|
||||
model_type: str = Field(..., description="模型类型")
|
||||
llm_name: str = Field(..., description="LLM 名称")
|
||||
api_key: Optional[str] = Field(default="x", description="API Key")
|
||||
api_base: Optional[str] = Field(default="", description="API Base URL")
|
||||
max_tokens: Optional[int] = Field(default=None, description="最大 Token 数")
|
||||
|
||||
# VolcEngine 特殊字段
|
||||
ark_api_key: Optional[str] = None
|
||||
endpoint_id: Optional[str] = None
|
||||
|
||||
# Tencent Hunyuan 特殊字段
|
||||
hunyuan_sid: Optional[str] = None
|
||||
hunyuan_sk: Optional[str] = None
|
||||
|
||||
# Tencent Cloud 特殊字段
|
||||
tencent_cloud_sid: Optional[str] = None
|
||||
tencent_cloud_sk: Optional[str] = None
|
||||
|
||||
# Bedrock 特殊字段
|
||||
bedrock_ak: Optional[str] = None
|
||||
bedrock_sk: Optional[str] = None
|
||||
bedrock_region: Optional[str] = None
|
||||
|
||||
# XunFei Spark 特殊字段
|
||||
spark_api_password: Optional[str] = None
|
||||
spark_app_id: Optional[str] = None
|
||||
spark_api_secret: Optional[str] = None
|
||||
spark_api_key: Optional[str] = None
|
||||
|
||||
# BaiduYiyan 特殊字段
|
||||
yiyan_ak: Optional[str] = None
|
||||
yiyan_sk: Optional[str] = None
|
||||
|
||||
# Fish Audio 特殊字段
|
||||
fish_audio_ak: Optional[str] = None
|
||||
fish_audio_refid: Optional[str] = None
|
||||
|
||||
# Google Cloud 特殊字段
|
||||
google_project_id: Optional[str] = None
|
||||
google_region: Optional[str] = None
|
||||
google_service_account_key: Optional[str] = None
|
||||
|
||||
# Azure-OpenAI 特殊字段
|
||||
api_version: Optional[str] = None
|
||||
|
||||
# OpenRouter 特殊字段
|
||||
provider_order: Optional[str] = None
|
||||
|
||||
|
||||
class DeleteLLMRequest(BaseModel):
|
||||
"""删除 LLM 请求"""
|
||||
llm_factory: str = Field(..., description="LLM 工厂名称")
|
||||
llm_name: str = Field(..., description="LLM 名称")
|
||||
|
||||
|
||||
class DeleteFactoryRequest(BaseModel):
|
||||
"""删除工厂请求"""
|
||||
llm_factory: str = Field(..., description="LLM 工厂名称")
|
||||
|
||||
|
||||
class MyLLMsQuery(BaseModel):
|
||||
"""获取我的 LLMs 查询参数"""
|
||||
include_details: Optional[str] = Field(default="false", description="是否包含详细信息")
|
||||
|
||||
|
||||
class ListLLMsQuery(BaseModel):
|
||||
"""列出 LLMs 查询参数"""
|
||||
model_type: Optional[str] = Field(default=None, description="模型类型过滤")
|
||||
|
||||
Reference in New Issue
Block a user