From 99fb4a5e148f926a6f6cf0e55030b95af15f52e9 Mon Sep 17 00:00:00 2001 From: wanghe Date: Thu, 14 Mar 2024 17:27:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20Ollama=20(#1089)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ollama/README.md | 9 +++++++++ apps/ollama/data.yml | 20 ++++++++++++++++++++ apps/ollama/latest/data.yml | 10 ++++++++++ apps/ollama/latest/docker-compose.yml | 18 ++++++++++++++++++ apps/ollama/logo.png | Bin 0 -> 4727 bytes 5 files changed, 57 insertions(+) create mode 100644 apps/ollama/README.md create mode 100644 apps/ollama/data.yml create mode 100644 apps/ollama/latest/data.yml create mode 100644 apps/ollama/latest/docker-compose.yml create mode 100644 apps/ollama/logo.png diff --git a/apps/ollama/README.md b/apps/ollama/README.md new file mode 100644 index 00000000..709b48a6 --- /dev/null +++ b/apps/ollama/README.md @@ -0,0 +1,9 @@ +# ollama + +**Ollama** 是一个开源的大型语言模型服务,提供了类似 OpenAI 的 API 接口和聊天界面,可以非常方便地部署最新版本的 GPT 模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。 + +## 优势: + +- 提供类似OpenAI的简单内容生成接口,极易上手使用; +- 类似ChatGPT的的聊天界面,无需开发直接与模型聊天; +- 支持热切换模型,灵活多变。 \ No newline at end of file diff --git a/apps/ollama/data.yml b/apps/ollama/data.yml new file mode 100644 index 00000000..38682e64 --- /dev/null +++ b/apps/ollama/data.yml @@ -0,0 +1,20 @@ +name: Ollama +tags: + - AI +title: 启动并运行 Llama 2、Mistral、Gemma 和其他大型语言模型 +type: AI +description: 启动并运行 Llama 2、Mistral、Gemma 和其他大型语言模型 +additionalProperties: + key: ollama + name: Ollama + tags: + - AI + shortDescZh: 启动并运行 Llama 2、Mistral、Gemma 和其他大型语言模型 + shortDescEn: Get up and running with Llama 2, Mistral, Gemma, and other large language models + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://ollama.com/ + github: https://github.com/ollama/ollama + document: https://github.com/ollama/ollama/blob/main/docs/README.md diff --git a/apps/ollama/latest/data.yml b/apps/ollama/latest/data.yml new file mode 100644 index 00000000..3c2cda04 --- /dev/null +++ b/apps/ollama/latest/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 11434 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/ollama/latest/docker-compose.yml b/apps/ollama/latest/docker-compose.yml new file mode 100644 index 00000000..f9ea72b5 --- /dev/null +++ b/apps/ollama/latest/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + ollama: + image: ollama/ollama:latest + container_name: ${CONTAINER_NAME} + restart: unless-stopped + ports: + - ${PANEL_APP_PORT_HTTP}:11434 + networks: + - 1panel-network + tty: true + volumes: + - ./data:/root/.ollama + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/ollama/logo.png b/apps/ollama/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2bfbe7aee45e5bfdd95a4d57da5617a7ea2c7a03 GIT binary patch literal 4727 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 FV1glohByEK literal 0 KcmV+b0RR6000031