Polushinm commited on
Commit
9b738bb
·
verified ·
1 Parent(s): 239e46e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +139 -61
README.md CHANGED
@@ -1,22 +1,30 @@
1
  ---
2
- library_name: ggml
3
  language:
4
  - ru
5
  - en
6
  pipeline_tag: text-generation
7
- license: apache-2.0
8
  license_name: apache-2.0
9
- license_link: https://huggingface.co/MTSAIR/Kodify-Nano-GGUF/blob/main/Apache%20License%20MTS%20AI.docx
10
  ---
11
 
12
- # Kodify-Nano-GGUF 🤖
13
 
14
- Kodify-Nano-GGUF - GGUF версия модели [MTSAIR/Kodify-Nano](https://huggingface.co/MTSAIR/Kodify-Nano), оптимизированная для CPU/GPU-инференса и использованием Ollama/llama.cpp. Легковесная LLM для задач разработки кода с минимальными ресурсами.
15
 
16
- Kodify-Nano-GGUF - GGUF version of [MTSAIR/Kodify-Nano](https://huggingface.co/MTSAIR/Kodify-Nano), optimized for CPU/GPU inference with Ollama/llama.cpp. Lightweight LLM for code development tasks with minimal resource requirements.
17
 
 
18
 
19
- ## Using the Image
 
 
 
 
 
 
 
 
 
 
20
  You can run Kodify Nano on OLLAMA in two ways:
21
 
22
  1. **Using Docker**
@@ -130,70 +138,140 @@ If you changed the Docker port from `8985`, update the plugin's `config.json`:
130
  ---
131
 
132
 
133
- ## Available quantization variants:
134
- - Kodify_Nano_q4_k_s.gguf (balanced)
135
- - Kodify_Nano_q8_0.gguf (high quality)
136
- - Kodify_Nano.gguf (best quality, unquantized)
 
 
 
 
 
 
 
 
 
 
 
 
137
 
138
- Download using huggingface_hub:
139
 
140
- ```bash
141
- pip install huggingface-hub
142
- python -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='MTSAIR/Kodify-Nano-GGUF', filename='Kodify_Nano_q4_k_s.gguf', local_dir='./models')"
143
- ```
144
 
 
145
 
146
- ## Python Integration
147
 
148
- Install Ollama Python library:
 
 
149
 
150
- ```bash
151
- pip install ollama
152
  ```
 
153
 
154
- Example code:
155
 
156
- ```python
157
- import ollama
158
-
159
- response = ollama.generate(
160
- model="kodify-nano",
161
- prompt="Write a Python function to calculate factorial",
162
- options={
163
- "temperature": 0.4,
164
- "top_p": 0.8,
165
- "num_ctx": 8192
166
- }
167
- )
168
 
169
- print(response['response'])
170
- ```
171
 
172
- ## Usage Examples
173
 
174
- ```python
175
- response = ollama.generate(
176
- model="kodify-nano",
177
- prompt="""<s>[INST]
178
- Write a Python function that:
179
- 1. Accepts a list of numbers
180
- 2. Returns the median value
181
- [/INST]""",
182
- options={"max_tokens": 512}
183
- )
184
 
185
- ### Code Refactoring
186
- response = ollama.generate(
187
- model="kodify-nano",
188
- prompt="""<s>[INST]
189
- Refactor this Python code:
190
-
191
- def calc(a,b):
192
- s = a + b
193
- d = a - b
194
- p = a * b
195
- return s, d, p
196
- [/INST]""",
197
- options={"temperature": 0.3}
198
- )
199
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ library_name: transformers
3
  language:
4
  - ru
5
  - en
6
  pipeline_tag: text-generation
7
+ license: other
8
  license_name: apache-2.0
9
+ license_link: https://huggingface.co/MTSAIR/Kodify-Nano/blob/main/Apache%20License%20MTS%20AI.docx
10
  ---
11
 
 
12
 
 
13
 
 
14
 
15
+ # Kodify-Nano 🤖
16
 
17
+ Kodify-Nano это легковесная LLM, разработанная для выполнения задач разработки кода с минимальными ресурсами. Она оптимизирована для быстрого и эффективного взаимодействия с пользователями, обеспечивая высокую производительность даже в условиях ограниченных ресурсов.
18
+
19
+ Kodify-Nano is a lightweight LLM designed for code development tasks with minimal resource usage. It is optimized for fast and efficient interaction, delivering high performance even in resource-constrained environments.
20
+
21
+ ## Inference with vLLM
22
+ ```bash
23
+ python3 -m vllm.entrypoints.openai.api_server --model MTSAIR/Kodify-Nano --port 8985
24
+ ```
25
+ ---
26
+
27
+ ## Using the Ollama Image
28
  You can run Kodify Nano on OLLAMA in two ways:
29
 
30
  1. **Using Docker**
 
138
  ---
139
 
140
 
141
+ ### Example API Request
142
+ ```python
143
+ import openai
144
+
145
+ openai.api_key = 'xxx' # Replace with your key
146
+ openai.api_base = 'http://localhost:8985/v1' # Update if port changed
147
+
148
+ response = openai.ChatCompletion.create(
149
+ model="MTSAIR/Kodify-Nano",
150
+ temperature=0.4,
151
+ max_tokens=2048,
152
+ top_p=0.8,
153
+ messages=[
154
+ {"role": "user", "content": "Write a Python algorithm to find all unique words in a text."}
155
+ ]
156
+ )
157
 
158
+ print(response["choices"][0]["message"]["content"])
159
 
160
+ ### Inference with Hugging Face
 
 
 
161
 
162
+ from transformers import pipeline
163
 
164
+ pipe = pipeline("text-generation", model="MTSAIR/Kodify-Nano", device="cuda")
165
 
166
+ messages = [
167
+ {"role": "user", "content": "Write a Python algorithm to find all unique words in a text."},
168
+ ]
169
 
170
+ response = pipe(messages, max_length=1024)
171
+ print(response[0]['generated_text'][-1]['content'])
172
  ```
173
+ ---
174
 
175
+ ## Example Interaction
176
 
177
+ **User Request:**
178
+ *Напиши простой сервер на flask с объяснениями на русском языке.*
 
 
 
 
 
 
 
 
 
 
179
 
180
+ #### Kodify-Nano response:
 
181
 
182
+ >Конечно! Давайте создадим простой сервер на Flask с объяснениями на русском языке. Flask - это мини-модуль для создания веб-приложений на Python, который позволяет быстро и легко разрабатывать приложения с использованием библиотеки Werkzeug.
183
 
184
+ >### Установка Flask
 
 
 
 
 
 
 
 
 
185
 
186
+ >Для начала, убедитесь, что у вас установлен Python. После этого установите Flask с помощью pip:
187
+
188
+ >```sh
189
+ >pip install Flask
190
+ >```
191
+
192
+ >### Пример простого сервера на Flask
193
+
194
+ >Вот пример простого приложения на Flask, которое будет отвечать на запросы на `/hello` и выводить "Hello, World!".
195
+
196
+ >1. Создайте новый файл, например, `app.py`.
197
+ >2. Откройте файл в текстовом редакторе и вставьте следующий код:
198
+
199
+ >```python
200
+ >from flask import Flask
201
+
202
+ >app = Flask(__name__)
203
+
204
+ >@app.route('/hello')
205
+ >def hello_world():
206
+ > return 'Hello, World!'
207
+
208
+ >if __name__ == '__main__':
209
+ > app.run(debug=True)
210
+ >```
211
+
212
+ >### Объяснение кода
213
+
214
+ >1. **Импорт Flask**: Мы импортируем класс Flask из модуля `flask`.
215
+ >2. **Создание экземпляра Flask**: Создаем экземпляр класса Flask с именем `app`.
216
+ >3. **Обработчик запросов**: Мы декорируем функцию `hello_world` с помощью `@app.route('/hello')`. Это означает, что при запросе на `/hello` Flask вызовет функцию `hello_world`.
217
+ >4. **Возвращение ответа**: Функция `hello_world` возвращает строку `'Hello, World!'`.
218
+ >5. **Запуск сервера**: В конце файла добавляем проверку, чтобы при запуске скрипта он запускался в режиме отладки (`debug=True`).
219
+
220
+ >### Запуск сервера
221
+
222
+ >1. Откройте терминал и перейдите в директорию, в которой находится ваш файл `app.py`.
223
+ >2. Запустите скрипт с помощью команды:
224
+
225
+ >```sh
226
+ >python app.py
227
+ >```
228
+ >
229
+ >3. Вы увидите сообщение, что сервер запущен на порту 5000. Например:
230
+
231
+ >```
232
+ > * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
233
+ >```
234
+
235
+ >4. Откройте браузер и перейдите на адрес `http://127.0.0.1:5000/hello`. Вы должны увидеть сообщение "Hello, World!".
236
+
237
+ >### Дополнительные функции
238
+
239
+ >Flask предоставляет множество других функций для создания более сложных приложений. Вот некоторые из них:
240
+
241
+ >- **Функции маршрутизации**: Вы можете добавлять дополнительные маршруты, обрабатывать параметры запросов и т.д.
242
+ >- **Вьюшки**: Вы можете создавать вьюшки, которые возвращают HTML-страницы.
243
+ >- **Сессии**: Вы можете использовать сессии для хранения данных между запросами.
244
+ >- **БД**: Вы можете подключаться к базе данных и выполнять запросы.
245
+
246
+ >Давайте рассмотрим пример с вьюшкой:
247
+
248
+ >```python
249
+ >from flask import Flask, render_template
250
+
251
+ >app = Flask(__name__)
252
+
253
+ >@app.route('/')
254
+ >def index():
255
+ > return render_template('index.html')
256
+
257
+ >if __name__ == '__main__':
258
+ > app.run(debug=True)
259
+ >```
260
+
261
+ >1. **Вьюшка**: Создаем файл `templates/index.html` в папке `templates` (если он еще не существует) и добавляем следующий код:
262
+ >
263
+ >```html
264
+ ><!DOCTYPE html>
265
+ ><html lang="ru">
266
+ ><head>
267
+ > <meta charset="UTF-8">
268
+ > <title>Пример вьюшки</title>
269
+ ></head>
270
+ ><body>
271
+ > <h1>Привет, мир!</h1>
272
+ > <p>Это пример вьюшки на Flask.</p>
273
+ ></body>
274
+ ></html>
275
+ >```
276
+
277
+ >2. **Запуск сервера**: Сохраните файлы и запустите сервер снова. Откройте браузер и перейдите на адрес `http://127.0.0.1:5000/`. Вы должны увидеть HTML-страницу с текстом "Привет, мир!".