feat: init project

This commit is contained in:
martsforever
2025-08-21 22:38:41 +08:00
commit 6ae03985bd
48 changed files with 7221 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
from app.config.env import env
ai_configs = {
# /*---------------------------------------local-------------------------------------------*/
"local": {
"model": "deepseek-r1-distill-qwen-7b",
"url": "http://127.0.0.1:1234/v1/chat/completions",
"key": env.llm_key_local
},
"local_glm": {
"model": "glm-4-9b-0414",
"url": "http://127.0.0.1:1234/v1/chat/completions",
"key": env.llm_key_local
},
"local_embedding": {
"model": "text-embedding-text2vec-large-chinese",
"url": "http://127.0.0.1:1234/v1/embeddings",
"key": env.llm_key_local
},
# /*---------------------------------------deepseek-------------------------------------------*/
'deepseek-v3': {
'model': 'deepseek-chat',
'url': 'https://api.deepseek.com/chat/completions',
'key': env.llm_key_deepseek,
},
'deepseek-r1': {
'model': 'deepseek-reasoner',
'url': 'https://api.deepseek.com/chat/completions',
'key': env.llm_key_deepseek,
},
# /*---------------------------------------huoshan-------------------------------------------*/
'huoshan-deepseek-v3': {
'model': 'deepseek-v3-250324',
'url': 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
'key': env.llm_key_huoshan,
},
'huoshan-deepseek-r1': {
'model': 'deepseek-r1-distill-qwen-7b-250120',
'url': 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
'key': env.llm_key_huoshan,
},
'huoshan-doubao': {
'model': 'doubao-1-5-lite-32k-250115',
'url': 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
'key': env.llm_key_huoshan,
},
'huoshan-doubao-seed': {
'model': 'doubao-seed-1-6-250615',
'url': 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
'key': env.llm_key_huoshan,
},
'huoshan-embedding-240715': {
"model": 'doubao-embedding-text-240715',
"url": 'https://ark.cn-beijing.volces.com/api/v3/embeddings',
'key': env.llm_key_huoshan,
},
# /*---------------------------------------bailian-------------------------------------------*/
'bailian-qwen-turbo': {
'model': 'qwen-turbo',
'url': 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions',
'key': env.llm_key_bailian,
},
}
+41
View File
@@ -0,0 +1,41 @@
from typing import List
from pydantic_settings import BaseSettings
from pydantic import Field
from dotenv import load_dotenv
class Settings(BaseSettings):
db_host: str = Field(..., env="DB_HOST")
db_port: str = Field(..., env="DB_PORT")
db_username: str = Field(..., env="DB_USERNAME")
db_password: str = Field(..., env="DB_PASSWORD")
db_database: str = Field(..., env="DB_DATABASE")
pg_db_host: str = Field(..., env="PG_DB_HOST")
pg_db_port: str = Field(..., env="PG_DB_PORT")
pg_db_username: str = Field(..., env="PG_DB_USERNAME")
pg_db_password: str = Field(..., env="PG_DB_PASSWORD")
pg_db_database: str = Field(..., env="PG_DB_DATABASE")
llm_key_local: str = Field(..., env="LLM_KEY_LOCAL")
llm_key_huoshan: str = Field(..., env="LLM_KEY_HUOSHAN")
llm_key_bailian: str = Field(..., env="LLM_KEY_BAILIAN")
llm_key_deepseek: str = Field(..., env="LLM_KEY_DEEPSEEK")
server_port: str = Field(..., env="SERVER_PORT")
server_domain: str = Field(..., env="SERVER_DOMAIN")
jwt_secret_key: str = Field(..., env="JWT_SECRET_KEY")
jwt_algorithm: str = Field(..., env="JWT_ALGORITHM")
jwt_access_token_expire_minutes: int = Field(..., env="JWT_ACCESS_TOKEN_EXPIRE_MINUTES")
jwt_global_enable: bool = Field(..., env="JWT_GLOBAL_ENABLE")
jwt_white_list: List[str] = Field(..., env="JWT_WHITE_LIST")
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
load_dotenv(".env") # 先加载 .env 文件
env = Settings()