darkps commited on
Commit
4de68f2
·
verified ·
1 Parent(s): dbd79e6

Upload notebook.ipynb

Browse files
Files changed (1) hide show
  1. notebook.ipynb +99 -99
notebook.ipynb CHANGED
@@ -1,102 +1,102 @@
1
  {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": None,
6
- "metadata": {},
7
- "outputs": [],
8
- "source": [
9
- "!pip install -U transformers accelerate huggingface_hub sentencepiece safetensors\n"
10
- ],
11
- },
12
- {
13
- "cell_type": "code",
14
- "execution_count": None,
15
- "metadata": {},
16
- "outputs": [],
17
- "source": [
18
- "from huggingface_hub import HfApi\n",
19
- "from transformers import AutoTokenizer, AutoModelForCausalLM\n",
20
- "import torch\n",
21
- "import os\n",
22
- "\n",
23
- "REPO_ID = \"darkps/darkit-v2.5-transformers\"\n",
24
- "api = HfApi()\n",
25
- "\n",
26
- "files = api.list_repo_files(REPO_ID)\n",
27
- "model_files = [f for f in files if f.endswith(\".safetensors\") or f.endswith(\".bin\")]\n",
28
- "\n",
29
- "for i, f in enumerate(model_files):\n",
30
- " print(f\"[{i}] {f}\")\n",
31
- "\n",
32
- "tokenizer = AutoTokenizer.from_pretrained(REPO_ID, trust_remote_code=True)\n",
33
- "\n",
34
- "model = AutoModelForCausalLM.from_pretrained(\n",
35
- " REPO_ID,\n",
36
- " trust_remote_code=True,\n",
37
- " torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,\n",
38
- " device_map=\"auto\",\n",
39
- " low_cpu_mem_usage=True,\n",
40
- ")\n",
41
- ],
42
- },
43
- {
44
- "cell_type": "code",
45
- "execution_count": None,
46
- "metadata": {},
47
- "outputs": [],
48
- "source": [
49
- "from transformers import TextIteratorStreamer\n",
50
- "from threading import Thread\n",
51
- "\n",
52
- "PROMPT = \"Hi how are you?\"\n",
53
- "\n",
54
- "messages = [\n",
55
- " {\"role\": \"user\", \"content\": PROMPT}\n",
56
- "]\n",
57
- "\n",
58
- "inputs = tokenizer.apply_chat_template(\n",
59
- " messages,\n",
60
- " tokenize=True,\n",
61
- " add_generation_prompt=True,\n",
62
- " return_tensors=\"pt\"\n",
63
- ")\n",
64
- "\n",
65
- "inputs = inputs.to(model.device)\n",
66
- "\n",
67
- "streamer = TextIteratorStreamer(\n",
68
- " tokenizer,\n",
69
- " skip_prompt=True,\n",
70
- " skip_special_tokens=True\n",
71
- ")\n",
72
- "\n",
73
- "gen_kwargs = dict(\n",
74
- " inputs,\n",
75
- " max_new_tokens=128,\n",
76
- " temperature=0.7,\n",
77
- " top_p=0.8,\n",
78
- " top_k=20,\n",
79
- " do_sample=True,\n",
80
- " streamer=streamer,\n",
81
- ")\n",
82
- "\n",
83
- "thread = Thread(target=model.generate, kwargs=gen_kwargs)\n",
84
- "thread.start()\n",
85
- "\n",
86
- "for text in streamer:\n",
87
- " print(text, end=\"\", flush=True)\n",
88
- "\n",
89
- "print()\n",
90
- ],
91
- },
92
- ],
93
- "metadata": {
94
- "kernelspec": {
95
- "display_name": "Python 3",
96
- "language": "python",
97
- "name": "python3",
98
- }
99
  },
100
- "nbformat": 4,
101
- "nbformat_minor": 0,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  }
 
1
  {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "!pip install transformers accelerate torch huggingface_hub\n"
10
+ ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  },
12
+ {
13
+ "cell_type": "code",
14
+ "execution_count": null,
15
+ "metadata": {},
16
+ "outputs": [],
17
+ "source": [
18
+ "from huggingface_hub import HfApi\n",
19
+ "from transformers import AutoModelForCausalLM, AutoTokenizer\n",
20
+ "import torch\n",
21
+ "\n",
22
+ "REPO_ID = \"darkps/darkit-v2.5-transformers\"\n",
23
+ "\n",
24
+ "api = HfApi()\n",
25
+ "\n",
26
+ "files = api.list_repo_files(REPO_ID)\n",
27
+ "\n",
28
+ "print(\"Repository files:\")\n",
29
+ "for f in files:\n",
30
+ " print(f)\n",
31
+ "\n",
32
+ "tokenizer = AutoTokenizer.from_pretrained(\n",
33
+ " REPO_ID,\n",
34
+ " trust_remote_code=True\n",
35
+ ")\n",
36
+ "\n",
37
+ "model = AutoModelForCausalLM.from_pretrained(\n",
38
+ " REPO_ID,\n",
39
+ " torch_dtype=torch.float16,\n",
40
+ " device_map=\"auto\",\n",
41
+ " trust_remote_code=True\n",
42
+ ")\n",
43
+ "\n",
44
+ "model.eval()\n"
45
+ ]
46
+ },
47
+ {
48
+ "cell_type": "code",
49
+ "execution_count": null,
50
+ "metadata": {},
51
+ "outputs": [],
52
+ "source": [
53
+ "PROMPT = \"Hi how are you?\"\n",
54
+ "\n",
55
+ "messages = [\n",
56
+ " {\n",
57
+ " \"role\": \"user\",\n",
58
+ " \"content\": PROMPT\n",
59
+ " }\n",
60
+ "]\n",
61
+ "\n",
62
+ "text = tokenizer.apply_chat_template(\n",
63
+ " messages,\n",
64
+ " tokenize=False,\n",
65
+ " add_generation_prompt=True\n",
66
+ ")\n",
67
+ "\n",
68
+ "inputs = tokenizer(\n",
69
+ " text,\n",
70
+ " return_tensors=\"pt\"\n",
71
+ ").to(model.device)\n",
72
+ "\n",
73
+ "with torch.no_grad():\n",
74
+ " outputs = model.generate(\n",
75
+ " **inputs,\n",
76
+ " max_new_tokens=128,\n",
77
+ " temperature=0.7,\n",
78
+ " top_p=0.8,\n",
79
+ " top_k=20,\n",
80
+ " do_sample=True,\n",
81
+ " eos_token_id=tokenizer.eos_token_id\n",
82
+ " )\n",
83
+ "\n",
84
+ "response = tokenizer.decode(\n",
85
+ " outputs[0][inputs.input_ids.shape[-1]:],\n",
86
+ " skip_special_tokens=True\n",
87
+ ")\n",
88
+ "\n",
89
+ "print(response)\n"
90
+ ]
91
+ }
92
+ ],
93
+ "metadata": {
94
+ "kernelspec": {
95
+ "display_name": "Python 3",
96
+ "language": "python",
97
+ "name": "python3"
98
+ }
99
+ },
100
+ "nbformat": 4,
101
+ "nbformat_minor": 0
102
  }