Bootstrap

Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API

目前国内少有调用ChatGPT、Claude、Gemini等国外大模型API的库。
Python库sider_ai_api 提供了调用这些大模型的一个完整解决方案,
使得开发者能调用 sider.ai 的API,实现大模型的访问。

Sider是谷歌浏览器和Edge的插件,能调用ChatGPT、Claude、Gemini、llama,乃至o1以及DeepSeek。

本文介绍访问Sider API的Python 库,sider_ai_api的用法,目前支持聊天和文字识别功能。
sider_ai_api库源地址:sider-ai-api · GitHub


一、安装

pip install requests
pip install sider-ai-api

二、代码

from sider_ai_api import Session

# 设置 token 和 cookie,注意token不需要以Bearer开头
token = "eyJhbGciOiJIUzI..."
cookie = "key1=value1;key2=value2"

# 初始化 Session
session = Session(token=token, cookie=cookie)

# 调用不同模型的聊天功能
print("".join(session.chat("Hello, ChatGPT!", "gpt-4o-mini")))
print("".join(session.chat("Hello, Claude!", "claude-3.5-haiku")))
print("".join(session.chat("Hello, Gemini!", "gemini-2.0-flash")))
print("".join(session.chat("Hello, DeepSeek!", "deepseek-chat")))  # DeepSeek-v3
print("".join(session.chat("Hello, o1!", "o1")))

# 调用 OCR 功能
print("".join(session.ocr("path/to/image.jpg")))

# 查看剩余调用次数
print(f"还剩 {session.remain}/{session.total} 次 API 调用。")

三、用法详解

sider_ai_api 库提供了 Session 类,用于与 Sider API 交互,支持聊天和 OCR 功能。

Session

Session 类用于管理单个聊天上下文,一个Session类包含一个上下文,并提供聊天和OCR文字识别的功能。

构造函数:
def __init__(self,token=None,context_id="",cookie=None):
  • 参数:
    • token (str): 可选,身份验证令牌,如"eyJhbGciOiJIUzI...",注意不需要Bearer 这个开头。如果为None,则自动读取DEFAULT_TOKEN_FILE (默认是_token.json) 中的token和cookie。
    • context_id (str): 可选,对话上下文的 ID,如"C0M.......EB",空字符串表示开始新对话。默认为空字符串。
    • cookie (str): 可选,身份验证所需的 cookie 字符串,如"key1=value1;key2=value2"。如果不提供,默认使用COOKIE_TEMPLATE常量中的模板。
主要方法:
chat(prompt, model="gpt-4o-mini")

用提示词与 AI 对话,返回一个字符串生成器,包含AI的响应结果。

  • 参数:

    • prompt (str): 用户提示词。
    • model (str): 使用的 AI 模型,默认为 "gpt-4o-mini"
  • 返回: 一个字符串生成器,逐步返回 AI 的响应,可以使用"".join()拼接。

ocr(filename, model="gemini-2.0-flash")

对图像文件执行 OCR 识别,返回结果的字符串生成器。

  • 参数:

    • filename (str): 图像文件的路径。
    • model (str): 使用的 OCR 模型,默认为 "gemini-2.0-flash"。完整的模型列表可以在MODELSADVANCED_MODELS常量中找到。
  • 返回: 一个字符串生成器,逐步返回 AI 的响应。

属性:
  • context_id: 对话上下文id,如果为""则表示开始新对话。对话上下文会由服务器端保存。
  • total: API的总调用次数,为整数或者None。
  • remain: API的剩余调用次数,为整数或者None。

其他有用的常量

MODELSADVANCED_MODELS:两个列表,分别包含sider的基础模型和高级模型用在API中的标识符,如"gpt-4o-mini", "claude-3-haiku"等。


四、关于 token 和 cookie

Session 类的使用需要提供 token,可以通过以下方式获取:

  1. 打开浏览器,访问 sider.ai
  2. 在浏览器的开发者工具中,找到 tokencookie 信息。
    • 对于 Edge 浏览器,可以在 edge://settings/cookies/detail?site=sider.ai 中查看。
  3. 如果只有 token 而没有完整的 cookie 信息(如 CloudFront-Signature 等),聊天功能仍然可以正常使用,但 OCR 功能可能会因 Cloudflare 验证失败而报错。因此,建议提供完整的 cookie

五、总结

sider_ai_api 是一个强大的工具,帮助国内用户轻松访问 ChatGPT、Claude、Gemini 等国外大模型。通过简单的安装和配置,你可以快速集成这些模型的聊天和 OCR 功能到自己的项目中。

;