/chat-allamo

Primary LanguageDartApache License 2.0Apache-2.0

Flutter iOS android

ChatAllamo

ChatAllamo, powered by Ollama, is a Flutter application, both Android and iOS, designed to facilitate seamless interaction with both provided and privately hosted AI models, including Llama2, Llama3, Mistral, and more.

Platforms

  • Android
  • iOS
  • Web (not supported)
  • Desktop (not supported)

Features

  • Generate text from a given prompt
  • Stream typing-like animation for generated text
  • Abort during generating chat conversation
  • List available models and their descriptions
  • Switch model in the middle of a conversation
  • Local chat history (locally using sqlite)
  • Save and load conversations (locally using sqlite)
  • Favorite, archive, and delete conversations
  • Search conversations based on title
  • Upload image to conversation from prompt
  • Custom system prompt for generating text
  • Markdown support (nicely formatted text)
  • Change Ollama server URL customization
  • Store uploaded image locally rather than in Firebase Storage
  • Edit prompt content for re-generation
  • Temperature & model options
  • Suggest prompt in empty conversation screen
  • Text to speech (read aloud)
  • Light and dark mode (only dark mode supported)

Installation

You need to configure the firebase with this project. Follow these links:

These will generate the missing firebase_options.dart file in the lib folder. Then you can run the project.

flutter pub get
flutter run

Usage Instructions

Chat Allamo offers a default Ollama server URL, provided by the author, which you have the option to customize with your preferred server URL. To do so, follow the steps below:

  1. Open the Chat Allamo application.
  2. Click on hamburger menu (three horizontal lines) on the top left corner.
  3. Click on the settings icon (gear icon) on the bottom left corner.
  4. Click on the "Configurations" button.
  5. Change the "Ollama Server URL" to your own server URL.
  6. Click on the "Save" button.
  7. Restart the application.

Known Bugs and Limitations

  • The generated text animation sometimes disappears in iOS devices.
  • The uploaded image will be stored in Firebase Storage. This raises privacy concerns regarding the image's confidentiality.

Contacts for Contributions

I am quite new to the Flutter community and would appreciate any contributions to this project. If you have any suggestions or improvements, please feel free to contact me via the following links:

Screenshots

Mainscreen

Image Prompt

Chat History

Model Configuration

Chat Actions

Model List

Star History

Star History Chart

License and Copyrights

Apache License 2.0

Copyright (c) 2024, Kimleang Kea. All rights reserved.