Skip to main content

Add your description here

Project description

Smithers

An LLM-powered CLI that simulates job interviews based on your resume.

Installation

With pip:

pip install -g smithers

With pipx:

pipx install smithers

Please notice that so far the only model supported is Llama3.1

You can easily self-host it with Ollama. After installing it, pull the model and keep it running on the background with the command below:

ollama run llama3.1

Usage

smithers [RESUME_PATH] --role=[ROLE]

Learnings

  • LangChain
    • Structured Outputs
  • LangGraph
    • Human in the Loop
    • Checkpointer
  • Python packaging with SetupTools and Build
    • Differences between project configurations files such as the modern pyproject.toml and the battle-tested setup.py and setup.cfg
  • Publishing to PyPI and TestPyPI with Twine
  • Creating CLIs with Click
    • Handling different kinds of options: parameters and arguments
  • Experimenting with Jupyter Notebooks
    • Research whether it was worth commiting the notebooks, although they might be reasonable for documentation purposes, they weren't for the way I used them in this project, to scratch the general ideas up right in the beginning
  • Self-reflection if RAG was necessary here, the answer I came to was NO. The files are too small.

Fun fact

The repo was named after a character from the show "The Simpsons".

Smithers conducts a job interview with Homer on the episode "I Married Marge".

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

smithers_llm-1.0.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

smithers_llm-1.0.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file smithers_llm-1.0.0.tar.gz.

File metadata

  • Download URL: smithers_llm-1.0.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for smithers_llm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 62747683736d1f7b5cdd9b6053e24bd103b610807f3b50db03be0d263f1e8ee1
MD5 a2bbc1e50c1a306c383661c3e4f7b0f8
BLAKE2b-256 f6180fb7496245eb889451b6c79ca66ed2c3e28faaeebbb9e194bed42d7c492e

See more details on using hashes here.

File details

Details for the file smithers_llm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: smithers_llm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for smithers_llm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf00e5e7dc345c3fbdf8cb482879880dd4c1496e9938cdb3bc30e74a6ecdec7e
MD5 15436e6e165a8058a077f868c1b1744c
BLAKE2b-256 76fd45e4d37eabd7c4d629cda83eacd93b49cf050f8c79ad5a676d41f59b5afa

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