掘金 人工智能 10小时前
部署 coze-loop
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文详细介绍了如何在本地环境中部署 Coze Loop 服务,包括环境准备、组件安装和配置。首先,需要安装并配置好 Go 环境,确保版本为 1.24.5 或兼容版本。接着,安装 Docker,并根据提供的参考链接进行配置。随后,通过 Git 克隆 Coze Loop 的源代码,并进入项目目录。关键步骤是配置 `model_config.yaml` 文件,根据自身需求填写模型名称、API Key 和 Endpoint ID,文中列举了火山方舟、阿里云 Qwen 和 DeepSeek 等模型及其参数配置。完成配置后,使用 `docker compose up -d` 命令启动服务,并通过 `docker compose logs` 查看日志以确认启动成功。最后,需要开放服务器的 8082 端口,并提供使用示例和常见问题(如 Docker 镜像源错误)的解决方案。

🚀 **环境准备与安装**:首先需要安装 Go 开发环境(推荐 1.24.5 版本)和 Docker。Go 环境的安装涉及下载安装包、解压到指定目录、配置环境变量并验证。Docker 的安装则需要参考提供的 CSDN 博客链接进行配置。

🔧 **Coze Loop 代码获取与配置**:通过 `git clone` 命令获取 Coze Loop 的源代码,并进入项目目录。核心配置在于 `conf/default/app/runtime/model_config.yaml` 文件,用户需要在此文件中填入自己可用的模型信息,如火山方舟的 `doubao-seed-1-6-250615`,阿里云的 `qwen3-235b-a22b-instruct-2507` 和 `qwen3-235b-a22b-thinking-2507`,以及 DeepSeek 的 `deepseek-reasoner`,并替换为自己的 API Key 和 Endpoint ID。配置中还详细列出了各模型的参数,如 `temperature`、`max_tokens` 和 `top_p`。

💡 **服务启动与端口开放**:配置完成后,使用 `docker compose up -d` 命令在后台启动 Coze Loop 服务。为确保服务可访问,需要开放服务器的 8082 端口,并根据实际情况(如腾讯云服务器)修改防火墙规则。启动成功后,可以通过 `http://ip:8082` 访问服务。

⚠️ **常见问题与解决方案**:文章还提到了一个常见问题——Docker 镜像源连接超时。解决方法是备份原有的 `daemon.json` 文件,删除后重新写入包含多个镜像源的配置,然后重启 Docker 服务以解决网络连接问题。此外,用户在使用过程中也遇到了部分模型(如 qwen3-235b-a22b-thinking-2507)思考内容显示异常的问题,这可能与模型适配有关。

参考链接

github.com/coze-dev/co…

github.com/coze-dev/co…

第一步 安装 Go 环境

参考链接:go.dev/doc/install

1)下载安装包

# 1.24.5 版本wget https://dl.google.com/go/go1.24.5.linux-amd64.tar.gz

2)删除旧的 go 运行环境,并解压缩到 /usr/local

 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz

3)添加到环境变量

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile# 用于加载环境变量source ~/.profile

4)验证是否安装成功

go version

第二步 安装 docker

参考安装即可:blog.csdn.net/a2497_28226…

第三步 安装 coze Loop

参考链接:github.com/coze-dev/co…

1)拉取代码

git clone https://github.com/coze-dev/cozeloop.git# 如果服务器访问不了,可以试试 https://gh-proxy.com/, 进去转换链接

3)切换到配置目录

# 切换到配置目录cd cozeloop/

4)配置模型

参考:github.com/coze-dev/co…

vim conf/default/app/runtime/model_config.yaml

以下为 model_config.yaml 内容,仅供参考,其中的 api_key 需要改成自己的

注:qwen 的模型我配置了 function call,其他的配置参考官方配置即可

配置了四个模型:

models:  - id: 1    name: "doubao"    frame: "eino"    protocol: "ark"    protocol_config:      api_key: "727exxxxxx"  # 火山方舟 API Key,获取方式可参考 https://www.volcengine.com/docs/82379/1541594      model: "doubao-seed-1-6-250615"    # 火山方舟模型接入点的 Endpoint ID,获取方式可参考 https://www.volcengine.com/docs/82379/1099522    param_config:      param_schemas:        - name: "temperature"          label: "生成随机性"          desc: "调高温度会使得模型的输出更多样性和创新性,反之,降低温度会使输出内容更加遵循指令要求但减少多样性。建议不要与 “Top p” 同时调整。"          type: "float"          min: "0"          max: "1.0"          default_val: "0.7"        - name: "max_tokens"          label: "最大回复长度"          desc: "控制模型输出的 Tokens 长度上限。通常 100 Tokens 约等于 150 个中文汉字。"          type: "int"          min: "1"          max: "4096"          default_val: "2048"        - name: "top_p"          label: "核采样概率"          desc: "生成时选取累计概率达 top_p 的最小 token 集合,集合外 token 被排除,平衡多样性与合理性。"          type: "float" #          min: "0.001"          max: "1.0"          default_val: "0.7"  - id: 2    name: "qwen3-235b-a22b-instruct-2507"    frame: "eino"    protocol: "qwen"    protocol_config:      base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"      api_key: "***"  # qwen API Key      model: "qwen3-235b-a22b-instruct-2507"    ability:      function_call: true    param_config:      param_schemas:        - name: "temperature"          label: "生成随机性"          desc: "调高温度会使得模型的输出更多样性和创新性,反之,降低温度会使输出内容更加遵循指令要求但减少多样性。建议不要与 “Top p” 同时调整。"          type: "float"          min: "0"          max: "1.0"          default_val: "0.7"        - name: "max_tokens"          label: "最大回复长度"          desc: "控制模型输出的 Tokens 长度上限。通常 100 Tokens 约等于 150 个中文汉字。"          type: "int"          min: "1"          max: "4096"          default_val: "2048"        - name: "top_p"          label: "核采样概率"          desc: "生成时选取累计概率达 top_p 的最小 token 集合,集合外 token 被排除,平衡多样性与合理性。"          type: "float" #          min: "0.001"          max: "1.0"          default_val: "0.7"  - id: 3    name: "qwen3-235b-a22b-thinking-2507"    frame: "eino"    protocol: "qwen"    protocol_config:      base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"      api_key: "***"  # qwen API Key      model: "qwen3-235b-a22b-thinking-2507"      ability:      function_call: true    param_config:      param_schemas:        - name: "temperature"          label: "生成随机性"          desc: "调高温度会使得模型的输出更多样性和创新性,反之,降低温度会使输出内容更加遵循指令要求但减少多样性。建议不要与 “Top p” 同时调整。"          type: "float"          min: "0"          max: "1.0"          default_val: "0.7"        - name: "max_tokens"          label: "最大回复长度"          desc: "控制模型输出的 Tokens 长度上限。通常 100 Tokens 约等于 150 个中文汉字。"          type: "int"          min: "1"          max: "4096"          default_val: "2048"        - name: "top_p"          label: "核采样概率"          desc: "生成时选取累计概率达 top_p 的最小 token 集合,集合外 token 被排除,平衡多样性与合理性。"          type: "float" #          min: "0.001"          max: "1.0"          default_val: "0.7"   - id: 4    name: "DeepSeek-R1-0528"    frame: "eino"    protocol: "deepseek"    protocol_config:      base_url: "https://api.deepseek.com"      api_key: "deepseek API Key"  # deepseek API Key      model: "deepseek-reasoner"    ability:      function_call: true      param_config:      param_schemas:        - name: "temperature"          label: "生成随机性"          desc: "调高温度会使得模型的输出更多样性和创新性,反之,降低温度会使输出内容更加遵循指令要求但减少多样性。建议不要与 “Top p” 同时调整。"          type: "float"          min: "0"          max: "1.0"          default_val: "0.7"        - name: "max_tokens"          label: "最大回复长度"          desc: "控制模型输出的 Tokens 长度上限。通常 100 Tokens 约等于 150 个中文汉字。"          type: "int"          min: "1"          max: "4096"          default_val: "2048"        - name: "top_p"          label: "核采样概率"          desc: "生成时选取累计概率达 top_p 的最小 token 集合,集合外 token 被排除,平衡多样性与合理性。"          type: "float" #          min: "0.001"          max: "1.0"          default_val: "0.7"

5)启动服务

# 以后台的方式启动服务,默认为开发模式docker compose up --build -d

6)查看日志,确保服务正常启动

docker compose logs

显示这个就代表启动成功

7)开放端口 8082

我的服务器是 腾讯云的,所以我要去安全组开放 8082 端口

# 查看防火墙状态sudo firewall-cmd --state# 开放 8082 端口(临时+永久)sudo firewall-cmd --zone=public --add-port=8082/tcp --permanent# 重新加载防火墙配置sudo firewall-cmd --reload

最后:使用

访问 http://ip:8082 就可以正常使用了

注:初次使用,直接输入账号密码注册就可以了

使用例子:

我发现 qwen3-235b-a22b-thinking-2507 的思考内容不能正常显示, 而 deepseek r1 以及 doubao-seed-1-6-250615 思考内容都能正常显示, 不知道是不是最近出的模型没有适配

启动、停止命令

# 切换到配置目录(我放在 /root/cozeloop 目录下)cd /root/cozeloop# 启动docker compose up -d# 停止docker compose stop

Q&A

Get "registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决

1)备份原来的配置

cp /etc/docker/daemon.json{,.bak}

2)删除原先的配置

rm -rf /etc/docker/daemon.json

3)写入镜像源信息

sudo tee /etc/docker/daemon.json <<-'EOF'{   "registry-mirrors":[        "https://docker-0.unsee.tech",        "https://hub.rat.dev",        "https://hub.fast360.xyz",        "https://docker.1panel.live"    ]}EOF

4)重启 docker

sudo systemctl daemon-reloadsudo systemctl restart docker

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Coze Loop 本地部署 AI服务 Docker Go环境
相关文章