Skip to main content

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.

Metadata

Release files for py-isaac 0.3.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 py-isaac 0.3.5
File Size Uploaded
py_isaac-0.3.5.tar.gz 31.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-isaac 0.3.5
File Interpreter ABI Platform
py_isaac-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 67.6 kB

Release files / py_isaac-0.3.5.tar.gz

Download URL py_isaac-0.3.5.tar.gz
Size 31.8 kB
Tags Source
SHA-256 checksum
How to use checksums
122fd03c7eb999a4bbfc3775d2edc4074098e6500ac339bda3fbca4a6a1ac50e
BLAKE2b-256 checksum
How to use checksums
d115c69d6a5c2649c9fc10f6d637c83e4bb09a7aafd3c27f763b67e4640f3b0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / py_isaac-0.3.5-py3-none-any.whl

Download URL py_isaac-0.3.5-py3-none-any.whl
Size 35.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbb39b921e8357ba3f559d6933428864b27fb8f399c731d8174eb166e9a85500
BLAKE2b-256 checksum
How to use checksums
1aec05798df257cdbff105ecd35a03924609b0a88b49942c8f83c4d4516882c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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