Instructions to use MU-NLPC/CzeGPT-2_summarizer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MU-NLPC/CzeGPT-2_summarizer with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="MU-NLPC/CzeGPT-2_summarizer")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("MU-NLPC/CzeGPT-2_summarizer") model = AutoModelForCausalLM.from_pretrained("MU-NLPC/CzeGPT-2_summarizer", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use MU-NLPC/CzeGPT-2_summarizer with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "MU-NLPC/CzeGPT-2_summarizer" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MU-NLPC/CzeGPT-2_summarizer", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/MU-NLPC/CzeGPT-2_summarizer
- SGLang
How to use MU-NLPC/CzeGPT-2_summarizer 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 "MU-NLPC/CzeGPT-2_summarizer" \ --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": "MU-NLPC/CzeGPT-2_summarizer", "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 "MU-NLPC/CzeGPT-2_summarizer" \ --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": "MU-NLPC/CzeGPT-2_summarizer", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use MU-NLPC/CzeGPT-2_summarizer with Docker Model Runner:
docker model run hf.co/MU-NLPC/CzeGPT-2_summarizer
Upload generate_summaries.ipynb
Browse files- generate_summaries.ipynb +122 -0
generate_summaries.ipynb
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "markdown",
|
| 5 |
+
"metadata": {},
|
| 6 |
+
"source": [
|
| 7 |
+
"# Generating summaries with CzeGPT-2 summarizer\n",
|
| 8 |
+
"\n",
|
| 9 |
+
"The generating codes in `utils.py` are based on <a href=\"https://github.com/SKRohit/Generating_Text_Summary_With_GPT2/blob/master/utils.py\">this</a> repository and heavily improved.\n",
|
| 10 |
+
"\n",
|
| 11 |
+
"Download all the files from the <a href=\"https://huggingface.co/MU-NLPC/CzeGPT-2_summarizer/tree/main\">Hugging Face repository</a> and place `vocab.json` and `merges.txt` into one folder and `pytorch_model.bin` and `config.json` into another. \n",
|
| 12 |
+
"\n",
|
| 13 |
+
"Provide the paths to these folders later in the code."
|
| 14 |
+
]
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"cell_type": "code",
|
| 18 |
+
"execution_count": 1,
|
| 19 |
+
"metadata": {},
|
| 20 |
+
"outputs": [],
|
| 21 |
+
"source": [
|
| 22 |
+
"from transformers import GPT2LMHeadModel\n",
|
| 23 |
+
"from utils import add_special_tokens, generate_one_summary_fast"
|
| 24 |
+
]
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"cell_type": "code",
|
| 28 |
+
"execution_count": 2,
|
| 29 |
+
"metadata": {},
|
| 30 |
+
"outputs": [],
|
| 31 |
+
"source": [
|
| 32 |
+
"# load model\n",
|
| 33 |
+
"model_path = \"path/to/folder/with/model/and/config/files\"\n",
|
| 34 |
+
"\n",
|
| 35 |
+
"model = GPT2LMHeadModel.from_pretrained(model_path)\n",
|
| 36 |
+
"\n",
|
| 37 |
+
"# put model into eval mode and on device\n",
|
| 38 |
+
"model.eval()\n",
|
| 39 |
+
"device = 'cuda' # 'cpu' alternatively\n",
|
| 40 |
+
"model.to(device)\n",
|
| 41 |
+
"\n",
|
| 42 |
+
"# load and set tokenizer\n",
|
| 43 |
+
"tokenizer_path = \"path/to/folder/with/vocab/and/merges/files\"\n",
|
| 44 |
+
"tokenizer = add_special_tokens(tokenizer_path)\n",
|
| 45 |
+
"tokenizer.model_max_length = 1024"
|
| 46 |
+
]
|
| 47 |
+
},
|
| 48 |
+
{
|
| 49 |
+
"cell_type": "markdown",
|
| 50 |
+
"metadata": {},
|
| 51 |
+
"source": [
|
| 52 |
+
"### Playing with summaries generation\n",
|
| 53 |
+
"\n",
|
| 54 |
+
"Here we can explore the generation with different inputs and hyperparameters."
|
| 55 |
+
]
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"cell_type": "code",
|
| 59 |
+
"execution_count": 3,
|
| 60 |
+
"metadata": {},
|
| 61 |
+
"outputs": [],
|
| 62 |
+
"source": [
|
| 63 |
+
"input_seq = 'Vohradský v rámci výběrového řízení na nejvyšší post ve státním podniku dostal od výběrové komise nejvíce bodů ze všech uchazečů. Ministryně obrany Jana Černochová (ODS), pod jejíž resort lesy spadají, podle informací Novinek z dobře informovaného zdroje na doporučení komise dala. „Jsem ráda, že komise vybrala velice zkušeného člověka, který má bohaté zkušenosti nejen s lesnictvím, ale zná i Vojenské lesy a statky a je zárukou jejich dalšího rozvoje,“ uvedla ministryně obrany Jana Černochová. „Chci podnik udržet v černých číslech, důležitá je obnova lesních porostů po kůrovci a zabezpečení chodu podniku v souladu s potřebami resortu obrany,“ nastínil své priority Roman Vohradský. Vohradský se v lesnictví pohybuje dlouhá léta. Ve vojenských lesích pracoval už v letech 2002 až 2009. V témže roce pak přešel do jednoho z největších státních podniků, a to do Lesů ČR, které obhospodařují šestinu plochy Česka a zhruba polovinu všech lesů v zemi. Od roku 2015 pak opět pracuje ve VLS jako ředitel divize Mimoň. Do nejužšího výběru s Vohradským podle již dříve publikovaných informací redakce postoupili také bývalý ředitel VLS Jiří Janota, který v současnosti například zastává pozici předsedy Českomoravské myslivecké jednoty, a někdejší správní náměstek vojenských lesů Jiří Špelina. Celkem se do soutěže přihlásilo devět uchazečů. Vojenské lesy a statky ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi, hledají nového generálního ředitele poté, co na konci prosince ministryně obrany Jana Černochová (ODS) odvolala kvůli manažerským pochybením někdejšího ředitele podniku Petra Krále.'"
|
| 64 |
+
]
|
| 65 |
+
},
|
| 66 |
+
{
|
| 67 |
+
"cell_type": "code",
|
| 68 |
+
"execution_count": 5,
|
| 69 |
+
"metadata": {},
|
| 70 |
+
"outputs": [
|
| 71 |
+
{
|
| 72 |
+
"name": "stdout",
|
| 73 |
+
"output_type": "stream",
|
| 74 |
+
"text": [
|
| 75 |
+
"new_article\n",
|
| 76 |
+
"\n",
|
| 77 |
+
"Vohradský v rámci výběrového řízení na nejvyšší post ve státním podniku dostal od výběrové komise nejvíce bodů ze všech uchazečů. Ministryně obrany Jana Černochová (ODS), pod jejíž resort lesy spadají, podle informací Novinek z dobře informovaného zdroje na doporučení komise dala. „Jsem ráda, že komise vybrala velice zkušeného člověka, který má bohaté zkušenosti nejen s lesnictvím, ale zná i Vojenské lesy a statky a je zárukou jejich dalšího rozvoje,“ uvedla ministryně obrany Jana Černochová. „Chci podnik udržet v černých číslech, důležitá je obnova lesních porostů po kůrovci a zabezpečení chodu podniku v souladu s potřebami resortu obrany,“ nastínil své priority Roman Vohradský. Vohradský se v lesnictví pohybuje dlouhá léta. Ve vojenských lesích pracoval už v letech 2002 až 2009. V témže roce pak přešel do jednoho z největších státních podniků, a to do Lesů ČR, které obhospodařují šestinu plochy Česka a zhruba polovinu všech lesů v zemi. Od roku 2015 pak opět pracuje ve VLS jako ředitel divize Mimoň. Do nejužšího výběru s Vohradským podle již dříve publikovaných informací redakce postoupili také bývalý ředitel VLS Jiří Janota, který v současnosti například zastává pozici předsedy Českomoravské myslivecké jednoty, a někdejší správní náměstek vojenských lesů Jiří Špelina. Celkem se do soutěže přihlásilo devět uchazečů. Vojenské lesy a statky ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi, hledají nového generálního ředitele poté, co na konci prosince ministryně obrany Jana Černochová (ODS) odvolala kvůli manažerským pochybením někdejšího ředitele podniku Petra Krále.<|sep|>\n",
|
| 78 |
+
"\n",
|
| 79 |
+
"generated_summary\n",
|
| 80 |
+
"\n",
|
| 81 |
+
"Ministryně obrany doporučila výběrovou komisi, aby jmenovala nového generálního ředitele Vojenských lesů a statků ČR (VLS). Podle informací Novinek je jím současný ředitel divize Mimoň Roman Vohradský. Ten byl doposud v čele Lesů ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi.\n",
|
| 82 |
+
"\n",
|
| 83 |
+
"golden_summary\n",
|
| 84 |
+
"\n",
|
| 85 |
+
"Not Given\n",
|
| 86 |
+
"\n",
|
| 87 |
+
"CPU times: user 1.5 s, sys: 493 ms, total: 1.99 s\n",
|
| 88 |
+
"Wall time: 1.99 s\n"
|
| 89 |
+
]
|
| 90 |
+
}
|
| 91 |
+
],
|
| 92 |
+
"source": [
|
| 93 |
+
"%%time\n",
|
| 94 |
+
"generate_one_summary_fast(input_seq, tokenizer, model, num_sentences=3,\n",
|
| 95 |
+
" top_k=50, top_p=0.5, device=device, eos_stopping=False)\n",
|
| 96 |
+
"\n",
|
| 97 |
+
"None"
|
| 98 |
+
]
|
| 99 |
+
}
|
| 100 |
+
],
|
| 101 |
+
"metadata": {
|
| 102 |
+
"kernelspec": {
|
| 103 |
+
"display_name": "Python 3",
|
| 104 |
+
"language": "python",
|
| 105 |
+
"name": "python3"
|
| 106 |
+
},
|
| 107 |
+
"language_info": {
|
| 108 |
+
"codemirror_mode": {
|
| 109 |
+
"name": "ipython",
|
| 110 |
+
"version": 3
|
| 111 |
+
},
|
| 112 |
+
"file_extension": ".py",
|
| 113 |
+
"mimetype": "text/x-python",
|
| 114 |
+
"name": "python",
|
| 115 |
+
"nbconvert_exporter": "python",
|
| 116 |
+
"pygments_lexer": "ipython3",
|
| 117 |
+
"version": "3.8.5"
|
| 118 |
+
}
|
| 119 |
+
},
|
| 120 |
+
"nbformat": 4,
|
| 121 |
+
"nbformat_minor": 4
|
| 122 |
+
}
|