Cohere Toolkit 是一个开源、生产就绪的仓库,用于开发生成式 AI 应用程序。它提供知识助手的 UI 组件,支持来自 Cohere Platform、Bedrock 和 SageMaker 的模型,并连接到企业数据源。安装 Cohere Toolkit 可构建和部署基于领域知识的对话式、可定制的检索增强生成(RAG)应用程序。本文介绍如何在 Ubuntu 24.04 上安装 Cohere Toolkit。
在开始之前,您需要:
1、具有 Ubuntu 24.04 实例的非 root 用户 sudo 权限
2、安装 Docker 和 Docker Compose(Cohere 工具包内部使用)
3、获取 Cohere Toolkit API 密钥
4、创建 Cohere 账户并登录
5、在导航栏中选择 API Keys,复制默认的试用密钥保存备用
安装 Poetry
Poetry 是 Python 的依赖管理工具,用于为 Cohere Toolkit 创建专用环境。请按以下步骤在 Ubuntu 24.04 上安装 Poetry 和 Python 3.11:
添加 deadsnakes PPA 源:
sudo add-apt-repository ppa:deadsnakes/ppa
更新 APT 包索引:
sudo apt update
安装 Python 3.11:
sudo apt install python3.11
安装 Poetry:
sudo apt install python3-poetry
验证 Poetry 版本:
poetry --version
初始化项目
创建新项目并生成 pyproject.toml 配置文件:
poetry init
根据提示填写项目信息,兼容 Python 版本输入 ^3.11。
激活 Python 3.11 虚拟环境:
poetry env use 3.11
安装 Cohere Toolkit
切换至用户主目录并克隆仓库:
cd ~
git clone https://github.com/cohere-ai/cohere-toolkit.git
cd cohere-toolkit
复制配置模板文件:
cp src/backend/config/secrets.template.yaml src/backend/config/secrets.yaml
nano src/backend/config/secrets.yaml
在 api_key 字段填入您的密钥(格式需严格保留空格)。
deployments:
cohere_platform:
api_key: hMtMgJGNbtymq-your-key
命令:
cp src/backend/config/configuration.template.yaml src/backend/config/configuration.yaml
配置 Cohere Toolkit
使用 Makefile 自动化配置:
sudo make first-run
如果遇到 psycopg2 相关错误,请按以下步骤操作:
修改 pyproject.toml 文件:
# 原始依赖
python = "~3.11"
# 注释掉以下行
#psycopg2 = "^2.9.9"
# 添加新行
psycopg2-binary = "^2.9.9"
[tool.poetry.group.setup.dependencies]
# 注释掉以下行
#psycopg2 = "^2.9.9"
# 添加新行
psycopg2-binary = "^2.9.9"
锁定依赖:
poetry lock
重新运行安装:
sudo make first-run
根据提示完成配置:
接受默认的公共后端 API 主机名
选择构建目标 dev 或 prod
禁用 Python 解释器和 Tavily 互联网搜索(按需设置)
选择部署平台(推荐 Cohere Platform)
保存配置变量
启动服务
安装完成后,Cohere Toolkit 的访问地址为:
前端:http://localhost:4000
后端:http://localhost:8000
开放防火墙端口:
sudo ufw allow 8000/tcp
sudo apt install ufw -y && sudo ufw allow ssh
sudo ufw reload
调用 Cohere API
使用以下端点发送请求:
非流式:http://localhost:8000/v1/chat
流式:http://localhost:8000/v1/chat-stream
示例请求:
curl --location 'http://localhost:8000/v1/chat' \
--header 'User-Id: user-id' \
--header 'Content-Type: application/json' \
--data ' { "message": "What is Vultr?" }'