Text Generation
Transformers
PyTorch
ONNX
Safetensors
gpt2
text generation
emailgen
email generation
email
text-generation-inference
Instructions to use postbot/gpt2-medium-emailgen with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use postbot/gpt2-medium-emailgen with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="postbot/gpt2-medium-emailgen")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("postbot/gpt2-medium-emailgen") model = AutoModelForCausalLM.from_pretrained("postbot/gpt2-medium-emailgen", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use postbot/gpt2-medium-emailgen with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "postbot/gpt2-medium-emailgen" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "postbot/gpt2-medium-emailgen", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/postbot/gpt2-medium-emailgen
- SGLang
How to use postbot/gpt2-medium-emailgen with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "postbot/gpt2-medium-emailgen" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "postbot/gpt2-medium-emailgen", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "postbot/gpt2-medium-emailgen" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "postbot/gpt2-medium-emailgen", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use postbot/gpt2-medium-emailgen with Docker Model Runner:
docker model run hf.co/postbot/gpt2-medium-emailgen
| license: | |
| - apache-2.0 | |
| tags: | |
| - text generation | |
| - emailgen | |
| - email generation | |
| datasets: | |
| - aeslc | |
| - postbot/multi-emails-100k | |
| widget: | |
| - text: "Good Morning Professor Beans, | |
| Hope you are doing well. I just wanted to reach out and ask if differential calculus will be on the exam" | |
| example_title: "email to prof" | |
| - text: "Hey <NAME>,\n\nThank you for signing up for my weekly newsletter. Before we get started, you'll have to confirm your email address." | |
| example_title: "newsletter" | |
| - text: "Hi <NAME>,\n\nI hope this email finds you well. I wanted to reach out and ask about office hours" | |
| example_title: "office hours" | |
| - text: "Greetings <NAME>,\n\nI hope you had a splendid evening at the Company sausage eating festival. I am reaching out because" | |
| example_title: "festival" | |
| - text: "Good Morning Harold,\n\nI was wondering when the next" | |
| example_title: "event" | |
| - text: "URGENT - I need the TPS reports" | |
| example_title: "URGENT" | |
| - text: "Hi Archibald,\n\nI hope this email finds you extremely well." | |
| example_title: "emails that find you" | |
| - text: "Hello there.\n\nI just wanted to reach out and check in to" | |
| example_title: "checking in" | |
| - text: "Hello <NAME>,\n\nI hope this email finds you well. I wanted to reach out and see if you've enjoyed your time with us" | |
| example_title: "work well" | |
| - text: "Hi <NAME>,\n\nI hope this email finds you well. I wanted to reach out and see if we could catch up" | |
| example_title: "catch up" | |
| - text: "I'm <NAME> and I just moved into the area and wanted to reach out and get some details on where I could get groceries and" | |
| example_title: "grocery" | |
| parameters: | |
| min_length: 32 | |
| max_length: 128 | |
| no_repeat_ngram_size: 2 | |
| do_sample: True | |
| temperature: 0.3 | |
| top_k: 20 | |
| top_p: 0.95 | |
| repetition_penalty: 3.5 | |
| length_penalty: 0.9 | |
| # gpt2-medium-emailgen | |
| [](https://colab.research.google.com/gist/pszemraj/70058788c6d4b430398c12ee8ba10602/minimal-demo-for-postbot-gpt2-medium-emailgen.ipynb | |
| ) | |
| Why write the entire email when you can generate (most of) it? | |
| ```python | |
| from transformers import pipeline | |
| model_tag = "postbot/gpt2-medium-emailgen" | |
| generator = pipeline( | |
| 'text-generation', | |
| model=model_tag, | |
| ) | |
| prompt = """ | |
| Hello, | |
| Following up on the bubblegum shipment.""" | |
| result = generator( | |
| prompt, | |
| max_length=64, | |
| do_sample=False, | |
| early_stopping=True, | |
| ) # generate | |
| print(result[0]['generated_text']) | |
| ``` | |
| ## about | |
| This model is a fine-tuned version of [gpt2-medium](https://huggingface.co/gpt2-medium) on the postbot/multi-emails-100k dataset. | |
| It achieves the following results on the evaluation set: | |
| - Loss: 1.5840 | |
| ## Model description | |
| More information needed | |
| ## Intended uses & limitations | |
| - this is intended as a tool to save time writing predictable emails and not to write emails without a human-in-the-loop. validate that your email is factually correct before sending it to others. | |
| ## Training and evaluation data | |
| - the dataset is essentially a hand-curated/augmented expansion to the classic `aeslc` dataset | |
| ## Training procedure | |
| ### Training hyperparameters | |
| The following hyperparameters were used during training: | |
| - learning_rate: 0.001 | |
| - train_batch_size: 16 | |
| - eval_batch_size: 16 | |
| - seed: 42 | |
| - distributed_type: multi-GPU | |
| - gradient_accumulation_steps: 8 | |
| - total_train_batch_size: 128 | |
| - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 | |
| - lr_scheduler_type: cosine | |
| - lr_scheduler_warmup_ratio: 0.02 | |
| - num_epochs: 3 | |
| ### Training results | |
| | Training Loss | Epoch | Step | Validation Loss | | |
| |:-------------:|:-----:|:----:|:---------------:| | |
| | 1.8701 | 1.0 | 789 | 1.8378 | | |
| | 1.5065 | 2.0 | 1578 | 1.6176 | | |
| | 1.1873 | 3.0 | 2367 | 1.5840 | | |
| ### Framework versions | |
| - Transformers 4.22.2 | |
| - Pytorch 1.10.0+cu113 | |
| - Datasets 2.5.1 | |
| - Tokenizers 0.12.1 | |
| # [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) | |
| Detailed results can be found [here](https://huggingface.co/datasets/open-llm-leaderboard/details_postbot__gpt2-medium-emailgen) | |
| | Metric | Value | | |
| |-----------------------|---------------------------| | |
| | Avg. | 25.97 | | |
| | ARC (25-shot) | 26.45 | | |
| | HellaSwag (10-shot) | 34.31 | | |
| | MMLU (5-shot) | 24.1 | | |
| | TruthfulQA (0-shot) | 43.96 | | |
| | Winogrande (5-shot) | 50.43 | | |
| | GSM8K (5-shot) | 0.0 | | |
| | DROP (3-shot) | 2.53 | | |