项目简介
这个非官方的 Python API 通过简单的聊天消息界面提供对 Anthropic 的 Claude AI 的对话功能的访问。
虽然没有得到 Anthropic 的正式支持,但该库可以启用有趣的对话应用程序。
它允许:
您可以通过此 API 使用 Claude 执行一些关键操作
提出有关各种主题的问题。克劳德可以谈论时事、流行文化、体育等等。
获取有关复杂主题的有用解释。请克劳德用简单的术语解释概念和想法。
从长文本或文档生成摘要。只需将文件路径作为附件提供给 Claude,即可获得简洁的摘要。
收到对开放式提示和想法的深思熟虑的回应。克劳德可以集思广益,扩展概念,并进行哲学讨论。
如何安装
pip install unofficial-claude2-api
卸载
pip uninstall unofficial-claude2-api
要求
使用 selenium 自动检索 SessionData 对象需要这些要求
(滚动浏览此自述文件,您还会发现手动替代方案)
用法示例
from sys import exit as sys_exit
from claude2_api.client import (
ClaudeAPIClient,
SendMessageResponse,
)
from claude2_api.session import SessionData, get_session_data
from claude2_api.errors import ClaudeAPIError, MessageRateLimitError, OverloadError
FILEPATH_LIST = [
"test1.txt",
"test2.txt",
]
session: SessionData = get_session_data()
client = ClaudeAPIClient(session, timeout=240)
chat_id = client.create_chat()
if not chat_id:
print("\nMessage limit hit, cannot create chat...")
sys_exit(1)
try:
res: SendMessageResponse = client.send_message(
chat_id, "Hello!", attachment_paths=FILEPATH_LIST
)
if res.answer:
print(res.answer)
else:
print(f"\nError code {res.status_code}, raw_answer: {res.raw_answer}")
except ClaudeAPIError as e:
if isinstance(e, MessageRateLimitError):
print(f"\nMessage limit hit, resets at {e.reset_date}")
print(f"\n{e.sleep_sec} seconds left until -> {e.reset_timestamp}")
elif isinstance(e, OverloadError):
print(f"\nOverloaded error: {e}")
else:
print(f"\nGot unknown Claude error: {e}")
finally:
client.delete_chat(chat_id)
all_chat_ids = client.get_all_chat_ids()
for chat in all_chat_ids:
client.delete_chat(chat)
client.delete_all_chats()
sys_exit(0)
github.com/st1vms/unofficial-claude2-api
关注「GitHubStore」公众号
扫一扫以下微信
1 加入技术交流群,备注「开发语言-城市-昵称」