A Python library for generating draft application letters using generative AI
Project description
Easy Letters
Easy Letters is a Python library that provides the basic building blocks for creating a naive retrieval augmented generation (or RAG) pipeline to generate application letter drafts. The main idea is to speed up the process of writing application letters by not starting from scratch. Instead, an applicant could generate a draft letter that can be used as a starting point and customized as needed to make the final letter.
The diagram below shows the workflow of the naive RAG pipeline that the current version of Easy Letters can be used to implement.
[!NOTE] At the moment, Easy Letters only supports text generation and text embedding models from OpenAI. However, the library is designed to be extensible, so more features and models can be added in the future versions.
Installation
pip install easy-letters
Installing from Source
You can also install Easy Letters from the source code in this repository. The main benefit of this approach is that you might find it easier to run the sample notebooks and modify the code as you wish this way.
After cloning this repository, you can navigate to the directory where you cloned the repository and install the dependencies using Poetry:
git clone https://github.com/habedi/easy-letters.git && cd easy-letters
# Install the dependencies using Poetry
poetry install --with dev
Getting Started
API Key Setup
Easy Letters gets the API key for supported services (like OpenAI) from the environment variables. So you need to set the following environment variables to be able to use Easy Letters:
OPENAI_API_KEY: The OpenAI API key (required)
Sample Notebooks
You can find Jupyter notebooks with example code in the notebooks directory. The notebooks demonstrate how to use Easy Letters to generate application letter drafts.
Supported Models
Easy Letters currently supports the following models:
| Model | Type | Company |
|---|---|---|
| GPT-3.5 Turbo | Text Generation | OpenAI |
| GPT-4 Turbo | Text Generation | OpenAI |
| GPT-4o | Text Generation | OpenAI |
| GPT-4o Mini | Text Generation | OpenAI |
| Text Embedding 3 (Small Variant) | Text Embedding | OpenAI |
| Text Embedding 3 (Large Variant) | Text Embedding | OpenAI |
License
Easy Letters is available under the MIT license (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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easy_letters-0.1.9.tar.gz.
File metadata
- Download URL: easy_letters-0.1.9.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.10.16 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c9bdc57cdf5958042d7144816156d43890dad696bf430d225a46410d7e2ce80
|
|
| MD5 |
76b9286f994040d12fb3aaf0e81901ac
|
|
| BLAKE2b-256 |
67e6a79fb1f56887bfaf5edec7531ffbd1dc30332863523a06356db0dbf9b06b
|
File details
Details for the file easy_letters-0.1.9-py3-none-any.whl.
File metadata
- Download URL: easy_letters-0.1.9-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.10.16 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a192863427a35e10916c437affbc936e91248d10af24fb28df46a07aa5261c16
|
|
| MD5 |
70af09e640c63ed996954d375ea66d6d
|
|
| BLAKE2b-256 |
0746a82346e7fe4addd01b6eb98469d7243e886dfe465674b014a0a90a5d539d
|