Sydney Magic is an IPython extension that provides line and cell magics for interacting with Sydney.py, an unofficial Python client for Copilot (formerly named Bing Chat), also known as Sydney. This extension allows users to easily use Copilot's capabilities directly within IPython notebooks or shells.
- Ask questions or make requests to Copilot with
%sydney ask "<prompt>"
. - Compose content with specific formats and tones using
%sydney compose "<prompt>"
. - Supports streaming responses for real-time interaction.
- Automatically handles conversation limits by resetting the conversation.
To install Sydney Magic from pip:
pip install sydney-magic
To install Sydney Magic from code, follow these steps:
- Clone this repository or download the source code.
- Navigate to the directory containing
setup.py
. - Install the module using pip:
pip install .
This command installs Sydney Magic and its dependencies.
Sydney Magic requires a cookie from the Copilot web page to authenticate requests to the Copilot API. To set up this cookie:
- Go to the Copilot web page.
- Open the developer tools in your browser (usually by pressing
F12
or right-clicking on the chat dialog and selectingInspect
). - Select the
Network
tab to view all requests sent to Copilot. - Write a message on the chat dialog that appears on the web page.
- Find a request named
create?bundleVersion=XYZ
and click on it. - Scroll down to the requests headers section and copy the entire value after the
Cookie:
field.
Then, set it as an environment variable in your shell:
export BING_COOKIES="<your-cookies>"
Alternatively, you can set the cookie within your IPython notebook or script using the helper_set_cookie("<your-cookies>")
function provided by Sydney Magic.
After installation, load the extension in your IPython environment:
%load_ext sydney_magic
Ask Copilot a question:
%sydney ask "What is the weather like today?"
Compose content with specific formatting:
%sydney compose "Write a short story about a robot" --format=blogpost --tone=enthusiastic
For more information on commands and options, use:
%sydney help
This project is licensed under the MIT License - see the LICENSE file for details.