01-开源版COZE-字节 Coze Studio 重磅开源!保姆级本地安装教程,手把手带你体验_dependency failed to start: container coze-elastic
1.前言
Coze Studio 开源版是字节跳动推出的Coze平台的一个开源版本,旨在为开发者和用户提供一个低代码、无代码的AI应用开发平台。Coze Studio 开源版的核心目标是简化AI机器人的开发流程,使用户能够快速构建基于AI模型的问答Bot、智能体、AI应用和插件,并将其部署到各种社交平台和即时通讯应用中。
2025年7月26日凌晨13:40左右群里收到一条消息:字节跳动的扣子(coze)正式开源了。
**开源地址:**https://github.com/coze-dev
其中两个比较重要的仓库:
-
Coze Studio 一站式 AI Agent 开发工具
-
- https://github.com/coze-dev/coze-studio
-
Coze Loop 一个面向开发者,专注于 AI Agent 开发与运维的平台级解决方案
-
- https://github.com/coze-dev/cozeloop
此次扣子的开源动作堪称“全盘托出”。两大核心组件均以Apache 2.0协议开放,允许免费商用,打破过往封闭生态的商业模。
既然开源了我们带大家先本地环境安装体验一下。话不多说,我们直接上手开干。
2.本地安装coze
源码下载
首选我们需要到下载源码
# 克隆代码git clone https://github.com/coze-dev/coze-studio.git
源码下载完成我们先看一下代码结构。这个代码前端是TypeScript 写的,后端是Go 写的。这个效率方面应该是高于dify (直观的感受)
代码这里就带大家解读了,大家也不关心这个。
模型配置
在部署之前我们需要用到模型,从配置文件里可以看到它支持OpenAI(含 Azure)、火山方舟(Ark)、DeepSeek、Ollama(本地开源模型)、Qwen(通义千问)、Gemini(Google)等几个主流的模型。
我这里就以字节提供的doubao-seed-1.6模型介绍。我先到获取火山方舟 API 获取apikey
在开通管理这里,开通一些模型(目前字节在推广用送一些模型token给大家体验)
我们需要开通需要用到的模型。开通模型后需要用到获取 Endpoint ID,大家可以看获取 Endpoint ID,这个是字节最反人类的设计,很多小伙伴不知道这个Endpoint ID是什么,每个人还不一样。需要自己创建自定义推荐接入点
上面的ep-20250621103906-7vrrn 这个才是我们要的。记住这个值,记住这个值,记住这个值。 我们说三遍。我自己做了个对照表方便后面查找。(下面的是我自己的,你的不一样,别抄)
APIkey 和模型Endpoint ID获取到了,下面我们docker部署讲解
docker 部署
项目提供的docker 部署,我们直接到docker 目录下。
我们打开docker-compose.yml 查看(详细内容就不贴了)。主要用到了elasticsearch、etcd、minio、mysql、rocketmq 、Redis 等主流中间件。
数据持久化通过volumes 挂载卷的形式存放。熟悉dify小伙伴应该比较熟悉,内容都差不多。
通过 volumes
配置本地目录与容器目录映射,实现数据持久化:
- MySQL 数据:
./data/mysql
- Redis 数据:
./data/bitnami/redis
- Elasticsearch 数据:
./data/bitnami/elasticsearch
- MinIO 数据:
./data/minio
- Etcd 数据:
./data/bitnami/etcd
- Milvus 数据:
./data/milvus
服务这里用到了opencoze/opencoze:latest 比dify 服务要少一点。
配置模型。
从模板目录复制 doubao-seed-1.6 模型的模版文件,并粘贴到配置文件目录。
cd coze-studio# 复制模型配置模版cp backend/conf/model/template/model_template_ark_doubao-seed-1.6.yaml backend/conf/model/ark_doubao-seed-1.6.yaml
在配置文件目录下,修改模版文件。
设置 id
、meta.conn_config.api_key
、meta.conn_config.model
字段,并保存文件。
- id:Coze Studio 中的模型 ID,由开发者自行定义,必须是非 0 的整数,且全局唯一。模型上线后请勿修改模型 id 。
- meta.conn_config.api_key:模型服务的 API Key
- meta.conn_config.model:模型服务的 model ID
上面配置完成后,我们就可以启动docker了。我们这里用windows上安装的WSL 来实现。
关于WSL 安装可以看我之前的文章《Windows 用户狂喜!免费玩转顶级 AI 编程工具 Claude Code,步骤全揭秘》
目前它这个开源的代码和脚本不支持windows Docker Desktop 安装,结果改了一个地方还有其他地方,所以就没继续折腾了。
一键启动我之前的WSL toggle-wsl.bat
用linux 命令行切换到上面下载的代码目录下
# 启动服务cd dockercp .env.example .env#Linux 适用docker compose --profile \'*\' up -d
这个启动时间会比较长,需要提前下载镜像然后在启动程序。国内小伙伴可能会遇到下载镜像下载不了的问题。大家也可以借助容器代理来间接来解决问题,这里就不详细展开了。关于镜像加速可以参考这个文章 https://blog.xuanyuan.me/archives/1154
在启动docker 容器会遇到这下面这些问题
这个问题主要是目前开源项目在linux平台上运行的,而我们windows 平台上安装setup_es.sh脚本是linux 格式
具体详细问题可以参考github上 https://github.com/coze-dev/coze-studio/issues/28
这里我们就不做详细展开。我们可以使用我改造后的docker-compose.yml 来解决上述的问题
另外也要注意和本地电脑上某些应用端口比要冲突,比如我的3306端口已经被数据库使用了。我该了5306
minio 端口也是 我修改成9901
大家可以根据自己电脑实际情况修改。
可以用我这个docker-compose.yml 来覆盖原来的
x-env-file: &env_file - .envservices: mysql: image: mysql:8.4.5 container_name: coze-mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root} MYSQL_DATABASE: ${MYSQL_DATABASE:-opencoze} MYSQL_USER: ${MYSQL_USER:-coze} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-coze123} profiles: [\'middleware\', \'mysql-setup\', \'mysql\'] env_file: *env_file ports: - \'3306:3306\' volumes: - mysql_data:/var/lib/mysql command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci healthcheck: test: [ \'CMD\', \'mysqladmin\', \'ping\', \'-h\', \'localhost\', \'-u$${MYSQL_USER}\', \'-p$${MYSQL_PASSWORD}\', ] interval: 10s timeout: 5s retries: 5 start_period: 30s networks: - coze-network redis: image: bitnami/redis:8.0 container_name: coze-redis user: root privileged: true profiles: [\'middleware\'] env_file: *env_file environment: - REDIS_AOF_ENABLED=${REDIS_AOF_ENABLED:-no} - REDIS_PORT_NUMBER=${REDIS_PORT_NUMBER:-6379} - REDIS_IO_THREADS=${REDIS_IO_THREADS:-4} - ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD:-yes} ports: - \'6379:6379\' volumes: - redis_data:/bitnami/redis/data:rw,Z command: > bash -c \" /opt/bitnami/scripts/redis/setup.sh # Set proper permissions for data directories chown -R redis:redis /bitnami/redis/data chmod g+s /bitnami/redis/data exec /opt/bitnami/scripts/redis/entrypoint.sh /opt/bitnami/scripts/redis/run.sh \" depends_on: minio-setup: condition: service_completed_successfully elasticsearch-setup: condition: service_completed_successfully mysql-setup-schema: condition: service_completed_successfully mysql-setup-init-sql: condition: service_completed_successfully healthcheck: test: [\'CMD\', \'redis-cli\', \'ping\'] interval: 5s timeout: 10s retries: 10 start_period: 10s networks: - coze-network # rocketmq-namesrv: # image: apache/rocketmq:5.3.2 # container_name: coze-rocketmq-namesrv # privileged: true # user: root # profiles: [\'middleware\'] # env_file: *env_file # ports: # - \'9876:9876\' # volumes: # - ./data/rocketmq/namesrv/logs:/home/rocketmq/logs:rw,Z # - ./data/rocketmq/namesrv/store:/home/rocketmq/store:rw,Z # environment: # - ALLOW_ANONYMOUS_LOGIN=yes # command: > # bash -c \" # # Set proper permissions for data directories # mkdir -p /home/rocketmq/logs /home/rocketmq/store # mkdir -p /home/rocketmq/logs/rocketmqlogs # touch /home/rocketmq/logs/rocketmqlogs/tools.log # touch /home/rocketmq/logs/rocketmqlogs/tools_default.log # chown -R rocketmq:rocketmq /home/rocketmq/logs /home/rocketmq/store # chmod g+s /home/rocketmq/logs /home/rocketmq/store # echo \'Starting RocketMQ NameServer...\' # sh mqnamesrv # \" # healthcheck: # test: [\'CMD\', \'sh\', \'mqadmin\', \'clusterList\', \'-n\', \'localhost:9876\'] # interval: 5s # timeout: 10s # retries: 10 # start_period: 10s # networks: # - coze-network # rocketmq-broker: # image: apache/rocketmq:5.3.2 # container_name: coze-rocketmq-broker # privileged: true # user: root # profiles: [\'middleware\'] # env_file: *env_file # ports: # - \'10909:10909\' # - \'10911:10911\' # - \'10912:10912\' # volumes: # - ./data/rocketmq/broker/logs:/home/rocketmq/logs:rw,Z # - ./data/rocketmq/broker/store:/home/rocketmq/store:rw,Z # - ./volumes/rocketmq/broker.conf:/home/rocketmq/conf/broker.conf:rw,Z # networks: # - coze-network # command: > # bash -c \' # # Set proper permissions # mkdir -p /home/rocketmq/logs/rocketmqlogs /home/rocketmq/store # touch /home/rocketmq/logs/rocketmqlogs/tools.log \\ # /home/rocketmq/logs/rocketmqlogs/tools_default.log # chown -R rocketmq:rocketmq /home/rocketmq/logs /home/rocketmq/store # chmod g+s /home/rocketmq/logs /home/rocketmq/store # echo \"Starting RocketMQ Broker...\" # sh mqbroker -n rocketmq-namesrv:9876 -c /home/rocketmq/conf/broker.conf & # echo \"Waiting for Broker registration...\" # broker_ready=false # for i in {1..60}; do # if sh mqadmin clusterList -n rocketmq-namesrv:9876 \\ # | grep -q \"DefaultCluster.*broker-a\"; then # echo \"Registered.\" # broker_ready=true # break # fi # echo \"Not ready, retry $$i/60...\" # sleep 1 # done # if [ \"$$broker_ready\" = false ]; then # echo \"ERROR: registration timed out.\" # exit 1 # fi # echo \"Creating topics...\" # for t in opencoze_knowledge opencoze_search_app opencoze_search_resource \\ # %RETRY%cg_knowledge %RETRY%cg_search_app %RETRY%cg_search_resource; do # sh mqadmin updateTopic -n rocketmq-namesrv:9876 \\ # -c DefaultCluster -t \"$$t\" # done # touch /tmp/rocketmq_ready # echo \"Broker started successfully.\" # wait # \' # depends_on: # - rocketmq-namesrv # healthcheck: # test: [\'CMD-SHELL\', \'[ -f /tmp/rocketmq_ready ]\'] # interval: 10s # timeout: 10s # retries: 10 # start_period: 10s elasticsearch: image: bitnami/elasticsearch:8.18.0 container_name: coze-elasticsearch user: root privileged: true profiles: [\'middleware\'] env_file: *env_file environment: - TEST=1 # Add Java certificate trust configuration # - ES_JAVA_OPTS=-Djdk.tls.client.protocols=TLSv1.2 -Dhttps.protocols=TLSv1.2 -Djavax.net.ssl.trustAll=true -Xms4096m -Xmx4096m ports: - \'9200:9200\' volumes: - elasticsearch_data:/bitnami/elasticsearch/data - ./volumes/elasticsearch/elasticsearch.yml:/tmp/my_elasticsearch.yml - ./volumes/elasticsearch/analysis-smartcn.zip:/opt/bitnami/elasticsearch/analysis-smartcn.zip:rw,Z healthcheck: test: [ \'CMD-SHELL\', \'curl -f http://localhost:9200 && [ -f /tmp/es_plugins_ready ]\', ] interval: 5s timeout: 10s retries: 10 start_period: 10s networks: - coze-network # Install smartcn analyzer plugin command: > bash -c \" /opt/bitnami/scripts/elasticsearch/setup.sh # Set proper permissions for data directories chown -R elasticsearch:elasticsearch /bitnami/elasticsearch/data chmod g+s /bitnami/elasticsearch/data cp /tmp/my_elasticsearch.yml /opt/bitnami/elasticsearch/config/my_elasticsearch.yml # Create plugin directory mkdir -p /bitnami/elasticsearch/plugins; # Unzip plugin to plugin directory and set correct permissions echo \'Installing smartcn plugin...\'; if [ ! -d /opt/bitnami/elasticsearch/plugins/analysis-smartcn ]; then # Download plugin package locally echo \'Copying smartcn plugin...\'; cp /opt/bitnami/elasticsearch/analysis-smartcn.zip /tmp/analysis-smartcn.zip elasticsearch-plugin install file:///tmp/analysis-smartcn.zip if [[ \"$?\" != \"0\" ]]; then echo \'Plugin installation failed, exiting operation\'; rm -rf /opt/bitnami/elasticsearch/plugins/analysis-smartcn exit 1; fi; rm -f /tmp/analysis-smartcn.zip; fi; # Create marker file indicating plugin installation success touch /tmp/es_plugins_ready; echo \'Plugin installation successful, marker file created\'; # Start Elasticsearch exec /opt/bitnami/scripts/elasticsearch/entrypoint.sh /opt/bitnami/scripts/elasticsearch/run.sh echo -e \"⏳ Adjusting Elasticsearch disk watermark settings...\" \" minio: image: minio/minio:RELEASE.2025-06-13T11-33-47Z-cpuv1 container_name: coze-minio user: root privileged: true profiles: [\'middleware\'] env_file: *env_file ports: - \'9000:9000\' - \'9001:9001\' volumes: - ./data/minio:/data environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin123} MINIO_DEFAULT_BUCKETS: ${MINIO_BUCKET:-opencoze},${MINIO_DEFAULT_BUCKETS:-milvus} command: server /data --console-address \":9001\" healthcheck: test: [ \'CMD-SHELL\', \'/usr/bin/mc alias set health_check http://localhost:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD} && /usr/bin/mc ready health_check\', ] interval: 30s timeout: 10s retries: 3 start_period: 30s networks: - coze-network etcd: image: bitnami/etcd:3.5 container_name: coze-etcd user: root privileged: true profiles: [\'middleware\'] env_file: *env_file environment: - ETCD_AUTO_COMPACTION_MODE=revision - ETCD_AUTO_COMPACTION_RETENTION=1000 - ETCD_QUOTA_BACKEND_BYTES=4294967296 - ALLOW_NONE_AUTHENTICATION=yes ports: - 2379:2379 - 2380:2380 volumes: - ./data/bitnami/etcd:/bitnami/etcd:rw,Z - ./volumes/etcd/etcd.conf.yml:/opt/bitnami/etcd/conf/etcd.conf.yml:ro,Z command: > bash -c \" /opt/bitnami/scripts/etcd/setup.sh # Set proper permissions for data and config directories chown -R etcd:etcd /bitnami/etcd chmod g+s /bitnami/etcd exec /opt/bitnami/scripts/etcd/entrypoint.sh /opt/bitnami/scripts/etcd/run.sh \" healthcheck: test: [\'CMD\', \'etcdctl\', \'endpoint\', \'health\'] interval: 5s timeout: 10s retries: 10 start_period: 10s networks: - coze-network milvus: container_name: coze-milvus image: milvusdb/milvus:v2.5.10 user: root privileged: true profiles: [\'middleware\'] env_file: *env_file command: > bash -c \" # Set proper permissions for data directories chown -R root:root /var/lib/milvus chmod g+s /var/lib/milvus exec milvus run standalone \" security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: coze-etcd:2379 MINIO_ADDRESS: coze-minio:9000 MINIO_BUCKET_NAME: ${MINIO_BUCKET:-milvus} MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin} MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-minioadmin123} MINIO_USE_SSL: false LOG_LEVEL: debug volumes: - ./data/milvus:/var/lib/milvus:rw,Z healthcheck: test: [\'CMD\', \'curl\', \'-f\', \'http://localhost:9091/healthz\'] interval: 5s timeout: 10s retries: 10 start_period: 10s ports: - \'19530:19530\' - \'9091:9091\' depends_on: etcd: condition: service_healthy minio: condition: service_healthy networks: - coze-network nsqlookupd: image: nsqio/nsq:v1.2.1 container_name: coze-nsqlookupd command: /nsqlookupd profiles: [\'middleware\'] ports: - \'4160:4160\' - \'4161:4161\' networks: - coze-network healthcheck: test: [\'CMD-SHELL\', \'nsqlookupd --version\'] interval: 5s timeout: 10s retries: 10 start_period: 10s nsqd: image: nsqio/nsq:v1.2.1 container_name: coze-nsqd command: /nsqd --lookupd-tcp-address=coze-nsqlookupd:4160 --broadcast-address=coze-nsqd profiles: [\'middleware\'] ports: - \'4150:4150\' - \'4151:4151\' depends_on: nsqlookupd: condition: service_healthy networks: - coze-network healthcheck: test: [\'CMD-SHELL\', \'/nsqd --version\'] interval: 5s timeout: 10s retries: 10 start_period: 10s nsqadmin: image: nsqio/nsq:v1.2.1 container_name: coze-nsqadmin command: /nsqadmin --lookupd-http-address=coze-nsqlookupd:4161 profiles: [\'middleware\'] ports: - \'4171:4171\' depends_on: nsqlookupd: condition: service_healthy networks: - coze-network elasticsearch-setup: image: alpine/curl:8.12.1 container_name: coze-elasticsearch-setup profiles: [\'middleware\', \'volcano-setup\'] env_file: *env_file depends_on: elasticsearch: condition: service_healthy volumes: - ./volumes/elasticsearch/setup_es.sh:/setup_es.sh - ./volumes/elasticsearch/es_index_schema:/es_index_schema command: - /bin/sh - -c - | set -ex /setup_es.sh echo \'Elasticsearch setup complete.\' networks: - coze-network restart: \'no\' minio-setup: image: minio/mc:RELEASE.2025-05-21T01-59-54Z-cpuv1 container_name: coze-minio-setup profiles: [\'middleware\'] env_file: *env_file depends_on: minio: condition: service_healthy volumes: - ./volumes/minio/default_icon/:/default_icon - ./volumes/minio/official_plugin_icon/:/official_plugin_icon entrypoint: > /bin/sh -c \" (/usr/bin/mc alias set localminio http://coze-minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD} && \\ /usr/bin/mc mb --ignore-existing localminio/${STORAGE_BUCKET} && \\ /usr/bin/mc cp --recursive /default_icon/ localminio/${STORAGE_BUCKET}/default_icon/ && \\ /usr/bin/mc cp --recursive /official_plugin_icon/ localminio/${STORAGE_BUCKET}/official_plugin_icon/ && \\ echo \'upload files to minio complete: Files uploaded to ${STORAGE_BUCKET} bucket.\') || exit 1; \\ \" networks: - coze-network restart: \'no\' mysql-setup-schema: image: arigaio/atlas:0.35.0-community-alpine container_name: coze-mysql-setup-schema profiles: [\'middleware\', \'mysql-setup\', \'run-server\'] env_file: *env_file depends_on: mysql: condition: service_healthy volumes: - ./atlas/opencoze_latest_schema.hcl:/opencoze_latest_schema.hcl entrypoint: - /bin/sh - -c - | set -ex TMP_ATLAS_URL=\"${ATLAS_URL}\" if [ \"${MYSQL_HOST}\" = \"localhost\" ] || [ \"${MYSQL_HOST}\" = \"127.0.0.1\" ]; then echo \"MYSQL_HOST is localhost or 127.0.0.1, replacing with docker network address\" TMP_ATLAS_URL=\"mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:${MYSQL_PORT}/${MYSQL_DATABASE}?charset=utf8mb4&parseTime=True\" fi echo \"final atlas url: $${TMP_ATLAS_URL}\" for i in `seq 1 60`; do if atlas schema apply \\ -u \"$${TMP_ATLAS_URL}\" \\ --to file:///opencoze_latest_schema.hcl \\ --exclude \"atlas_schema_revisions,table_*\" \\ --auto-approve; then echo \"MySQL setup complete.\" exit 0 fi echo \"atlas schema apply failed, retrying...($$i/60)\" sleep 1 done echo \"MySQL setup failed after 60 retries.\" exit 1 networks: - coze-network mysql-setup-init-sql: image: mysql:8.4.5 container_name: coze-mysql-setup-init-sql profiles: [\'middleware\', \'mysql-setup\', \'run-server\', \'volcano-setup\'] env_file: *env_file depends_on: mysql: condition: service_healthy command: - /bin/sh - -c - | set -ex for i in $(seq 1 60); do DB_HOST=\"$${MYSQL_HOST}\" if [ \"$${MYSQL_HOST}\" = \"localhost\" ] || [ \"$${MYSQL_HOST}\" = \"127.0.0.1\" ]; then DB_HOST=\"mysql\" fi if mysql -h \"$${DB_HOST}\" -P\"$${MYSQL_PORT}\" -u\"$${MYSQL_USER}\" -p\"$${MYSQL_PASSWORD}\" \"$${MYSQL_DATABASE}\" < /schema.sql && \\ mysql -h \"$${DB_HOST}\" -P\"$${MYSQL_PORT}\" -u\"$${MYSQL_USER}\" -p\"$${MYSQL_PASSWORD}\" \"$${MYSQL_DATABASE}\" < /sql_init.sql; then echo \'MySQL init success.\' exit 0 fi echo \"Retrying to connect to mysql... ($$i/60)\" sleep 1 done echo \'Failed to init mysql db.\' exit 1 volumes: - ./volumes/mysql/sql_init.sql:/sql_init.sql - ./volumes/mysql/schema.sql:/schema.sql networks: - coze-network restart: \'no\' coze-server: # build: # context: ../ # dockerfile: backend/Dockerfile image: opencoze/opencoze:latest container_name: coze-server profiles: [\'run-server\'] env_file: *env_file environment: LISTEN_ADDR: 0.0.0.0:8888 networks: - coze-network ports: - \'8888:8888\' - \'8889:8889\' volumes: - .env:/app/.env - ../backend/conf:/app/resources/conf # - ../backend/static:/app/resources/static depends_on: mysql: condition: service_healthy redis: condition: service_healthy # rocketmq-namesrv: # condition: service_healthy # rocketmq-broker: # condition: service_healthy elasticsearch: condition: service_healthy minio: condition: service_healthy milvus: condition: service_healthy minio-setup: condition: service_completed_successfully elasticsearch-setup: condition: service_completed_successfully mysql-setup-init-sql: condition: service_completed_successfully command: [\'/app/bootstrap.sh\']networks: coze-network: driver: bridgevolumes: mysql_data: elasticsearch_data: redis_data:
部署完成后我们就可以通过URL 地址访问了(http://localhost:8888/sign?redirect=%2Fspace)
3 本地coze体验
输入网址http://localhost:8888/
这样我们就看到本地搭建的COZE 了。
创建智能体
点击创建后填写名字就看到我们熟悉的COZE 了
我们之前配置文件写的是doubao的模型,大家也可以根据自己的需要修改和添加模型
我们可以将配置文件复制到F:\\temp\\coze-studio\\backend\\conf\\model 目录下,添加新的模型
验证测试
接下来我们在刚才配置的智能体 做个简单聊天对话功能
好了一个简单的聊天对话的智能体就配置完成了。
其他功能大家自行去研究。
4.总结
今天主要带大家了解并实现了 Coze Studio 开源版的本地安装与使用。此方案借助火山方舟等主流模型,为开发者和用户提供了一个低代码、无代码的 AI 应用开发平台,简化了 AI 机器人的开发流程。
该方案不仅解决了开发者在 AI 应用开发过程中面临的技术门槛问题,通过详细的源码下载、模型配置和 docker 部署步骤,让用户能够快速构建基于 AI 模型的问答 Bot、智能体、AI 应用和插件,并将其部署到各种社交平台和即时通讯应用中。还提供了一种可复用的本地开发与部署思路,其中模型配置及 docker 部署的过程详细且具有通用性,对于有类似需求的项目具有参考价值。
需要注意的是,在部署过程中可能会遇到一些问题,如镜像下载缓慢、脚本格式不兼容、端口冲突等,大家可以根据实际情况进行解决。另外,本文以 doubao - seed - 1.6 模型为例进行介绍,大家也可以根据自己的需要修改和添加其他模型。
感兴趣的小伙伴可以按照本文步骤去尝试本地安装和使用 Coze Studio 开源版,体验低代码、无代码的 AI 应用开发乐趣。今天的分享就到这里结束了,我们下一篇文章见。