当前位置: 首页 > news >正文

ubuntu 部署 coze-loop

参考链接

https://github.com/coze-dev/cozeloop/wiki/2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

https://github.com/coze-dev/cozeloop/wiki/5.-%E6%A8%A1%E5%9E%8B%E9%85%8D%E7%BD%AE

第一步 安装 Go 环境

参考链接:Download and install - The Go Programming Language

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

参考安装即可:Ubuntu 安装 docker-CSDN博客

第三步 安装 coze Loop

参考链接:https://github.com/coze-dev/cozeloop/wiki/2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

1)拉取代码

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

3)切换到配置目录

# 切换到配置目录
cd cozeloop/

4)配置模型

参考:https://github.com/coze-dev/cozeloop/wiki/5.-%E6%A8%A1%E5%9E%8B%E9%85%8D%E7%BD%AE

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

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

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

配置了四个模型:

  • doubao-seed-1-6-250615
  • qwen3-235b-a22b-instruct-2507
  • qwen3-235b-a22b-thinking-2507
  • DeepSeek-R1-0528
models:- id: 1name: "doubao"frame: "eino"protocol: "ark"protocol_config:api_key: "727exxxxxx"  # 火山方舟 API Key,获取方式可参考 https://www.volcengine.com/docs/82379/1541594model: "doubao-seed-1-6-250615"    # 火山方舟模型接入点的 Endpoint ID,获取方式可参考 https://www.volcengine.com/docs/82379/1099522param_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: 2name: "qwen3-235b-a22b-instruct-2507"frame: "eino"protocol: "qwen"protocol_config:base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"api_key: "***"  # qwen API Keymodel: "qwen3-235b-a22b-instruct-2507"ability:function_call: trueparam_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: 3name: "qwen3-235b-a22b-thinking-2507"frame: "eino"protocol: "qwen"protocol_config:base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"api_key: "***"  # qwen API Keymodel: "qwen3-235b-a22b-thinking-2507"  ability:function_call: trueparam_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: 4name: "DeepSeek-R1-0528"frame: "eino"protocol: "deepseek"protocol_config:base_url: "https://api.deepseek.com"api_key: "deepseek API Key"  # deepseek API Keymodel: "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 "https://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-reload
sudo systemctl restart docker

http://www.lryc.cn/news/601295.html

相关文章:

  • [10月考试] F
  • Java 后端 Cookie Session Token会话跟踪技术
  • LabelMe数据标注软件介绍和下载
  • cmake入门学习
  • VScode 支持 QNX 源码跳转
  • JavaWeb(苍穹外卖)--学习笔记13(微信小程序开发,缓存菜品,Spring Cache)
  • 中级全栈工程师笔试题
  • JavaScript数组去重性能优化:Set与Object哈希表为何效率最高
  • 影刀RPA_初级课程_玩转影刀自动化_网页操作自动化
  • 【多模态】天池AFAC赛道四-智能体赋能的金融多模态报告自动化生成part1-数据获取
  • vLLM 的“投机取巧”:Speculative Decoding 如何加速大语言模型推理
  • 重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
  • 【前端】【vscode】【.vscode/settings.json】为单个项目配置自动格式化和开发环境
  • 人工智能——图像梯度处理、边缘检测、绘制图像轮廓、凸包特征检测
  • 设计模式(十三)结构型:代理模式详解
  • springboot基于Java与MySQL库的健身俱乐部管理系统设计与实现
  • 设计模式(十一)结构型:外观模式详解
  • Qt 窗口 工具栏QToolBar、状态栏StatusBar
  • IDEA安装Key Promoter X插件记录快捷键使用频率提高生产率
  • 【笔记】活度系数推导
  • 07.4-使用 use 关键字引入路径
  • 一、搭建springCloudAlibaba2021.1版本分布式微服务-父工程搭建
  • Kafka——消费者组消费进度监控都怎么实现?
  • SparkSQL — get_json_object函数详解(解析 json)
  • Vue 四个map的使用方法
  • Java面试实战:企业级性能优化与JVM调优全解析
  • mac neo4j install verifcation
  • 1.qt历史版本安装与多版本开发(解决被拦截问题)
  • 前缀和-560.和为k的子数组-力扣(LeetCode)
  • Qt C++ GUI 函数参数速查手册:基础与布局