Skip to main content

Cooles locally run AI assistant

Project description

I.S.A.A.C - Intelligent System for Advanced Assistance and Companionship

Demo Image

I.S.A.A.C is a on-terminal AI assistant that lets you use ChatGPT-like features on the terminal so you don't have to switch windows every 2 minutes, it comes with a set of commands and features that you can turn on or off to get the most out of it, I.S.A.A.C can talk to you using locally run speech-to-text and text-to-speech models allowing you to put your fingers to better use.

  • Run pip install py-isaac.
  • Run isaac.
  • Type :commands to list all available commands.
  • Type hello and you will be prompted to choose a language model provider.
  • Select a provider from Gemini and Groq.
  • Now, you will be prompted for an API key.
  • Create a Gemini API key if you selected Gemini or a Groq API key if you selected Groq.
  • Paste the API key to the prompt.
  • Done.

Available commands

  • :toggle- toggles features on/off.
    • :toggle speech to toggle the assistant's speech.
    • :toggle context to toggle the use of conversation history for coherent responses, uses the last 5 or less user-assistant exchanges.
    • :toggle hearing to toggle the assistant's ability to hear you.
    • NOTE: The textual input (REPL) is disabled when you enable hearing, so to run commands, you can either press ctrl + C and you'd be able to type one command or say one of the one-word commands like 'exit', 'status' etc and they will be processed as commands and not natural language text.

NOTE: for interacting with the assistant only using your voice, turn on both speech and hearing.


  • :select - selects from available options.
    • :select lm_provider to select the language model provider.
    • :select lm to select the model for generating responses.
    • :select voice to select a Piper text-to-speech model for the assistant to speak with or supply a .wav file to have your own custom voice via Pocket TTS's voice cloning feature.
    • :select whisper to select a Whisper speech-to-text model for the assistant to interpret your voice with.

  • !<shell-command> runs shell commands without launching a shell session, .e.g. !ls.
  • :key sets the LLM API key for the selected provider, run this when the assistant can't process your queries, it means the key most proabably expired.
  • :instruct instructs the model to behave a certain way, using the system message.
  • :status to see status, selected settings and resource consumption.
  • :mute to mute the assistant while it's speaking.
  • :cmd to launch a shell session and pauses the assistant, powershell on windows and /bin/sh on linux, run the exit command in the shell session to get back to the assistant.
  • :commands to see all available commands.
  • :clear to clear the terminal.
  • :exit to turn the assistant off.

Features

  • Free LLM APIs to process natural language queries.
  • Voice-only conversations, assistant listens to you and speaks to you.
  • Dozens of voice options, custom voice(cloning) and multiple options for the listening ability.
  • Runs shell commands using the '!' (bang) prefix.
  • Assistant mutes when user starts speaking
  • Runs on both CPUs and GPUs.
  • Commands to control the assistant's behavior.
  • Other utllity commands to clear the screen, show resource consumption etc.

Tasks

  • add ollama support, user should be able to choose locally running ollama API as language model provider.
  • User profiling, store general likes and dislikes, e.g. "concise answers", "a project they're working on" etc.

Contributing

If you don't know where to start, pick one of the pending tasks and start with that. If if you want to fix a bug or add other enhancements, please raise an issue first.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_isaac-0.3.4.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_isaac-0.3.4-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file py_isaac-0.3.4.tar.gz.

File metadata

  • Download URL: py_isaac-0.3.4.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for py_isaac-0.3.4.tar.gz
Algorithm Hash digest
SHA256 b9fe65ec87ee23d6240434a29c63a28d3835f3dc466c3307d7ac6b0b63f28762
MD5 363ad1d9bd1e9cf496fb0cad2885c284
BLAKE2b-256 5392f620e2242720252ffe526cf3956cc9397e56605763385c8ed36c3c7fbc0d

See more details on using hashes here.

File details

Details for the file py_isaac-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: py_isaac-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 35.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for py_isaac-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a8b17b10a097d6c59fb30f5a1e3b44ebc76df104c4efcbbb6181a9578df368c6
MD5 98306fd1f27b3eda694e59b4e4f4be25
BLAKE2b-256 84f90282f37e7c8b8978b9f1c4fcfe1df70b2988df899fb3b2521a4a761e636e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page