Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tslu1s/talknexus

TalkNexus: Ollama Multi-Model Chatbot & RAG Interface
https://github.com/tslu1s/talknexus

chat-application chatbot deep-learning machine-learning ollama-api ollama-chat ollama-interface python streamlit-application

Last synced: about 1 month ago
JSON representation

TalkNexus: Ollama Multi-Model Chatbot & RAG Interface

Awesome Lists containing this project

README

        

# TalkNexus: Ollama Multi-Model Chatbot & RAG Interface

A comprehensive and scalable Streamlit Chatbot Application that integrates multiple language models through the Ollama API, featuring sophisticated model management, interactive chat interfaces, and RAG (Retrieval-Augmented Generation) capabilities for document analysis.

## 🌟 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.
- **RAG-Powered Document Analysis**: Advanced document processing system supporting PDF analysis with multiple embedding models for context-aware document querying and intelligent responses.
- **Responsive Design**: Modern, responsive UI with animated components and intuitive navigation.

## 👏 Acknowledgments

* [Ollama](https://ollama.com/)
* [Langchain](https://langchain.com/)
* [Streamlit](https://streamlit.io/)

## Streamlit Demo APP

[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://talknexus-ai.streamlit.app/)

## 📋 Prerequisites

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

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

## ⚙️ Installation

1. **Clone the Repository**
```bash
git clone https://github.com/TsLu1s/talknexus.git
cd talknexus
```

2. **Set Up Conda Environment**

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

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

# Activate the environment
conda activate ollama_env
```

3. **Install Dependencies**
```bash
pip install -r requirements.txt
```

4. **Install Ollama**

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



[![Download Ollama](https://img.shields.io/badge/DOWNLOAD-OLLAMA-grey?style=for-the-badge&labelColor=black)](https://ollama.com/download)

5. **Start the Application**
```bash
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

![Home Page](https://github.com/TsLu1s/talknexus/blob/main/imgs/home_page.jpg)

### 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

![Model Management](https://github.com/TsLu1s/talknexus/blob/main/imgs/models_page.jpg)

### 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

![Chat Interface](https://github.com/TsLu1s/talknexus/blob/main/imgs/chat_page.jpg)

### RAG Chat Interface

1. Upload PDF documents for analysis
2. Select embedding model and language model
3. Ask questions about your documents
4. Receive context-aware responses based on document content

![RAG Chat Interface](https://github.com/TsLu1s/talknexus/blob/main/imgs/rag_page.jpg)

## 🤝 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](https://github.com/TsLu1s/talknexus/blob/main/LICENSE) for more information.

## 🔗 Contact

Luis Santos - [LinkedIn](https://www.linkedin.com/in/lu%C3%ADsfssantos/)