Claude2一个功能强大的平替chatgpt4的文本对话大语言模型,随着Claude2功能越来越完善。围绕接口开发的APP生态也会越来越多,所以Claude2接口也会越发重要。目前官方还没有正式对外提供接口,本文利用逆向Claude2 网页版做成独立于网站的API 接口。下面重点介绍如何使用。
下载
1.下载代码
[https://github.com/wwwzhouhui/Claude2-PyAPI](https://github.com/wwwzhouhui/Claude2-PyAPI)
我们需要通过git 客户端下载代码
git clone [https://github.com/wwwzhouhui/Claude2-PyAPI.git](https://github.com/wwwzhouhui/Claude2-PyAPI.git) cd Claude2-PyAPI
如果国内网速下载代码比较慢可以增加一个代理
git clone [https://ghproxy.com/https://github.com/wwwzhouhui/Claude2-PyAPI.git](https://ghproxy.com/https://github.com/wwwzhouhui/Claude2-PyAPI.git)
以上完成代码下载。
导入项目
使用pycharm或者IntelliJ IDEA 导入项目
file -open-导入项目
通过以下步骤完成项目导入
我电脑用的是IntelliJ IDEA 用作java开发的,所以需要导入python3 依赖环境。如果是pycharm 就不需要了。
选择“ file‘——》project structure 配置python3 运行环境
点击“project” 和"modules" 分别设置 python3运行环境。
点击保存
安装python依赖
在终端窗口中输入如下命令完成python 环境依赖包的安装
pip install requests pip install python-dotenv
以上步骤完成依赖包的安装。
修改env
env 文件内容如下
cookie=sessionKey=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; intercom-device-id-lupk8zyo=08a1e314-e71e-4000-a22c-65a021d19fa3; __cf_bm=uASFxM8wHL9rlo433rEdQufBwJJemvEnGa4ZaIs50W0-1690422016-0-ARaDNyxE/u05EnTuKe/Ysx0z3KtpyPOC394bT8nKJf3Yk0c1i7kOIOyWe8sv6NqbmTrbcyjuljUqgjZTo56ivyc=; intercom-session-lupk8zyo=S1lzQXZDWitwVlIvNFVHMjkzdUplVEFpb28zbVZtQTBwYkxZeG0rbjdCWEtMTEhNeGhDckxOTEJGWWxUUmFRYi0tekNrZGM1di9wYlg4VC80MWgrRTQ2QT09--bfc6601f864ed580fa4ca139efac6b401d155fa3 uploads="D:\\uploads"# 文件上传路径 file_path=uploads# 文件上传大小限制 file_size=102400000# 文件上传类型限制 file_type=jpg,png,gif,jpeg,bmp"
我们需要修改cookie= 右边的内容,此内容主要是您登陆过浏览器访问https://claude.ai/ 产生的cookies 值。具体抓取cookies 值可以参考下面截图
启动程序
选择claude_flask.py 点击 run 运行.claude_flask 是使用了flask框架启动后默认5000端口,当然您也可以修改。具体代码如下
if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True, use_reloader=True) app.default_encoding = 'utf-8'
修改以上port = XXX 端口即可。
程序启动后
测试验证
1.获取历史会话
- postman 导入测试的请求接口json
get 请求,获取当前会话历史记录 [http://127.0.0.1:5000/chat/0c24bd45-ac55-4a24-8393-1582369f5abd](http://127.0.0.1:5000/chat/0c24bd45-ac55-4a24-8393-1582369f5abd)
其中0c24bd45-ac55-4a24-8393-1582369f5abd 是对话ID
请求参数 无:
点击 send postman 接口会调用 启动的flask 程序,调用成功后postman 接口会返回当天聊天会话历史记录
程序控制台会返回请求 GET /chat/0c24bd45-ac55-4a24-8393-1582369f5abd 返回200
2.创建新会话
- 请求 方式 POST 请求url [http://127.0.0.1:5000/chat](http://127.0.0.1:5000/chat)
headhers 设置 Content-Type= application/json
body 请求参数, prompt 是固定值, 后面是您需要问的问题。
{
"prompt": "亚洲金融危机爆发时间是什么时候?请告诉我为什么会出现金融危机?"
}
请求返回
我们刷新一下网页端,查看当前浏览器
3.当前会话中发送消息
请求 方式 POST 请求url [http://127.0.0.1:5000/send](http://127.0.0.1:5000/send)
headhers 设置 Content-Type= application/json
body 请求参数, prompt 是固定值, 后面是您需要问的问题。conversation_id 当前聊天会话ID
{
"conversation_id": "0c24bd45-ac55-4a24-8393-1582369f5abd",
"prompt": "中国和美国的科技有哪些差距?估计多少年才能缩小差距?!"
}
请求返回
我们刷新一下网页端,查看当前浏览器
总结
Claude2 自从2023年7月13日以来备受好评,一次10万token,还支持文件上传 总结。性能直逼收费版本chatgpt4.我详细因为它功能强大另外逐步开放围绕它开展接口和生态也会相应的出现。本文主要是通过逆向Claude2 网页版做成独立于网站的API 接口。不过目前接口功能还不完善,后续陆续完善,请大家多多包涵。