darkps commited on
Commit
31debee
·
verified ·
1 Parent(s): e604260

Upload notebook.ipynb

Browse files
Files changed (1) hide show
  1. notebook.ipynb +102 -0
notebook.ipynb ADDED
@@ -0,0 +1,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
+ "ИДЕНТИФИКАТОР_РЕПО = \"darkps/darkit-v1.5-transformers\"\n",
23
+ "\n",
24
+ "АПИ = HfApi()\n",
25
+ "\n",
26
+ "СПИСОК_ФАЙЛОВ = АПИ.list_repo_files(ИДЕНТИФИКАТОР_РЕПО)\n",
27
+ "\n",
28
+ "print(\"Файлы репозитория:\")\n",
29
+ "for файл in СПИСОК_ФАЙЛОВ:\n",
30
+ " print(файл)\n",
31
+ "\n",
32
+ "ТОКЕНИЗАТОР = AutoTokenizer.from_pretrained(\n",
33
+ " ИДЕНТИФИКАТОР_РЕПО,\n",
34
+ " trust_remote_code=True\n",
35
+ ")\n",
36
+ "\n",
37
+ "МОДЕЛЬ = AutoModelForCausalLM.from_pretrained(\n",
38
+ " ИДЕНТИФИКАТОР_РЕПО,\n",
39
+ " torch_dtype=torch.float16,\n",
40
+ " device_map=\"auto\",\n",
41
+ " trust_remote_code=True\n",
42
+ ")\n",
43
+ "\n",
44
+ "МОДЕЛЬ.eval()\n"
45
+ ]
46
+ },
47
+ {
48
+ "cell_type": "code",
49
+ "execution_count": null,
50
+ "metadata": {},
51
+ "outputs": [],
52
+ "source": [
53
+ "ЗАПРОС = \"Привет, как у тебя дела?\"\n",
54
+ "\n",
55
+ "СООБЩЕНИЯ = [\n",
56
+ " {\n",
57
+ " \"role\": \"user\",\n",
58
+ " \"content\": ЗАПРОС\n",
59
+ " }\n",
60
+ "]\n",
61
+ "\n",
62
+ "ТЕКСТ = ТОКЕНИЗАТОР.apply_chat_template(\n",
63
+ " СООБЩЕНИЯ,\n",
64
+ " tokenize=False,\n",
65
+ " add_generation_prompt=True\n",
66
+ ")\n",
67
+ "\n",
68
+ "ВХОДЫ = ТОКЕНИЗАТОР(\n",
69
+ " ТЕКСТ,\n",
70
+ " return_tensors=\"pt\"\n",
71
+ ").to(МОДЕЛЬ.device)\n",
72
+ "\n",
73
+ "with torch.no_grad():\n",
74
+ " ОТВЕТЫ = МОДЕЛЬ.generate(\n",
75
+ " **ВХОДЫ,\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=ТОКЕНИЗАТОР.eos_token_id\n",
82
+ " )\n",
83
+ "\n",
84
+ "ОТВЕТ = ТОКЕНИЗАТОР.decode(\n",
85
+ " ОТВЕТЫ[0][ВХОДЫ.input_ids.shape[-1]:],\n",
86
+ " skip_special_tokens=True\n",
87
+ ")\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
+ }