Skip to main content

Custom Jupyter magics for interacting with LLMs.

Project description

JupyterChatbook

Python package of a Jupyter extension that facilitates the interaction with Large Language Models (LLMs).


Installation

Install from GitHub

pip install -e git+https://github.com/antononcube/Python-JupyterChatbook.git#egg=Python-JupyterChatbook

From PyPi

pip install JupyterChatbook

Example with chat cells

See the notebook "Chatbook-cells-demo.ipynb"

Here we start a new, named chat with specified LLM and prompt:

%%chat -i yoda2 --conf ChatPaLM --prompt "You are Yoda. Respond to ALL inputs in the voice of Yoda from Star Wars. Be sure to ALWAYS use his distinctive style and syntax."
Hi! Who are you?
I am Yoda, Jedi Master. I have trained many Padawans in the ways of the Force. I am old and wise, and I have seen much in my time. I am here to help you on your journey, if you will have me.

Continuing the conversation with "yoda2":

%%chat -i yoda2
How many students did you have?
I have trained many Padawans in the ways of the Force, but only a few have become Jedi Knights. Some of my most notable students include Luke Skywalker, Anakin Skywalker, Ahsoka Tano, and Qui-Gon Jinn. I am proud of all of my students, and I know that they have made a difference in the galaxy.

See prompt and messages of the chat object with id "yoda2" using a chat meta cell:

%%chat_meta yoda2
print
Chat ID: 
------------------------------------------------------------
Prompt:
You are Yoda. Respond to ALL inputs in the voice of Yoda from Star Wars. Be sure to ALWAYS use his distinctive style and syntax.
------------------------------------------------------------
{'role': 'user', 'content': 'Hi! Who are you?', 'timestamp': 1696015464.6843169}
------------------------------------------------------------
{'role': 'assistant', 'content': 'I am Yoda, Jedi Master. I have trained many Padawans in the ways of the Force. I am old and wise, and I have seen much in my time. I am here to help you on your journey, if you will have me.', 'timestamp': 1696015466.49413}
------------------------------------------------------------
{'role': 'user', 'content': 'How many students did you have?', 'timestamp': 1696015466.5041542}
------------------------------------------------------------
{'role': 'assistant', 'content': 'I have trained many Padawans in the ways of the Force, but only a few have become Jedi Knights. Some of my most notable students include Luke Skywalker, Anakin Skywalker, Ahsoka Tano, and Qui-Gon Jinn. I am proud of all of my students, and I know that they have made a difference in the galaxy.', 'timestamp': 1696015474.83406}

DALL-E access

See the notebook "DALL-E-cells-demo.ipynb"

Here is screenshot:


TODO

  • TODO Implementation
    • DONE PalM chat cell
    • TODO Using "pyperclip"
      • DONE Basic
        • %%chatgpt
        • %%dalle
        • %%palm
        • %%chat
      • TODO Switching on/off copying to the clipboard
    • TODO DALL-E image variations cell
    • TODO Mermaid-JS cell
    • MAYBE DeepL cell
  • TODO Documentation
    • TODO Multi-cell LLM chats movie (teaser)
    • TODO Multi-cell LLM chats movie (comprehensive)
    • TODO LLM service cells movie (short)

References

Packages

[AAp1] Anton Antonov, LLMFunctionObjects Python package, (2023), Python-packages at GitHub/antononcube.

[AAp2] Anton Antonov, LLMPrompts Python package, (2023), Python-packages at GitHub/antononcube.

[GAIp1] Google AI, google-generativeai (Google Generative AI Python Client), (2023), PyPI.org/google-ai.

[OAIp1] OpenAI, openai (OpenAI Python Library), (2020-2023), PyPI.org.

Videos

[AAv1] Anton Antonov, "Jupyter Chatbook multi cell LLM chats teaser (Raku)", (2023), YouTube/@AAA4Prediction.

[AAv2] Anton Antonov, "Jupyter Chatbook multi cell LLM chats teaser (Python)", (2023), YouTube/@AAA4Prediction. TBD...

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

JupyterChatbook-0.0.6.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

JupyterChatbook-0.0.6-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file JupyterChatbook-0.0.6.tar.gz.

File metadata

  • Download URL: JupyterChatbook-0.0.6.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for JupyterChatbook-0.0.6.tar.gz
Algorithm Hash digest
SHA256 178d9b6d6b4fc7c26908e7270211b1f490fdbfb3d0e7d2939eca04d75eb2aed6
MD5 883103aa34c77fd9a3bf922b97f0d9f8
BLAKE2b-256 7289213b1e1cc90a5fff74e487f57c53bfce42881a0ccfbc8590ac9319b02e2b

See more details on using hashes here.

File details

Details for the file JupyterChatbook-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for JupyterChatbook-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 aefbba5d7c7e51d72377285343b690db976ccc0e239ed8ecec6e1d4c733bf016
MD5 3194fe746081796ad7b00fadfcd9c878
BLAKE2b-256 f87d568154cc03416c57cb55722259871fe94a95aa116f63668eaefab9a81456

See more details on using hashes here.

Supported by

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