Skip to main content

No project description provided

Project description

jupyter_anywidget_window_ai

Example of using window.ai in-browser LLM (Chrome Canary) in JupyterLab / Jupyter notebook using anywidget.

Example of jupyter_anywidget_window_ai panel view

Set-up Chrome Canary / window.ai: Getting started with window.ai in Chrome Canary — in browser Gemini LLM

We can test the availability of window.ai prompt API using some simple javascript magic in a Jupyter notebook accessed via an appropriately configured Chrome Canary browser:

%%javascript

// h/t ChatGPT

(async function() {
     console.log("Creating AI asisstant...\n\n");
 
    // Assuming ai.assistant.create() is defined 
    // and accessible in your environment
    const session = await ai.assistant.create();

    console.log("Session created...\n\n");

    console.log("Sending prompt...\n\n");

    // Prompt the model and wait for the result
    const result = await session.prompt("Write me a poem.");


    // Log the result to the console
    console.log(result);
})();

Installation

pip install jupyter_anywidget_window_ai

Usage

This runs in a browser based Jupyter environment and uses the browser machinery to run the in-browser LLM application.

Create a widget:

# Import package
from jupyter_anywidget_window_ai import windowai_panel, windowai_inline, windowai_headless

# Create a headless widget
# - works in: Jupyter Lab, Jupyter Notebook, VS Code
w = windowai_headless()

# Inline mode
# Preview output as cell output from initialising cell
# - works in: Jupyter Lab, Jupyter Notebook, VS Code
# w = windowai_inline()

# Create a widget panel with a handle
# - uses jupyter sidecar (Jupyter Lab only)
#w = windowai_panel()
# Close panel either via X or:
#w.close()

Create a prompt session with an optional system prompt: w.create_session(system_prompt=PROMPT)

Submit a prompt: w.prompt("Hello, how are you?")

Also available: w.create_session(..., initialPrompts=[] )

At the moment, there is no callback available on a response ggenerated from a prompt. However, an audible alert is available.

This is enabled by default in windowai_headless(). The response can also be spoken. Use boolean (True/False ) parameters completion_tone= and speak_msg= in windowai_panel(), windowai_inline() and windowai_headless() to set audible responses.

Get the response text: w.get_latest_output()

Destroy the session: w.destroy()

See window.ai.assistant docs for more examples that should translate: Google explainer: prompt-api

TO DO

  • add support for changing temperature, topK;
  • add autosession flag to allow session to be automatically configured and created when a widget is instantiated;
  • add support for other APIs (explainers-by-googlers/writing-assistance-apis)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_anywidget_window_ai-0.0.2.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

jupyter_anywidget_window_ai-0.0.2-py2.py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page