File size: 2,216 Bytes
cb30129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4e02e97
 
cb30129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# VTB_CodeV1_7B

## Mô tả mô hình

**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.

Mô hình này có khả năng thực hiện các tác vụ như:
- Hoàn thành mã.
- Tạo mã Python từ đầu vào một phần.
- Viết các đoạn mã với cú pháp và logic chính xác.

### Chi tiết mô hình:
- **Kiến trúc mô hình**: Transformer-based
- **Loại mô hình**: Causal Language Model (LM)
- **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.
- **Tinh chỉnh**: Được tinh chỉnh đặc biệt cho việc tạo mã và hoàn thành mã.
- **Prompt**: [INST] <<SYS>>{{ .System }}<</SYS>> {{ .Prompt }} [/INST]
- **Prams**: {"rope_frequency_base": 1000000,"stop": [ "[INST]", "[/INST]", "<<SYS>>", "<</SYS>>" ]}

## Sử dụng

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ã:

### Ví dụ Mã Python:
```python
from transformers import AutoTokenizer
import transformers
import torch

# Mã mô hình
model = "shumi2011/vtb_codeV1_7b"

# Tải tokenizer đã huấn luyện
tokenizer = AutoTokenizer.from_pretrained(model)

# Khởi tạo pipeline cho sinh mã với mô hình
pipeline = transformers.pipeline(
    "text-generation", 
    model=model, 
    torch_dtype=torch.float16, 
    device_map="auto", 
)

# Ví dụ đầu vào mã
prompt = 'import socket\n\ndef ping_exponential_backoff(host: str):'

# Tạo mã dựa trên đầu vào
sequences = pipeline(
    prompt, 
    do_sample=True, 
    top_k=10, 
    temperature=0.1, 
    top_p=0.95, 
    num_return_sequences=1, 
    eos_token_id=tokenizer.eos_token_id, 
    max_length=200
)

# Hiển thị kết quả sinh mã
for seq in sequences:
    print(f"Kết quả: {seq['generated_text']}")