Sydney.py是一个功能强大的非官方Python客户端库,专门用于连接和操作微软的AI助手Copilot(原Bing Chat)。该库提供了丰富的功能和灵活的接口,让开发者能够轻松地与Copilot进行交互和对话,实现各种智能化应用。
Sydney.py提供了以下主要功能:
连接Copilot: 轻松建立与微软AI助手Copilot的连接。
多样化对话: 支持不同的对话风格,如创意型、平衡型和精确型。
内容生成: 可以生成各种格式和语气的内容,如电子邮件、博客文章等。
实时响应: 支持流式响应,实现实时交互。
引用和建议: 能够获取引用信息和Copilot给出的建议回复。
图像增强: 支持在提示中添加图片,丰富交互体验。
个性化设置: 可以使用不同的personas来定制体验。
异步操作: 使用asyncio实现高效的非阻塞I/O操作。
要安装Sydney.py,只需运行以下命令:
pip install sydney-py
使用poetry的用户可以运行:
poetry add sydney-py
在使用Sydney.py之前,需要先从Copilot网页提取cookies来进行身份验证。具体步骤如下:
然后,可以将这些cookies设置为环境变量:
export BING_COOKIES=<your-cookies>
或者在Python代码中设置:
import os os.environ["BING_COOKIES"] = "<your-cookies>"
以下是一个使用Sydney.py创建CLI客户端的简单示例:
import asyncio from sydney import SydneyClient async 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("\n") if __name__ == "__main__": asyncio.run(main())
Sydney.py还提供了许多高级功能,如:
例如,设置对话风格:
sydney = SydneyClient(style="creative")
添加图片附件:
response = await sydney.ask("What does this picture show?", attachment="<image-url-or-path>")
使用personas:
async with SydneyClient(persona="travel") as sydney: response = await sydney.ask("Tourist attractions in Sydney") print(response)
Sydney.py定义了一系列异常来处理可能出现的错误情况,如连接超时、验证码挑战等。开发者应当适当处理这些异 常以提高应用的健壮性。
Sydney.py为开发者提供了一个强大而灵活的工具,可以轻松地将Copilot的智能对话能力集成到各种Python应用中。无论是构建聊天机器人、内容生成工具,还是智能问答系统,Sydney.py都能为您的项目带来强大的AI支持。
Sydney.py是开源项目,遵循MIT许可证。欢迎开发者们为这个项目做出贡献,共同推动AI应用的发展。
如果您在使用过程中遇到任何问题或有任何建议,欢迎在GitHub上提交issue或pull request。让我们一起探索AI的无限可能!