Skip to main content

Eddie -- the retro AI-powered CLI assistant

Project description

Eddie — the retro AI-powered CLI assistant

The key goal of Eddie is to serve as an educational resource for how to build real-world AI-powered applications using Mirascope.

https://github.com/Mirascope/eddie/assets/99370834/26b58035-d22d-432d-bb89-bffbee49b028

As we implement new features, we'll release detailed written walkthroughs to give you an inside look at the development process. By following along, you'll learn practical techniques and best practices for building your own AI-powered applications.

Here's what makes Eddie unique as a learning resource:

[!NOTE] Eddie currently runs using OpenAI models; however, we want everything to run locally and are working on figuring out how to match the functional calling capabilities (namely streaming tools) in order to support a fully local and open-source Eddie.

  1. Everything we use to build Eddie will be open-source (see above note). This way everyone can follow along and experiment themselves super easily. Who doesn't want a personal AI at home they can run on their laptop?
  2. We welcome and encourage external contributions. If there's an AI feature you'd like to see implemented in Eddie, you can submit a PR and even contribute to the accompanying educational content. Let's learn together!
  3. Eddie has a fun personality (inspired by the character from The Hitchhiker's Guide to the Galaxy), and we've included an eddie run command that launches a retro-style Textual app. These creative touches make the learning process more engaging and memorable.

Your feedback and contributions will be invaluable in shaping Eddie into a comprehensive resource for learning to build with AI.

So dive in, check out the code, and let us know what you think!

Happy building!

Installation

If you just want to play around with Eddie, simply install and run him:

pip install eddie-cli
eddie run

While we work on getting everything local, you'll also need to set your OpenAI API key for things to work:

# Set key
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc

# Reset shell
source ~/.zshrc

# Confirm things are all set
echo $OPENAI_API_KEY

Commands

Eddie currently supports the following commands:

  • eddie version: outputs the current version of the installed package
  • eddie chat: multi-turn chat with Eddie directly in the command line
  • eddie run: runs the Textual application for Eddie
  • eddie clear-memories: clears Eddie's current memories of user information

[!NOTE] The default model is gpt-4o.

Walkthroughs

You can find the written walkthroughs in the walkthroughs directory. We've labeled each walkthrough with the number corresponding to the order in which we've implemented things so it's easy to follow along.

Roadmap

If there are any particular features or projects you would be interested in watching us build, let us know! In the meantime, this is what’s on our mind roughly:

  • Basic chat with streaming
  • Memories of user for personalization using tools
  • Retro Textual CLI App (so Eddie looks like an on-board computer)
  • Match tool streaming functionality using local open-source LLM
  • RAG with Memory
  • Simple Gmail Tool-Use Agent
  • Researcher Agent
    • Web Search Tools
    • Web Scraping Tools
  • Technical Documentation Writer
  • Code Interpreter
  • Interpretable ML Data Scientist (PyTorch Lattice Bot)
  • API Documentation Assistant

Versioning

Eddie uses Semantic Versioning.

License

This project is licensed under the terms of the MIT License.

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

eddie_cli-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

eddie_cli-0.1.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file eddie_cli-0.1.0.tar.gz.

File metadata

  • Download URL: eddie_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1021-azure

File hashes

Hashes for eddie_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7c52ddb3d4af50e940620548d94d6b32e53755adfae21d7e8dcdb8bb54f84d22
MD5 7d1bb1ccaa8183f530dd388b39e8b63e
BLAKE2b-256 77411105830b3f5efbcdddc35459dfe823b49054ee7973f05bfb15b946d2ba97

See more details on using hashes here.

File details

Details for the file eddie_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eddie_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1021-azure

File hashes

Hashes for eddie_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6236372afc11a521d7d3ed7c74e1d626dc1f046ddccc442d4e80b15683fe26d
MD5 4516f4dfc9cc0e3f5d362d8fcbd1614e
BLAKE2b-256 c38ac08db98641020ee8fd196633c56a6c586affc2e13118ef598be143f3ff7d

See more details on using hashes here.

Supported by

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