|
--- |
|
language: en |
|
license: mit |
|
tags: |
|
- text-generation |
|
- causal-lm |
|
- llm |
|
- chatbot |
|
- llama-7b |
|
- fine-tuned |
|
--- |
|
|
|
# Chatbot Llama-7B Fine-tuned for Chat |
|
|
|
This model is a fine-tuned version of the Llama-7B model, trained for chatbot tasks using LoRA. |
|
|
|
## How to use |
|
|
|
You can use the model for text generation tasks. Here's an example of how to load the model and run inference. |
|
|
|
```python |
|
# 1. Import các thư viện cần thiết |
|
import torch |
|
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline |
|
import time |
|
|
|
# 2. Định nghĩa model_id từ Hugging Face |
|
model_id = "phongnp2010/chatbot-llama-7b-chathf" |
|
|
|
# 3. Load Tokenizer và Model đã merge từ Hugging Face |
|
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) |
|
tokenizer.pad_token = tokenizer.eos_token |
|
tokenizer.padding_side = "right" |
|
|
|
# 4. Load mô hình đã merge (không cần phải load base model và merge lại) |
|
model = AutoModelForCausalLM.from_pretrained( |
|
model_id, |
|
low_cpu_mem_usage=True, |
|
return_dict=True, |
|
torch_dtype=torch.float16, # Sử dụng FP16 nếu bạn muốn tiết kiệm bộ nhớ GPU |
|
device_map="auto", # Cấu hình auto device map nếu sử dụng nhiều GPU hoặc chuyển sang CPU |
|
) |
|
|
|
# 5. Khởi tạo Inference Pipeline |
|
pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length=2048) |
|
|
|
# 6. Thực hiện inference |
|
while True: |
|
prompt = input("Type your question (or '0' to exit): ") |
|
if prompt != '0': |
|
start = time.time() |
|
# Chạy inference |
|
result = pipe(f"<s>[INST] {prompt} [/INST]") # Cách bạn chuẩn bị input (bằng cách sử dụng [INST] tag) |
|
generated_text = result[0]['generated_text'] |
|
|
|
# Trích xuất câu trả lời từ text generated |
|
answer = generated_text.split('[/INST]')[1].split('</s>')[0].strip() |
|
|
|
print(f'Answer: {answer}') |
|
print(f'Time: {time.time() - start} seconds') |
|
else: |
|
print('Thank you!') |
|
break |
|
|