使用官方SDK实现的将标准Anthropic Claude请求转发至VertexAI Claude的代理服务器应用,使用Fastapi。 支持Claude 3.5 sonnet, Claude 3 Opus/Sonnet/Haiku on Vertex AI
这个项目在本地架设Fastapi服务器,将发送至此服务器的标准Anthropic请求处理模型名后使用官方Anthropic SDK将请求转发至Vertex AI Claude。
1.一个已启用结算账号或存在可用额度的GCP账号,且已启用Vertex AI API。(本步骤不提供教程)
2.一个GCP VertexAI服务账号。
3.一台可访问对应地区GCP资源的主机。
4.Docker&Docker Compose或Python运行环境。(基于你的安装方式及系统)
点击展开
为避免不必要的安全性问题,本应用强烈建议使用服务账号限制应用和服务器对GCP的访问。
1.点击GCP左上角Google图标,点击左上角导航栏,导航至IAM管理-服务账号
3.随意填写名字和ID,创建,搜索并为其选择Vertex AI User角色,完成创建。
6.浏览器将会自动下载一个密钥文件,你不需要编辑它,只需要妥善保存。
请像保护密码一样妥善保管此文件!!
一旦遗失,无法重新下载,泄露将产生严重安全问题。
点击展开
For Linux:
wget --no-check-certificate --content-disposition "https://github.com/TheValkyrja/Anthropic2Vertex/releases/latest/download/Anthropic2Vertex-linux-$(uname -m).tar.gz"
tar -xzvf Anthropic2Vertex-linux-$(uname -m).tar.gz
sudo rm -rf Anthropic2Vertex-linux-$(uname -m).tar.gz #删除压缩包,可选
For Windows:
前往Release,下载Anthropic2Vertex.zip
并解压文件。
点击展开
导航至解压的文件夹。
重命名.env.example为.env,并使用文本编辑器编辑.env文件:
将端口,监听地址修改为你的服务器监听地址(默认127.0.0.1:5000)
并依照需求设置密码(为空即不认证,慎选)。
PROJECT ID可以在GCP首页找到,设置为你自己的ProjectID.
访问区域填写为为你有权访问、且Claude on Vertex正常服务的地区,默认us-east5。
最后,将第一步中下载下来的xxxxxxxxxx.json密钥文件重命名为auth.json,放入文件夹下auth目录中。
从Docker部署启动(推荐)
本方法的优点:
- 跨平台兼容性强
- 环境隔离
- 避免管理依赖,操作便捷
本方法的缺点:
- 需要docker环境
- docker框架与镜像总占用空间偏大。
不包括docker框架,本应用镜像文件约占47.2MB(于Ubuntu22.04上本地构建)。
-
根据你的平台安装对应docker和docker compose
-
导航至文件夹
-
启动应用 运行
docker compose up -d
启动应用。
这一指令会在后台将服务运行于你前面设置的地址和端口(默认127.0.0.1:5000) 以酒馆为例,若你的服务与酒馆运行于同一主机,选择Claude聊天补全,并在代理服务器填入http://127.0.0.1:5000/v1
并将密码设置为你配置中的密码并测试连接。根据不同前端面板和应用需求设置各异,请自行调整。
安装完成,开始使用。
修改配置后,使用
docker compose down
docker compose up -d
重新加载配置。
- (可选)删除目录下main与main.exe文件进一步节省空间。
注:照做这步后将无法使用二进制文件启动。确保你知道你在做什么,否则请无视。
直接运行可执行文件(无需前置依赖)
本方法的优点:
- 无需(也非常不便于)管理任何依赖
- 综合运行体积最优
- 配置运行流程简单
本方法的缺点:
- 系统兼容性较差(旧版系统可能无法运行)。
- 打包应用封闭,内容不透明
- 几乎不存在可调试空间
二进制文件编译于 Debian GNU/Linux 11 (bullseye)与Windows 10 专业版 22H2。任何比这两者更旧或GLIBC不兼容的系统均不保证正常运行。已于Ubuntu22.04进行测试。
二进制文件内容不透明,因此对你的系统存在安全性风险。
USE AT YOUR OWN RISKS
Pyinstaller SPEC打包文件已提供于源码中。
-
导航至文件目录。
-
启动应用。
For Windows:
运行main.exe文件启动应用。
For Linux:
#赋予文件运行权限 chmod +x main ./main
使用方式同上。
使用Python运行
本方法的优点:
- 所需应用文件体积极小
- 可扩展性与自定义性强
- 代码运行内容安全透明
本方法的缺点:
- 需要Python运行环境(最好是python3)与Pip包管理器
- python依赖与运行库可能占用空间较大。
- 对于不同系统兼容性不定。
如果你看不懂这些内容在说什么,请返回尝试前两种运行方法!
- 确保你的系统已经安装了python3与pip3包管理器
以Ubuntu为例:
安装python与pip
sudo apt-get update
sudo apt install python3 python3-pip
- 安装依赖。
导航至应用文件夹,运行
pip install -r requirements.txt
- 运行。
python3 main.py
- 删除目录下main与main.exe文件进一步节省空间。
注:照做这步后将无法使用二进制文件启动。确保你知道你在做什么,否则请无视。
应用将会监听于.env文件中设置的对应地址与端口,使用方式与docker运行一样。