Text Generation
Transformers
Safetensors
English
t5
text2text-generation
pinterest
keywords
personality
fine-tuned
lora
flan-t5
text-generation-inference
Instructions to use Amama02/pinterest-personality-keywords-v3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Amama02/pinterest-personality-keywords-v3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Amama02/pinterest-personality-keywords-v3")# Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("Amama02/pinterest-personality-keywords-v3") model = AutoModelForSeq2SeqLM.from_pretrained("Amama02/pinterest-personality-keywords-v3", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Amama02/pinterest-personality-keywords-v3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Amama02/pinterest-personality-keywords-v3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Amama02/pinterest-personality-keywords-v3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Amama02/pinterest-personality-keywords-v3
- SGLang
How to use Amama02/pinterest-personality-keywords-v3 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 "Amama02/pinterest-personality-keywords-v3" \ --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": "Amama02/pinterest-personality-keywords-v3", "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 "Amama02/pinterest-personality-keywords-v3" \ --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": "Amama02/pinterest-personality-keywords-v3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Amama02/pinterest-personality-keywords-v3 with Docker Model Runner:
docker model run hf.co/Amama02/pinterest-personality-keywords-v3
Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,199 +1,144 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
library_name: transformers
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
#
|
| 7 |
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
|
|
|
|
|
|
| 11 |
|
| 12 |
-
## Model
|
|
|
|
|
|
|
| 13 |
|
| 14 |
-
#
|
|
|
|
|
|
|
| 15 |
|
| 16 |
-
|
|
|
|
| 17 |
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
- **Model type:** [More Information Needed]
|
| 24 |
-
- **Language(s) (NLP):** [More Information Needed]
|
| 25 |
-
- **License:** [More Information Needed]
|
| 26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 27 |
|
| 28 |
-
##
|
| 29 |
|
| 30 |
-
|
| 31 |
|
| 32 |
-
|
| 33 |
-
-
|
| 34 |
-
|
| 35 |
|
| 36 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
-
|
| 39 |
|
| 40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
|
| 43 |
|
| 44 |
-
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
|
| 49 |
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
-
### Out-of-Scope Use
|
| 53 |
|
| 54 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 55 |
-
|
| 56 |
-
[More Information Needed]
|
| 57 |
-
|
| 58 |
-
## Bias, Risks, and Limitations
|
| 59 |
-
|
| 60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 61 |
-
|
| 62 |
-
[More Information Needed]
|
| 63 |
-
|
| 64 |
-
### Recommendations
|
| 65 |
-
|
| 66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 67 |
-
|
| 68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 69 |
-
|
| 70 |
-
## How to Get Started with the Model
|
| 71 |
-
|
| 72 |
-
Use the code below to get started with the model.
|
| 73 |
-
|
| 74 |
-
[More Information Needed]
|
| 75 |
-
|
| 76 |
-
## Training Details
|
| 77 |
-
|
| 78 |
-
### Training Data
|
| 79 |
-
|
| 80 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 81 |
-
|
| 82 |
-
[More Information Needed]
|
| 83 |
-
|
| 84 |
-
### Training Procedure
|
| 85 |
-
|
| 86 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 87 |
-
|
| 88 |
-
#### Preprocessing [optional]
|
| 89 |
-
|
| 90 |
-
[More Information Needed]
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
#### Training Hyperparameters
|
| 94 |
-
|
| 95 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 96 |
-
|
| 97 |
-
#### Speeds, Sizes, Times [optional]
|
| 98 |
-
|
| 99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 100 |
-
|
| 101 |
-
[More Information Needed]
|
| 102 |
-
|
| 103 |
-
## Evaluation
|
| 104 |
-
|
| 105 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 106 |
-
|
| 107 |
-
### Testing Data, Factors & Metrics
|
| 108 |
-
|
| 109 |
-
#### Testing Data
|
| 110 |
-
|
| 111 |
-
<!-- This should link to a Dataset Card if possible. -->
|
| 112 |
-
|
| 113 |
-
[More Information Needed]
|
| 114 |
-
|
| 115 |
-
#### Factors
|
| 116 |
-
|
| 117 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 118 |
-
|
| 119 |
-
[More Information Needed]
|
| 120 |
-
|
| 121 |
-
#### Metrics
|
| 122 |
-
|
| 123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 124 |
-
|
| 125 |
-
[More Information Needed]
|
| 126 |
-
|
| 127 |
-
### Results
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
-
|
| 131 |
-
#### Summary
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
## Model Examination [optional]
|
| 136 |
-
|
| 137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 138 |
-
|
| 139 |
-
[More Information Needed]
|
| 140 |
-
|
| 141 |
-
## Environmental Impact
|
| 142 |
-
|
| 143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 144 |
-
|
| 145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 146 |
-
|
| 147 |
-
- **Hardware Type:** [More Information Needed]
|
| 148 |
-
- **Hours used:** [More Information Needed]
|
| 149 |
-
- **Cloud Provider:** [More Information Needed]
|
| 150 |
-
- **Compute Region:** [More Information Needed]
|
| 151 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 152 |
-
|
| 153 |
-
## Technical Specifications [optional]
|
| 154 |
-
|
| 155 |
-
### Model Architecture and Objective
|
| 156 |
-
|
| 157 |
-
[More Information Needed]
|
| 158 |
-
|
| 159 |
-
### Compute Infrastructure
|
| 160 |
-
|
| 161 |
-
[More Information Needed]
|
| 162 |
-
|
| 163 |
-
#### Hardware
|
| 164 |
-
|
| 165 |
-
[More Information Needed]
|
| 166 |
-
|
| 167 |
-
#### Software
|
| 168 |
-
|
| 169 |
-
[More Information Needed]
|
| 170 |
-
|
| 171 |
-
## Citation [optional]
|
| 172 |
-
|
| 173 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 174 |
-
|
| 175 |
-
**BibTeX:**
|
| 176 |
-
|
| 177 |
-
[More Information Needed]
|
| 178 |
-
|
| 179 |
-
**APA:**
|
| 180 |
-
|
| 181 |
-
[More Information Needed]
|
| 182 |
-
|
| 183 |
-
## Glossary [optional]
|
| 184 |
-
|
| 185 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 186 |
-
|
| 187 |
-
[More Information Needed]
|
| 188 |
-
|
| 189 |
-
## More Information [optional]
|
| 190 |
-
|
| 191 |
-
[More Information Needed]
|
| 192 |
-
|
| 193 |
-
## Model Card Authors [optional]
|
| 194 |
-
|
| 195 |
-
[More Information Needed]
|
| 196 |
-
|
| 197 |
-
## Model Card Contact
|
| 198 |
-
|
| 199 |
-
[More Information Needed]
|
|
|
|
| 1 |
---
|
| 2 |
+
language: en
|
| 3 |
+
license: apache-2.0
|
| 4 |
+
base_model: google/flan-t5-base
|
| 5 |
+
tags:
|
| 6 |
+
- text2text-generation
|
| 7 |
+
- pinterest
|
| 8 |
+
- keywords
|
| 9 |
+
- personality
|
| 10 |
+
- fine-tuned
|
| 11 |
+
- lora
|
| 12 |
+
- flan-t5
|
| 13 |
library_name: transformers
|
| 14 |
+
pipeline_tag: text2text-generation
|
| 15 |
+
widget:
|
| 16 |
+
- text: "Generate Pinterest keywords for Cleopatra - Culture: Egyptian | Role: Royalty | Period: Ancient Egypt - Keywords should be visual, searchable on Pinterest, and capture their aesthetic essence. The Culture, Role, Period and bio give important information about the personality. Take them into account when generating keywords"
|
| 17 |
+
example_title: "Cleopatra Keywords"
|
| 18 |
+
- text: "Generate Pinterest keywords for Leonardo da Vinci - Culture: Italian | Role: Polymath | Period: Renaissance - Keywords should be visual, searchable on Pinterest, and capture their aesthetic essence. The Culture, Role, Period and bio give important information about the personality. Take them into account when generating keywords"
|
| 19 |
+
example_title: "Leonardo da Vinci Keywords"
|
| 20 |
---
|
| 21 |
|
| 22 |
+
# Pinterest Personality Keywords Generator
|
| 23 |
|
| 24 |
+
🎨 **Fine-tuned FLAN-T5 model for generating Pinterest-optimized keywords for historical and fictional personalities.**
|
| 25 |
+
|
| 26 |
+
This model was fine-tuned using LoRA (Low-Rank Adaptation) to generate visually appealing, searchable Pinterest keywords based on personality information.
|
| 27 |
+
|
| 28 |
+
## 🚀 Quick Start
|
| 29 |
+
|
| 30 |
+
### Using Transformers Pipeline
|
| 31 |
+
```python
|
| 32 |
+
from transformers import pipeline
|
| 33 |
+
|
| 34 |
+
# Load the model
|
| 35 |
+
generator = pipeline("text2text-generation", model="Amama02/pinterest-personality-keywords-v3")
|
| 36 |
+
|
| 37 |
+
# Generate keywords
|
| 38 |
+
input_text = "Generate Pinterest keywords for Marie Curie - Culture: Polish-French | Role: Scientist | Period: Early 20th Century - Keywords should be visual, searchable on Pinterest, and capture their aesthetic essence. The Culture, Role, Period and bio give important information about the personality. Take them into account when generating keywords"
|
| 39 |
|
| 40 |
+
result = generator(
|
| 41 |
+
input_text,
|
| 42 |
+
max_length=300,
|
| 43 |
+
num_beams=8,
|
| 44 |
+
temperature=0.9,
|
| 45 |
+
do_sample=True,
|
| 46 |
+
top_p=0.95,
|
| 47 |
+
repetition_penalty=2.0,
|
| 48 |
+
length_penalty=1.2,
|
| 49 |
+
no_repeat_ngram_size=2
|
| 50 |
+
)
|
| 51 |
|
| 52 |
+
print(result[0]['generated_text'])
|
| 53 |
+
```
|
| 54 |
|
| 55 |
+
### Using Direct Model Loading
|
| 56 |
+
```python
|
| 57 |
+
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
|
| 58 |
|
| 59 |
+
# Load model and tokenizer
|
| 60 |
+
tokenizer = AutoTokenizer.from_pretrained("Amama02/pinterest-personality-keywords-v3")
|
| 61 |
+
model = AutoModelForSeq2SeqLM.from_pretrained("Amama02/pinterest-personality-keywords-v3")
|
| 62 |
|
| 63 |
+
# Prepare input
|
| 64 |
+
input_text = "Generate Pinterest keywords for Frida Kahlo - Culture: Mexican | Role: Artist | Period: 20th Century - Keywords should be visual, searchable on Pinterest, and capture their aesthetic essence. The Culture, Role, Period and bio give important information about the personality. Take them into account when generating keywords"
|
| 65 |
|
| 66 |
+
# Tokenize and generate
|
| 67 |
+
inputs = tokenizer(input_text, return_tensors="pt", max_length=256, truncation=True)
|
| 68 |
+
outputs = model.generate(
|
| 69 |
+
**inputs,
|
| 70 |
+
max_length=300,
|
| 71 |
+
num_beams=8,
|
| 72 |
+
temperature=0.9,
|
| 73 |
+
do_sample=True,
|
| 74 |
+
top_p=0.95,
|
| 75 |
+
repetition_penalty=2.0,
|
| 76 |
+
length_penalty=1.2,
|
| 77 |
+
early_stopping=True,
|
| 78 |
+
no_repeat_ngram_size=2
|
| 79 |
+
)
|
| 80 |
|
| 81 |
+
keywords = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 82 |
+
print(keywords)
|
| 83 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
|
| 85 |
+
## 📝 Input Format
|
| 86 |
|
| 87 |
+
The model expects input in this specific format:
|
| 88 |
|
| 89 |
+
```
|
| 90 |
+
Generate Pinterest keywords for [PERSONALITY_NAME] - Culture: [CULTURE] | Role: [ROLE] | Period: [TIME_PERIOD] | Bio: [BIOGRAPHY] - Keywords should be visual, searchable on Pinterest, and capture their aesthetic essence. The Culture, Role, Period and bio give important information about the personality. Take them into account when generating keywords
|
| 91 |
+
```
|
| 92 |
|
| 93 |
+
### Required Fields:
|
| 94 |
+
- **PERSONALITY_NAME**: Name of the person
|
| 95 |
+
- **Culture**: Cultural background or nationality
|
| 96 |
+
- **Role**: Profession, title, or main role
|
| 97 |
+
- **Period**: Historical time period
|
| 98 |
+
- **Bio**: (Optional) Brief biography
|
| 99 |
|
| 100 |
+
## 🎯 Example Outputs
|
| 101 |
|
| 102 |
+
| Input | Generated Keywords |
|
| 103 |
+
|-------|-------------------|
|
| 104 |
+
| **Cleopatra** (Egyptian Royalty, Ancient Egypt) | "Egyptian queen aesthetic, ancient Egypt fashion, Cleopatra makeup, pharaoh style, golden jewelry, Egyptian mythology, ancient beauty, royal Egyptian, hieroglyphics, Egyptian art" |
|
| 105 |
+
| **Leonardo da Vinci** (Italian Polymath, Renaissance) | "Renaissance art, Italian genius, classical paintings, Renaissance fashion, vintage sketches, Italian Renaissance, Renaissance architecture, classical art history" |
|
| 106 |
+
| **Marie Curie** (Polish-French Scientist, Early 20th Century) | "vintage science, female scientist aesthetic, laboratory vintage, early 1900s fashion, women in science, vintage academic, scientific discovery, vintage portraits" |
|
| 107 |
|
| 108 |
+
## ⚙️ Generation Parameters
|
| 109 |
|
| 110 |
+
The model is optimized with these generation settings:
|
| 111 |
|
| 112 |
+
- **max_length**: 300
|
| 113 |
+
- **num_beams**: 8
|
| 114 |
+
- **temperature**: 0.9
|
| 115 |
+
- **top_p**: 0.95
|
| 116 |
+
- **repetition_penalty**: 2.0
|
| 117 |
+
- **length_penalty**: 1.2
|
| 118 |
+
- **no_repeat_ngram_size**: 2
|
| 119 |
|
| 120 |
+
## 🔧 Technical Details
|
| 121 |
|
| 122 |
+
- **Base Model**: google/flan-t5-base
|
| 123 |
+
- **Fine-tuning Method**: LoRA (Low-Rank Adaptation)
|
| 124 |
+
- **LoRA Rank**: 16
|
| 125 |
+
- **Target Modules**: ["q", "v", "k", "o", "wi", "wo"]
|
| 126 |
+
- **Training Data**: Historical and fictional personalities dataset
|
| 127 |
+
- **Task**: Seq2Seq text generation
|
| 128 |
+
|
| 129 |
+
## 📊 Model Performance
|
| 130 |
+
|
| 131 |
+
The model has been optimized for:
|
| 132 |
+
- ✅ **Visual Keywords**: Generates terms that work well for image searches
|
| 133 |
+
- ✅ **Pinterest Optimization**: Keywords tailored for Pinterest's search algorithm
|
| 134 |
+
- ✅ **Cultural Sensitivity**: Respects cultural context and historical accuracy
|
| 135 |
+
- ✅ **Diversity**: Produces varied and creative keyword combinations
|
| 136 |
+
|
| 137 |
+
## 🚫 Limitations
|
| 138 |
+
|
| 139 |
+
- Specifically designed for Pinterest keyword generation
|
| 140 |
+
- May not perform well on other text generation tasks
|
| 141 |
+
- Limited to personalities with sufficient historical/cultural context
|
| 142 |
+
- Requires specific input format for optimal results
|
| 143 |
|
|
|
|
| 144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|