From 793c2673c084091d320917b7382fa32d1b5f6ada Mon Sep 17 00:00:00 2001 From: okxlin Date: Thu, 12 Dec 2024 17:50:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0mt-photos-ai=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mt-photos-ai/1.2.0/.env.sample | 3 +++ apps/mt-photos-ai/1.2.0/data.yml | 19 +++++++++++++++ apps/mt-photos-ai/1.2.0/docker-compose.yml | 23 ++++++++++++++++++ apps/mt-photos-ai/README.md | 4 +++ apps/mt-photos-ai/data.yml | 21 ++++++++++++++++ apps/mt-photos-ai/latest-onnx/.env.sample | 3 +++ apps/mt-photos-ai/latest-onnx/data.yml | 19 +++++++++++++++ .../latest-onnx/docker-compose.yml | 22 +++++++++++++++++ apps/mt-photos-ai/latest/.env.sample | 3 +++ apps/mt-photos-ai/latest/data.yml | 19 +++++++++++++++ apps/mt-photos-ai/latest/docker-compose.yml | 23 ++++++++++++++++++ apps/mt-photos-ai/logo.png | Bin 0 -> 7267 bytes 12 files changed, 159 insertions(+) create mode 100644 apps/mt-photos-ai/1.2.0/.env.sample create mode 100644 apps/mt-photos-ai/1.2.0/data.yml create mode 100644 apps/mt-photos-ai/1.2.0/docker-compose.yml create mode 100644 apps/mt-photos-ai/README.md create mode 100644 apps/mt-photos-ai/data.yml create mode 100644 apps/mt-photos-ai/latest-onnx/.env.sample create mode 100644 apps/mt-photos-ai/latest-onnx/data.yml create mode 100644 apps/mt-photos-ai/latest-onnx/docker-compose.yml create mode 100644 apps/mt-photos-ai/latest/.env.sample create mode 100644 apps/mt-photos-ai/latest/data.yml create mode 100644 apps/mt-photos-ai/latest/docker-compose.yml create mode 100644 apps/mt-photos-ai/logo.png diff --git a/apps/mt-photos-ai/1.2.0/.env.sample b/apps/mt-photos-ai/1.2.0/.env.sample new file mode 100644 index 000000000000..a29e07d65aea --- /dev/null +++ b/apps/mt-photos-ai/1.2.0/.env.sample @@ -0,0 +1,3 @@ +API_AUTH_KEY="mt_photos_ai_extra_secret" +CONTAINER_NAME="mt-photos-ai" +PANEL_APP_PORT_HTTP=40335 diff --git a/apps/mt-photos-ai/1.2.0/data.yml b/apps/mt-photos-ai/1.2.0/data.yml new file mode 100644 index 000000000000..c1e30c08e47b --- /dev/null +++ b/apps/mt-photos-ai/1.2.0/data.yml @@ -0,0 +1,19 @@ +additionalProperties: + formFields: + - default: "40335" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "mt_photos_ai_extra_secret" + edit: true + envKey: API_AUTH_KEY + labelEn: API Auth Key + labelZh: API 授权密钥 + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/mt-photos-ai/1.2.0/docker-compose.yml b/apps/mt-photos-ai/1.2.0/docker-compose.yml new file mode 100644 index 000000000000..3eefd35b5971 --- /dev/null +++ b/apps/mt-photos-ai/1.2.0/docker-compose.yml @@ -0,0 +1,23 @@ +services: + mt-photos-ai: + image: "mtphotos/mt-photos-ai:1.2.0" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8060" + environment: + - API_AUTH_KEY=${API_AUTH_KEY} + runtime: nvidia + deploy: + resources: + reservations: + devices: + - capabilities: [gpu] + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mt-photos-ai/README.md b/apps/mt-photos-ai/README.md new file mode 100644 index 000000000000..fbe6b167626d --- /dev/null +++ b/apps/mt-photos-ai/README.md @@ -0,0 +1,4 @@ +# MT Photos AI 识别相关任务独立部署项目 + +- 基于PaddleOCR实现的文本识别(OCR)接口 +- 基于Chinese-CLIP(OpenAI CLIP模型的中文版本)实现的图片、文本提取特征接口 diff --git a/apps/mt-photos-ai/data.yml b/apps/mt-photos-ai/data.yml new file mode 100644 index 000000000000..fc973dfa0cc3 --- /dev/null +++ b/apps/mt-photos-ai/data.yml @@ -0,0 +1,21 @@ +name: MT Photos AI +tags: + - 多媒体 + - AI / 大模型 +title: MT Photos AI 相关的独立服务 +description: MT Photos AI 相关的独立服务 +additionalProperties: + key: mt-photos-ai + name: MT Photos AI + tags: + - Media + - AI + shortDescZh: MT Photos AI 相关的独立服务 + shortDescEn: MT Photos AI-related standalone services + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://mtmt.tech + github: https://github.com/MT-Photos/mt-photos-ai + document: https://mtmt.tech diff --git a/apps/mt-photos-ai/latest-onnx/.env.sample b/apps/mt-photos-ai/latest-onnx/.env.sample new file mode 100644 index 000000000000..a29e07d65aea --- /dev/null +++ b/apps/mt-photos-ai/latest-onnx/.env.sample @@ -0,0 +1,3 @@ +API_AUTH_KEY="mt_photos_ai_extra_secret" +CONTAINER_NAME="mt-photos-ai" +PANEL_APP_PORT_HTTP=40335 diff --git a/apps/mt-photos-ai/latest-onnx/data.yml b/apps/mt-photos-ai/latest-onnx/data.yml new file mode 100644 index 000000000000..c1e30c08e47b --- /dev/null +++ b/apps/mt-photos-ai/latest-onnx/data.yml @@ -0,0 +1,19 @@ +additionalProperties: + formFields: + - default: "40335" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "mt_photos_ai_extra_secret" + edit: true + envKey: API_AUTH_KEY + labelEn: API Auth Key + labelZh: API 授权密钥 + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/mt-photos-ai/latest-onnx/docker-compose.yml b/apps/mt-photos-ai/latest-onnx/docker-compose.yml new file mode 100644 index 000000000000..b53f5da91d95 --- /dev/null +++ b/apps/mt-photos-ai/latest-onnx/docker-compose.yml @@ -0,0 +1,22 @@ +services: + mt-photos-ai: + image: "mtphotos/mt-photos-ai:onnx-latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8060" + environment: + - API_AUTH_KEY=${API_AUTH_KEY} + deploy: + resources: + reservations: + devices: + - capabilities: [gpu] + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mt-photos-ai/latest/.env.sample b/apps/mt-photos-ai/latest/.env.sample new file mode 100644 index 000000000000..a29e07d65aea --- /dev/null +++ b/apps/mt-photos-ai/latest/.env.sample @@ -0,0 +1,3 @@ +API_AUTH_KEY="mt_photos_ai_extra_secret" +CONTAINER_NAME="mt-photos-ai" +PANEL_APP_PORT_HTTP=40335 diff --git a/apps/mt-photos-ai/latest/data.yml b/apps/mt-photos-ai/latest/data.yml new file mode 100644 index 000000000000..c1e30c08e47b --- /dev/null +++ b/apps/mt-photos-ai/latest/data.yml @@ -0,0 +1,19 @@ +additionalProperties: + formFields: + - default: "40335" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "mt_photos_ai_extra_secret" + edit: true + envKey: API_AUTH_KEY + labelEn: API Auth Key + labelZh: API 授权密钥 + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/mt-photos-ai/latest/docker-compose.yml b/apps/mt-photos-ai/latest/docker-compose.yml new file mode 100644 index 000000000000..18879bf044c9 --- /dev/null +++ b/apps/mt-photos-ai/latest/docker-compose.yml @@ -0,0 +1,23 @@ +services: + mt-photos-ai: + image: "mtphotos/mt-photos-ai:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8060" + environment: + - API_AUTH_KEY=${API_AUTH_KEY} + runtime: nvidia + deploy: + resources: + reservations: + devices: + - capabilities: [gpu] + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mt-photos-ai/logo.png b/apps/mt-photos-ai/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f43af2d5acd11a04e646e9d7c91977909ee56c1 GIT binary patch literal 7267 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