Skip to main content

Streamlit component that allows you to accept multi-modal inputs through a chat interface.

Project description

Streamlit Multimodal Chat Input

A Streamlit component that enables a rich multimodal chat interface, allowing users to input text and upload images within Streamlit applications. Demo video at Streamlit Community Forum.

Features

  • Text Input: Users can type in their messages.
  • Image Upload: Supports uploading images, enhancing the chat with a visual element.
  • Clipboard Paste: Enables pasting images directly from the clipboard.
  • Responsive Design: Adjusts to the width of the Streamlit container.
  • Disabled State: Can be set to a disabled state, making the input and button non-interactive and visually distinct.

Installation Instructions

To install the component, run the following command:

pip install st-multimodal-chatinput

Usage instructions

import streamlit as st

from st_multimodal_chatinput import multimodal_chatinput

chatinput = multimodal_chatinput()

uploaded_files = chatinput["uploadedFiles"] ##list of ALL uploaded files (including images) along with type, name, and content.
uploaded_images = chatinput["uploadedImages"] ## list of base 64 encoding of uploaded images
text = chatinput["textInput"] ##submitted text
for file in uploaded_files:
    filename = file["name"]
    filetype = file["type"] ## MIME type of the uploaded file
    filecontent = file["content"] ## base 64 encoding of the uploaded file

Common MIME types

File Extension MIME Type
.pdf application/pdf
.doc application/msword
.csv text/csv

You can find other common types here.

Contributing

Pull requests for some of the to-dos are more than welcome.

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

st-multimodal-chatinput-0.2.1.tar.gz (445.6 kB view details)

Uploaded Source

Built Distribution

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

st_multimodal_chatinput-0.2.1-py3-none-any.whl (448.5 kB view details)

Uploaded Python 3

File details

Details for the file st-multimodal-chatinput-0.2.1.tar.gz.

File metadata

  • Download URL: st-multimodal-chatinput-0.2.1.tar.gz
  • Upload date:
  • Size: 445.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for st-multimodal-chatinput-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fa8e02568e2bfd645ae3479e02933ba67a2b0db49063064ddb988cb9c2c697a4
MD5 e4e5ecb81ad973706433104d82cae6c1
BLAKE2b-256 4734c4fbd76bbd006855c8193acad5dd874450dd2c41cd7d21f5955703dc555b

See more details on using hashes here.

File details

Details for the file st_multimodal_chatinput-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for st_multimodal_chatinput-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d997a6f7d39d4aaadd4944f5ef853c7af6b20c7a7a8f601dbba3fa76c37a3fb4
MD5 85de60a6a947ff512e7892a0a94708d0
BLAKE2b-256 0b1282e584e6a8042ad32c9a6313e56f0c1c0f01c9f01f29e4eb9c2640a74978

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