feat: 环境变量配置

This commit is contained in:
martsforever
2026-03-28 21:31:52 +08:00
parent c2eef126cd
commit 927230848e
6 changed files with 70 additions and 3 deletions
+1
View File
@@ -0,0 +1 @@
SERVER_PORT = 7004 # 服务启动端口
+1
View File
@@ -1,2 +1,3 @@
__pycache__ __pycache__
.idea .idea
.env
+13
View File
@@ -0,0 +1,13 @@
from pydantic_settings import BaseSettings
from pydantic import Field
class EnvSettings(BaseSettings):
server_port: int = Field(..., env="SERVER_PORT")
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
env = EnvSettings()
+3 -1
View File
@@ -13,6 +13,8 @@ from langserve import add_routes
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from starlette.staticfiles import StaticFiles from starlette.staticfiles import StaticFiles
from app.config.env import env
app = FastAPI( app = FastAPI(
docs_url=None, # 禁用默认 Swagger docs_url=None, # 禁用默认 Swagger
redoc_url=None, # 禁用默认 ReDoc redoc_url=None, # 禁用默认 ReDoc
@@ -107,4 +109,4 @@ add_routes(app=app, runnable=model, path="/qwen")
if __name__ == "__main__": if __name__ == "__main__":
import uvicorn import uvicorn
uvicorn.run(app, host="localhost", port=8000) uvicorn.run(app, host="localhost", port=env.server_port)
Generated
+50 -1
View File
@@ -1278,6 +1278,35 @@ type = "legacy"
url = "https://pypi.tuna.tsinghua.edu.cn/simple" url = "https://pypi.tuna.tsinghua.edu.cn/simple"
reference = "tsinghua" reference = "tsinghua"
[[package]]
name = "pydantic-settings"
version = "2.10.1"
description = "Settings management using Pydantic"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796"},
{file = "pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee"},
]
[package.dependencies]
pydantic = ">=2.7.0"
python-dotenv = ">=0.21.0"
typing-inspection = ">=0.4.0"
[package.extras]
aws-secrets-manager = ["boto3 (>=1.35.0)", "boto3-stubs[secretsmanager]"]
azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"]
gcp-secret-manager = ["google-cloud-secret-manager (>=2.23.1)"]
toml = ["tomli (>=2.0.1)"]
yaml = ["pyyaml (>=6.0.1)"]
[package.source]
type = "legacy"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
reference = "tsinghua"
[[package]] [[package]]
name = "pygments" name = "pygments"
version = "2.19.2" version = "2.19.2"
@@ -1298,6 +1327,26 @@ type = "legacy"
url = "https://pypi.tuna.tsinghua.edu.cn/simple" url = "https://pypi.tuna.tsinghua.edu.cn/simple"
reference = "tsinghua" reference = "tsinghua"
[[package]]
name = "python-dotenv"
version = "1.2.2"
description = "Read key-value pairs from a .env file and set them as environment variables"
optional = false
python-versions = ">=3.10"
groups = ["main"]
files = [
{file = "python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a"},
{file = "python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3"},
]
[package.extras]
cli = ["click (>=5.0)"]
[package.source]
type = "legacy"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
reference = "tsinghua"
[[package]] [[package]]
name = "pyyaml" name = "pyyaml"
version = "6.0.3" version = "6.0.3"
@@ -2248,4 +2297,4 @@ reference = "tsinghua"
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.1"
python-versions = "^3.11" python-versions = "^3.11"
content-hash = "a1f12334c250157e041485cd09a83b9ad4f4615efe41dee682ee865c20726b7c" content-hash = "cbd4a418461762ae481010557464342047763af195aba7f234f0e1e5b670bc27"
+1
View File
@@ -15,6 +15,7 @@ langserve = {extras = ["server"], version = ">=0.3.0,<0.4.0"} # 更新到v0.3.0
pydantic = "2.10.6" pydantic = "2.10.6"
langgraph = "^1.1.3" langgraph = "^1.1.3"
langchain = {extras = ["openai"], version = "^1.2.13"} langchain = {extras = ["openai"], version = "^1.2.13"}
pydantic-settings = "2.10.1"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]