diff --git a/api/README_CN.md b/api/README_CN.md new file mode 100644 index 0000000000..ee8b9a34ff --- /dev/null +++ b/api/README_CN.md @@ -0,0 +1,91 @@ +# Dify 后端 API + +## 使用方法 + +> [重要事项] +> +> 在 v1.3.0 版本中,`poetry` 已被 +> [ `uv` ](https://docs.astral.sh/uv/) 替代,作为 Dify API 后端服务的包管理器。 + +1. 启动 docker-compose 栈 + + 后端需要一些中间件,包括 PostgreSQL、Redis 和 Weaviate,可以使用 `docker-compose` 一起启动。 + + ```bash + cd ../docker + cp middleware.env.example middleware.env + # 如果不使用 weaviate,请将配置文件更改为其他向量数据库 + docker compose -f docker-compose.middleware.yaml --profile weaviate -p dify up -d + cd ../api + ``` + +2. 将 `.env.example` 复制为 `.env` + + ```cli + cp .env.example .env + ``` +3. 在 `.env` 文件中生成一个 `SECRET_KEY`。 + + Linux 系统的 bash 命令 + ```bash for Linux + sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env + ``` + Mac 系统的 bash 命令 + ```bash for Mac + secret_key=$(openssl rand -base64 42) + sed -i '' "/^SECRET_KEY=/c\\ + SECRET_KEY=${secret_key}" .env + ``` + +4. 创建环境。 + + Dify API 服务使用 [UV](https://docs.astral.sh/uv/) 来管理依赖项。 + 首先,如果还没有安装 uv 包管理器,需要先安装它。 + + ```bash + pip install uv + # 或者在 macOS 上 + brew install uv + ``` + +5. 安装依赖项 + + ```bash + uv sync --dev + ``` + +6. 运行迁移 + + 在首次启动之前,将数据库迁移到最新版本。 + + ```bash + uv run flask db upgrade + ``` + +7. 启动后端 + + ```bash + uv run flask run --host 0.0.0.0 --port=5001 --debug + ``` + +8. 启动 Dify [web](../web) 服务。 +9. 通过访问 `http://localhost:3000` 来设置你的应用程序。 +10. 如果你需要处理和调试异步任务(例如数据集导入和文档索引),请启动工作进程服务。 + + ```bash + uv run celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion + ``` + +## 测试 + +1. 为后端和测试环境安装依赖项 + + ```bash + uv sync --dev + ``` + +2. 使用 `pyproject.toml` 文件中 `tool.pytest_env` 部分模拟的系统环境变量在本地运行测试 + + ```bash + uv run -P api bash dev/pytest/pytest_all_tests.sh + ``` \ No newline at end of file