Skip to content

Latest commit

 

History

History
135 lines (93 loc) · 4.7 KB

README.md

File metadata and controls

135 lines (93 loc) · 4.7 KB

LinkedIn Contributors MIT License

Streamlit Ollama Chatbot Multi-Model Interface

A comprehensive and scalable Streamlit Chatbot Application that integrates multiple language models through the Ollama API, featuring a sophisticated multi language model management system with an intuitive user interface.

🌟 Key Features

  • Multi-Model Support: Seamlessly interact with various state-of-the-art Ollama language models including Llama, Mistral, Gemma, and 125+ more.
  • Model Management Interface: Easy-to-use interface for downloading, managing, and switching between different language models.
  • Real-time Chat Interface: Clean interface with model-specific chat history and streamed responses.
  • Responsive Design: Modern, responsive UI with animated components and intuitive navigation.

👏 Acknowledgments

📋 Prerequisites

  • Python 3.10 or higher
  • Ollama API (latest version)
  • Streamlit
  • 8GB+ RAM (varies based on model size)

Streamlit Demo APP

Streamlit App

Important Note: Demo Version is not able to run Ollama API, run the app locally for full feature usability.

⚙️ Installation

  1. Clone the Repository
git clone https://github.com/TsLu1s/ollama-chatbot-interface.git
cd ollama-chatbot-interface
  1. Set Up Conda Environment

First, ensure you have Conda installed. Then create and activate a new environment with Python 3.10:

# Create new environment
conda create -n ollama_env python=3.10

# Activate the environment
conda activate ollama_env
  1. Install Dependencies
pip install -r requirements.txt
  1. Install Ollama

Visit Ollama API and follow the installation instructions for your operating system. [Possible Restart PC needed]

Download Ollama

  1. Start the Application
streamlit run navegation.py

💻 Usage & Architecture

Home Page

  • Explore the Ollama model ecosystem with detailed model cards
  • View comprehensive information about model capabilities and specializations:
    • Language Models, Specialized Models, Task-Specific Models, Domain-Specific Models...
  • Access quick reference for hardware requirements
  • Find links to essential documentation and resources
📸 View Home Page Template

Home Page

Model Management

  1. Navigate to the "Language Models Management" section
  2. Select and download desired models from the available list
  3. Monitor installation progress and system requirements
  4. Manage installed models through the interface
📸 View Model Management Template

Model Management

Chat Interface

  1. Select a model from the dropdown menu
  2. Enter your message in the chat input
  3. View real-time responses in the chat window
  4. Switch between models as needed
📸 View Chat Interface Template

Chat Interface

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

🔗 Contact

Luis Santos - LinkedIn