Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# VTB_CodeV1_7B
|
| 2 |
+
|
| 3 |
+
## Mô tả mô hình
|
| 4 |
+
|
| 5 |
+
**VTB_CodeV1_7B** là một mô hình ngôn ngữ lớn được tinh chỉnh cho các tác vụ tạo mã (code generation). Nó dựa trên kiến trúc **Llama** và đã được huấn luyện trên một tập dữ liệu tùy chỉnh để sinh mã, bao gồm các đoạn mã, định nghĩa hàm, và các cấu trúc mã phổ biến khác.
|
| 6 |
+
|
| 7 |
+
Mô hình này có khả năng thực hiện các tác vụ như:
|
| 8 |
+
- Hoàn thành mã.
|
| 9 |
+
- Tạo mã Python từ đầu vào một phần.
|
| 10 |
+
- Viết các đoạn mã với cú pháp và logic chính xác.
|
| 11 |
+
|
| 12 |
+
### Chi tiết mô hình:
|
| 13 |
+
- **Kiến trúc mô hình**: Transformer-based
|
| 14 |
+
- **Loại mô hình**: Causal Language Model (LM)
|
| 15 |
+
- **Tiền huấn luyện**: Được huấn luyện trên một lượng lớn mã nguồn và các tác vụ lập trình.
|
| 16 |
+
- **Tinh chỉnh**: Được tinh chỉnh đặc biệt cho việc tạo mã và hoàn thành mã.
|
| 17 |
+
|
| 18 |
+
## Sử dụng
|
| 19 |
+
|
| 20 |
+
Bạn có thể sử dụng mô hình này để tạo các đoạn mã Python chỉ với một đầu vào phần nào. Dưới đây là ví dụ mã Python để sử dụng mô hình cho sinh mã:
|
| 21 |
+
|
| 22 |
+
### Ví dụ Mã Python:
|
| 23 |
+
```python
|
| 24 |
+
from transformers import AutoTokenizer
|
| 25 |
+
import transformers
|
| 26 |
+
import torch
|
| 27 |
+
|
| 28 |
+
# Mã mô hình
|
| 29 |
+
model = "shumi2011/vtb_codeV1_7b"
|
| 30 |
+
|
| 31 |
+
# Tải tokenizer đã huấn luyện
|
| 32 |
+
tokenizer = AutoTokenizer.from_pretrained(model)
|
| 33 |
+
|
| 34 |
+
# Khởi tạo pipeline cho sinh mã với mô hình
|
| 35 |
+
pipeline = transformers.pipeline(
|
| 36 |
+
"text-generation",
|
| 37 |
+
model=model,
|
| 38 |
+
torch_dtype=torch.float16,
|
| 39 |
+
device_map="auto",
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
# Ví dụ đầu vào mã
|
| 43 |
+
prompt = 'import socket\n\ndef ping_exponential_backoff(host: str):'
|
| 44 |
+
|
| 45 |
+
# Tạo mã dựa trên đầu vào
|
| 46 |
+
sequences = pipeline(
|
| 47 |
+
prompt,
|
| 48 |
+
do_sample=True,
|
| 49 |
+
top_k=10,
|
| 50 |
+
temperature=0.1,
|
| 51 |
+
top_p=0.95,
|
| 52 |
+
num_return_sequences=1,
|
| 53 |
+
eos_token_id=tokenizer.eos_token_id,
|
| 54 |
+
max_length=200
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
# Hiển thị kết quả sinh mã
|
| 58 |
+
for seq in sequences:
|
| 59 |
+
print(f"Kết quả: {seq['generated_text']}")
|