首页 > ai商拍 > sydney.py

  • 更新时间 2024-12-20

Sydney.py 项目介绍

概述

Sydney.py 是一个由 Python 编写的应用程序客户端,用于与微软的 AI 驱动的个人助手 Copilot(曾被称为 Bing Chat)进行交互。这是一个非官方的客户端,用户可以通过它向 Copilot 提问、进行对话、创作内容,并获取实时响应。

主要功能

连接 Copilot:与微软的 AI 助手进行语音对话。

对话风格和内容创作:支持多种对话风格,能够根据用户的需求在不同的格式和语调下创作内容。

流式响应:支持流式响应令牌,实现实时通信。

获取引用和建议:便于用户接收到经过权威的引用和可供选择的用户回答。

多样化体验:用户可以根据支持的角色自定义体验,比如可以增加图片来丰富交互内容。

高效 I/O 操作:基于 asyncio,支持异步和非阻塞的 I/O 操作。

安装要求

需要 Python 3.9 或更新版本。

可选的微软账户访问 Copilot。

安装方法

对于安装 Sydney.py,可以选择以下两种方式:

使用 pip:

pip install sydney-py

使用 poetry:

poetry add sydney-py

使用方法

先决条件

使用 Sydney.py 前,需要从 Microsoft Edge 中的 Copilot 网页内提取 cookies 用于 API 的验证。具体步骤如下:

打开 Copilot 网页。

调出开发者工具,选择 Network 标签。

发送一条消息到聊天对话框。

找到名称为 create?bundleVersion=XYZ 的请求,复制 Cookie 字段的值。

将 Cookie 值设置为环境变量。

另外,在某些地区,可能不需要使用 cookies。

示例

您可以使用以下示例代码快速创建一个使用 Sydney.py 的命令行客户端:

import asynciofrom sydney import SydneyClientasync def main() -> None: async with SydneyClient() as sydney: while True: prompt = input("You: ") if prompt == "!reset": await sydney.reset_conversation() continue elif prompt == "!exit": break print("Sydney: ", end="", flush=True) async for response in sydney.ask_stream(prompt): print(response, end="", flush=True) print(" ")if __name__ == "__main__": asyncio.run(main())

应用场景

对话风格设定:用户可以在创建 SydneyClient 实例时设定对话风格,如 creative、balanced 或 precise。

对话重置:可以通过重置对话来忘记先前对话的内容,并可以调整对话风格。

内容创作:使用 Sydney.py,可以创作不同风格和格式的内容,比如段落、邮件、博客文章等。

接收建议和原始响应:除文本答案外,用户还可以获取由 Copilot 生成的建议。

角色选择

用户可以根据需要选择合适的 Copilot 角色,包括但不限于 copilot、travel、cooking、fitness 等。

常见异常及处理

Sydney.py 在使用过程中,可能会遇到诸如 NoConnectionException、ConnectionTimeoutException 等异常。一般可以通过重试或更换 cookies 解决。

许可证

Sydney.py 项目采用 MIT 许可证,详细信息请参阅 LICENSE 文件。

copyright © 2025

//www.aipic.cc/ 版权所有