mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-14 19:27:53 +00:00
77 lines
2.4 KiB
Python
77 lines
2.4 KiB
Python
'''
|
||
Author: jackning 270580156@qq.com
|
||
Date: 2023-12-26 11:20:33
|
||
LastEditors: jackning 270580156@qq.com
|
||
LastEditTime: 2024-08-31 19:18:09
|
||
Description: bytedesk.com https://github.com/Bytedesk/bytedesk
|
||
Please be aware of the BSL license restrictions before installing Bytedesk IM –
|
||
selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
|
||
仅支持企业内部员工自用,严禁私自用于销售、二次销售或者部署SaaS方式销售
|
||
Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE
|
||
contact: 270580156@qq.com
|
||
技术/商务联系:270580156@qq.com
|
||
Copyright (c) 2024 by bytedesk.com, All Rights Reserved.
|
||
'''
|
||
from functools import lru_cache
|
||
from typing import Annotated
|
||
from fastapi import APIRouter, Depends
|
||
from pydantic_settings import BaseSettings
|
||
|
||
# https://fastapi.tiangolo.com/zh/advanced/settings/#pydantic-settings
|
||
class Settings(BaseSettings):
|
||
DEBUG: bool
|
||
API_V1_PREFIX: str
|
||
#
|
||
EMBEDDINGS_PATH: str
|
||
#
|
||
ZHIPU_API_KEY: str
|
||
# 连接MySQL数据库
|
||
DATABASE_URL: str
|
||
ASYNC_DATABASE_URL: str
|
||
# REDIS
|
||
REDIS_HOST: str
|
||
REDIS_PORT: int
|
||
REDIS_PASSWORD: str
|
||
REDIS_URL: str
|
||
REDIS_KEY_PREFIX: str
|
||
REDIS_INDEX_NAME: str
|
||
IS_VECTOR_STORE_INITIATED: str
|
||
|
||
# https://docs.pydantic.dev/latest/api/config/
|
||
# https://fastapi.tiangolo.com/zh/advanced/settings/#env_1
|
||
class Config:
|
||
case_sensitive = False
|
||
# 配置环境变量文件
|
||
env_file = ".env"
|
||
#
|
||
# settings = Settings()
|
||
|
||
@lru_cache(maxsize=32)
|
||
def get_settings():
|
||
return Settings()
|
||
|
||
router = APIRouter(
|
||
prefix='/settings',
|
||
tags=['settings v1 apis']
|
||
)
|
||
|
||
# # http://127.0.0.1:9007/api/v1/settings/info
|
||
# @router.get("/info")
|
||
# async def info(settings: Annotated[Settings, Depends(get_settings)]):
|
||
# print('cache info: ', get_settings.cache_info(), settings.API_V1_PREFIX)
|
||
# if (settings.DEBUG):
|
||
# return {
|
||
# "env": settings.model_dump()
|
||
# }
|
||
# return {
|
||
# "env": 'None'
|
||
# }
|
||
|
||
# # http://127.0.0.1:9007/api/v1/settings/clear_cache
|
||
# # 添加一个清除缓存的路由
|
||
# @router.get("/clear_cache")
|
||
# def clear_cache():
|
||
# print('cache info: ', get_settings.cache_info())
|
||
# get_settings.cache_clear() # 清除get_settings函数的缓存
|
||
# return {"message": "Cache cleared"}
|