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

news/2025/2/5 19:19:16/

目前国内少有调用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

目录

    • 一、安装
    • 二、代码
    • 三、用法详解
      • `Session` 类
        • 构造函数:
        • 主要方法:
          • `chat(prompt, model="gpt-4o-mini")`
          • `ocr(filename, model="gemini-2.0-flash")`
        • 属性:
      • 其他有用的常量
    • 四、关于 token 和 cookie
    • 五、总结


一、安装

pip install requests
pip install sider-ai-api

二、代码

python">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文字识别的功能。

构造函数:
python">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()拼接。

gemini20flash_80">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 功能到自己的项目中。


http://www.ppmy.cn/news/1569581.html

相关文章

实现网站内容快速被搜索引擎收录的方法

本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/6.html 实现网站内容快速被搜索引擎收录,是网站运营和推广的重要目标之一。以下是一些有效的方法,可以帮助网站内容更快地被搜索引擎发现和收录: 一、确…

Word List 2

词汇颜色标识解释 词汇表中的生词 词汇表中的词组成的搭配、派生词 例句中的生词 我自己写的生词(用于区分易混淆的词,无颜色标识) 不认识的单词或句式 单词的主要汉语意思 不太理解的句子语法和结构 Word List 2 英文音标中文regi…

【华为OD-E卷 - 跳格子2 100分(python、java、c++、js、c)】

【华为OD-E卷 - 跳格子2 100分(python、java、c、js、c)】 题目 小明和朋友玩跳格子游戏,有 n 个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择以任意格子起跳,但是不能跳连续的格子&#xff…

前端知识速记--CSS篇:display

前端知识速记–CSS篇:display 一、什么是 display 属性? display 属性用于指定一个元素如何被显示在网页上。它不仅影响元素的显示形式,还对元素的布局、结构以及与其他元素之间的关系产生重要影响。 二、常用 display 属性值 1. block …

如何实现网页不用刷新也能更新

要实现用户在网页上不用刷新也能到下一题,可以使用 前端和后端交互的技术,比如 AJAX(Asynchronous JavaScript and XML)、Fetch API 或 WebSocket 来实现局部页面更新。以下是一个实现思路: 1. 使用前端 AJAX 或 Fetch…

Linux下的编辑器 —— vim

目录 1.什么是vim 2.vim的模式 认识常用的三种模式 三种模式之间的切换 命令模式和插入模式的转化 命令模式和底行模式的转化 插入模式和底行模式的转化 3.命令模式下的命令集 光标移动相关的命令 复制粘贴相关命令 撤销删除相关命令 查找相关命令 批量化注释和去…

保姆级教程Docker部署Kafka官方镜像

目录 一、安装Docker及可视化工具 二、单节点部署 1、创建挂载目录 2、运行Kafka容器 3、Compose运行Kafka容器 4、查看Kafka运行状态 三、集群部署 四、部署可视化工具 1、创建挂载目录 2、运行Kafka-ui容器 3、Compose运行Kafka-ui容器 4、查看Kafka-ui运行状态 …

C基础寒假练习(8)

一、终端输入10个学生成绩&#xff0c;使用冒泡排序对学生成绩从低到高排序 #include <stdio.h> int main(int argc, const char *argv[]) {int arr[10]; // 定义一个长度为10的整型数组&#xff0c;用于存储学生成绩int len sizeof(arr) / sizeof(arr[0]); // 计算数组…