Skip to main content

NoLlama

NoLlama is a powerful terminal-based interface for interacting with multiple LLM providers directly from your terminal. Powered by LiteLLM, NoLlama provides a unified interface for chatting with models from 8 major providers: Google Gemini, Vertex AI, Anthropic Claude, OpenAI, Groq, DeepSeek, OpenRouter, and Ollama.

Inspired by Ollama, NoLlama offers a neat terminal interface for powerful language models with features like dynamic model discovery, vim-style searchable model selection, colorful markdown rendering, multi-turn conversations, and efficient memory usage.

NoLlama

Features

  • 🌐 8 Major LLM Providers: Access models from Google Gemini, Vertex AI, Anthropic Claude, OpenAI, Groq, DeepSeek, OpenRouter, and Ollama via LiteLLM
  • 🔍 Dynamic Model Discovery: Automatically fetches latest available models from each provider - no hardcoded lists!
  • ⚡ Smart Model Search: Type to search with auto-completion, or use vim-style /search - navigate hundreds of models with ease
  • 💬 Multi-turn Conversations: Maintain context between prompts for coherent conversations
  • 🎨 Neat Terminal UI: Clean and intuitive interface with colorful markdown rendering
  • ⚡ Live Streaming Responses: Watch responses appear in real-time as they're generated
  • 🎯 Easy Provider/Model Switching: Type provider or model to switch anytime during chat
  • 🧹 Clear Chat History: Type clear to reset conversation while keeping the interface
  • 💾 Low Memory Usage: Efficient memory management compared to browser-based interfaces
  • 🔧 Flexible Configuration: Use .env file or ~/.nollama for API key management
  • 🚪 Exit Commands: Type q, quit, or exit to leave, or use Ctrl+C / Ctrl+D

Installation

pip install nollama

Or Install from Source

git clone https://github.com/spignelon/nollama.git
cd nollama
pip install -e .

Configuration

NoLlama supports two configuration methods:

Option 1: .env File (For Development/Git Clone)

If you're developing or cloned the repository, create a .env file in your project directory:

Linux/macOS:

# Create .env in your working directory
touch .env
nano .env  # or use your preferred editor

Windows (PowerShell):

# Create .env in your working directory
New-Item .env -ItemType File
notepad .env

Windows (Command Prompt):

echo. > .env
notepad .env

Option 2: ~/.nollama File (For Pip Install)

If you installed via pip install nollama, create a .nollama file in your home directory:

Linux/macOS:

touch ~/.nollama
nano ~/.nollama

Windows (PowerShell):

New-Item $env:USERPROFILE\.nollama -ItemType File
notepad $env:USERPROFILE\.nollama

Configuration Template

Copy and paste this complete configuration template into your .env or ~/.nollama file:

## ============================================================================
## NOLLAMA CONFIGURATION
## ============================================================================
## This file contains all configuration options for nollama.
## Uncomment and fill in the API keys for providers you want to use.
## ============================================================================

## ----------------------------------------------------------------------------
## API KEYS - Google Gemini (Google AI Studio)
## ----------------------------------------------------------------------------
## Get your key from: https://makersuite.google.com/app/apikey
GEMINI_API_KEY=your_gemini_api_key_here

## ----------------------------------------------------------------------------
## API KEYS - Google Vertex AI
## ----------------------------------------------------------------------------
## For Vertex AI, you need to set up Google Cloud authentication
# VERTEX_PROJECT=your_gcp_project_id
# VERTEX_LOCATION=us-central1
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json

## ----------------------------------------------------------------------------
## API KEYS - Groq
## ----------------------------------------------------------------------------
## Get your key from: https://console.groq.com/keys
GROQ_API_KEY=your_groq_api_key_here

## ----------------------------------------------------------------------------
## API KEYS - Ollama
## ----------------------------------------------------------------------------
## Ollama runs locally, just specify the base URL
OLLAMA_API_BASE=http://localhost:11434

## ----------------------------------------------------------------------------
## API KEYS - Anthropic (Claude)
## ----------------------------------------------------------------------------
## Get your key from: https://console.anthropic.com/
# ANTHROPIC_API_KEY=your_anthropic_api_key_here

## ----------------------------------------------------------------------------
## API KEYS - DeepSeek
## ----------------------------------------------------------------------------
## Get your key from: https://platform.deepseek.com/
# DEEPSEEK_API_KEY=your_deepseek_api_key_here

## ----------------------------------------------------------------------------
## API KEYS - OpenAI
## ----------------------------------------------------------------------------
## Get your key from: https://platform.openai.com/api-keys
# OPENAI_API_KEY=your_openai_api_key_here

## ----------------------------------------------------------------------------
## API KEYS - OpenRouter
## ----------------------------------------------------------------------------
## Get your key from: https://openrouter.ai/keys
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_API_BASE=https://openrouter.ai/api/v1
# OR_SITE_URL=https://yoursite.com  ## Optional: for OpenRouter rankings
# OR_APP_NAME=nollama  ## Optional: for OpenRouter rankings

## ----------------------------------------------------------------------------
## ADVANCED SETTINGS (Optional)
## ----------------------------------------------------------------------------
## Maximum conversation pairs to keep in multi-turn context
## One pair = user message + AI response
## Set to 0 or leave empty for unlimited context (default)
## Example: MAX_MULTITURN_PAIRS=5 keeps only the last 5 conversation pairs
# MAX_MULTITURN_PAIRS=5

## Maximum tokens for completion
# MAX_TOKENS=4096

## Temperature (0.0 to 2.0)
# TEMPERATURE=0.7

## Top-p sampling
# TOP_P=1.0

Quick Start Examples

For Google Gemini (Free tier available):

GEMINI_API_KEY=your_api_key_from_makersuite

For Groq (Free tier with fast inference):

GROQ_API_KEY=your_groq_api_key

For OpenRouter (Access to models from multiple providers):

OPENROUTER_API_KEY=your_openrouter_api_key

Run NoLlama

nollama

Usage

First Time Setup

  1. Select a Provider: Choose from 8 available providers (Gemini, Groq, Anthropic, OpenAI, etc.)
  2. Select a Model: Models are fetched dynamically from the provider
    • See a preview of available models
    • Type to search with auto-completion suggestions as you type
    • Or use vim-style search: type /model-name to filter
    • Navigate with arrow keys and press Enter to select
  3. Start Chatting: Type your questions and enjoy rich markdown responses!

Commands During Chat

  • provider - Switch to a different provider (keeps conversation history)
  • model - Switch to a different model within the same provider
  • clear - Clear conversation history (keeps interface and help text)
  • q, quit, exit - Exit the application
  • Ctrl+C or Ctrl+D - Quick exit

Model Selection Tips

With potentially hundreds of models available:

  1. Browse: Scroll through the initial preview (first 20 models shown)
  2. Type to Search: Start typing a model name and get auto-completion suggestions
  3. Vim-Style Search: Type / followed by keywords (e.g., /gpt-4, /claude, /llama)
  4. Refine: If multiple matches, you'll be prompted to narrow down
  5. Select: Use arrow keys to navigate, Enter to confirm

Example Workflow

# Start nollama
$ nollama

# Select provider: Groq
# Search for model: /llama-3.3
# Start chatting!
>>> What is the capital of France?

# Switch provider mid-conversation
>>> provider
# Select: OpenRouter
# Continue conversation with new provider

Roadmap

  • Multi-provider support via LiteLLM
  • Dynamic model discovery from provider APIs
  • Smart searchable model selection with auto-completion
  • Context window (multi-turn conversations)
  • Configurable context window size
  • Support for Groq
  • Support for OpenRouter
  • Support for Ollama API
  • Support for Anthropic Claude
  • Support for OpenAI
  • Support for DeepSeek
  • Support for Vertex AI
  • Web interface
  • Custom API endpoints
  • Conversation export/import
  • System prompt customization
  • Multi-modal support (images, etc.)

Contribution

Contributions are welcome! If you have suggestions for new features or improvements, feel free to open an issue or submit a pull request.

Disclaimer

NoLlama is not affiliated with Ollama. It is an independent project inspired by the concept of providing a neat terminal interface for interacting with language models.

License

This project is licensed under the GPL-3.0 License.
GNU GPLv3 Image

Metadata

Release files for nollama 0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nollama 0.5
File Size Uploaded Provenance
nollama-0.5.tar.gz 27.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nollama 0.5
File Interpreter ABI Platform
nollama-0.5-py3-none-any.whl Python 3 none any Details

Total release size: 50.2 kB

Release files / nollama-0.5.tar.gz

Download URL nollama-0.5.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
be0a3a7d9f3da1bf431d639ef474fd1f65c8d7fb7920f8dc3878a48158d2c665
BLAKE2b-256 checksum
How to use checksums
3504e0ed87265588f555aef0971a0b590dffc24df5eab12f4e04f8fd445e0b99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / nollama-0.5-py3-none-any.whl

Download URL nollama-0.5-py3-none-any.whl
Size 23.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bccc8e6b74eea316dc01b9f7e2dc6af11b542c5ae32d9cee3f120b0b2b3de503
BLAKE2b-256 checksum
How to use checksums
618ed474d566460b37459bb6d60fe2563d704cc98d3d57041fc48435ddaa0f01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Security for nollama 0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page