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
    • TODO PalM chat cell
    • TODO Using "pyperclip"
      • DONE Basic
        • %%chatgpt
        • %%dalle
        • %%palm
        • %%chat
      • TODO Switching on/off copying to the clipboard
    • TODO DALL-E image variation 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.5.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

JupyterChatbook-0.0.5-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: JupyterChatbook-0.0.5.tar.gz
  • Upload date:
  • Size: 7.0 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.5.tar.gz
Algorithm Hash digest
SHA256 c767b68e44b65d0496f41cee67360450a058eac186816e4d9899c10c1a890c30
MD5 f8ecb81a0f128e28eb53ac2b68a996c9
BLAKE2b-256 b65b43f8b8a7dd2f228147daf899018be2b350fa9cacac781fe7ee1aa54bd65a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for JupyterChatbook-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8a7091f501918a0859d7b16cf58c2b24b6e3c89f7aa2fe3a5e2db83e7601fde8
MD5 1a6caa7822474d43cda094c4070844d3
BLAKE2b-256 8a8ef7c5d7867454585e79bd5b001e7a5dba70928da4a0e60e79d91a7ef21c76

See more details on using hashes here.

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