https://github.com/billy-enrizky/chat-with-image
Welcome to the "Chat With Images" app! This innovative application allows users to upload images and engage in a dynamic chat interface. By leveraging the power of IBM Watson API, the app can process and respond to user messages, creating an interactive and engaging experience. Users can easily upload image files in JPG, JPEG, or PNG formats.
https://github.com/billy-enrizky/chat-with-image
ai-agent ai-agents chat-image ibm-cloud ibm-watson ibm-watsonx ibmwatson llama meta-llama streamlit watsonx-ai
Last synced: 2 months ago
JSON representation
Welcome to the "Chat With Images" app! This innovative application allows users to upload images and engage in a dynamic chat interface. By leveraging the power of IBM Watson API, the app can process and respond to user messages, creating an interactive and engaging experience. Users can easily upload image files in JPG, JPEG, or PNG formats.
- Host: GitHub
- URL: https://github.com/billy-enrizky/chat-with-image
- Owner: billy-enrizky
- License: mit
- Created: 2025-02-16T20:26:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-17T04:26:42.000Z (over 1 year ago)
- Last Synced: 2025-05-16T11:07:41.298Z (about 1 year ago)
- Topics: ai-agent, ai-agents, chat-image, ibm-cloud, ibm-watson, ibm-watsonx, ibmwatson, llama, meta-llama, streamlit, watsonx-ai
- Language: Python
- Homepage: https://chat-with-images-billy.streamlit.app/
- Size: 348 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chat With Images - AI Assistant
## App User Interface

## Overview
This project allows users to have a conversation with an AI assistant that can process both text and images using IBM's AI API. The assistant can analyze uploaded images and provide responses based on user interactions.
## Features
- **Image Upload:** Users can upload images (JPG, JPEG, PNG) for processing.
- **Chat Interface:** Engages in text-based conversations.
- **Image Processing:** Converts images into base64 format for analysis.
- **IBM Watson Integration:** Utilizes IBM Watson API for intelligent responses.
- **Customization Options:** Includes adjustable max tokens, decoding methods, and repetition penalties.
- **Dark Mode Support:** Optional dark mode for better UI experience.
- **Download Chat History:** Save conversations as a text file.
- **Clear Chat:** Reset the chat session.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/billy-enrizky/chat-with-images.git
cd chat-with-images
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Create a `secrets.toml` file inside the `.streamlit` folder and add your IBM API key:
```toml
[secrets]
IBM_API_KEY = "your_ibm_api_key"
```
4. Run the application:
```bash
streamlit run app.py
```
## Usage
1. Open the Streamlit app in your browser.
2. Upload an image and/or enter text messages.
3. The AI assistant will process the input and generate responses.
4. Customize settings via the sidebar.
5. Download chat history if needed.
## Technologies Used
- **Python**
- **Streamlit**
- **IBM Watson API**
- **PIL (Pillow)**
- **Base64 Encoding**
- **Requests Library**
## Future Improvements
- Support for multiple image uploads.
- Enhanced UI with more front-end features.
- Additional AI models for better image and text understanding.
## License
This project is licensed under the MIT License.