初始化项目,由ModelHub XC社区提供模型

Model: teguhnandi/nandi
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-09-02 01:16:21 +08:00
commit 40ceccb7eb
8 changed files with 299 additions and 0 deletions

98
README.md Normal file
View File

@@ -0,0 +1,98 @@
---
library_name: transformers
base_model: fine-tuned-llm-1B
tags:
- llm
- lora
- qlora
- fine-tuning
- health
- chatbot
- indonesian
language:
- id
license: mit
---
# Chatbot Kesehatan Bahasa Indonesia (Fine-tuned LLM 1B)
Ini adalah model bahasa besar (LLM) 1 miliar parameter yang telah di-fine-tune menggunakan teknik **QLoRA 4-bit Quantization** dengan dataset berbahasa Indonesia yang berfokus pada **informasi kesehatan**. Model ini dirancang untuk berfungsi sebagai chatbot asisten AI di bidang kesehatan secara umum.
## Tujuan
Model ini dioptimalkan untuk memberikan jawaban yang akurat dan helpful terkait pertanyaan-pertanyaan seputar kesehatan dalam Bahasa Indonesia. Fine-tuning ini bertujuan untuk membuat model lebih ahli dalam domain medis spesifik ini.
## Dataset
Dataset yang digunakan adalah kumpulan data berbahasa Indonesia terkait berbagai topik kesehatan, yang berisi berbagai intent, pola pertanyaan, dan respons relevan.
## Parameter Fine-tuning
- **Base Model**: Llama 3.2 1B Instruct (digunakan sebagai model dasar untuk fine-tuning)
- **Teknik**: QLoRA (4-bit quantization)
- **LoRA Config**:
- `r=16`
- `lora_alpha=32`
- `lora_dropout=0.05`
- `target_modules`: `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj`
- **Training Arguments**:
- `num_train_epochs=3`
- `learning_rate=2e-4`
- `per_device_train_batch_size=2`
- `gradient_accumulation_steps=8`
- `fp16=True`
- `gradient_checkpointing=True`
## Penggunaan (Inference)
Anda dapat memuat model ini menggunakan library `transformers`:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "teguhnandi/rijanandi"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16, # Pastikan menggunakan torch.float16 atau bfloat16
device_map='auto',
)
def generate_response(prompt, model, tokenizer, max_length=256):
system_prompt = """Anda adalah asisten AI yang ahli dalam kesehatan dan perawatan. Berikan jawaban yang akurat, helpful, dan berdasarkan pengetahuan medis yang terpercaya. Jika tidak yakin, sarankan untuk berkonsultasi dengan profesional kesehatan."""
full_prompt = f"""<|begin_of_text|><|start_header_id|>system<|end_header_id|>
{system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>
{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
"""
inputs = tokenizer(full_prompt, return_tensors='pt').to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=max_length,
temperature=0.7,
top_p=0.9,
do_sample=True,
pad_token_id=tokenizer.eos_token_id,
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
if "<|start_header_id|>assistant<|end_header_id|>" in response:
response = response.split("<|start_header_id|>assistant<|end_header_id|>
")[-1]
response = response.replace("<|eot_id|>", "").strip()
return response
# Contoh penggunaan
question = "Apa saja tips menjaga kesehatan secara umum?"
answer = generate_response(question, model, tokenizer)
print(f"Pertanyaan: {question}")
print(f"Jawaban: {answer}")
```
## Catatan
Model ini masih dalam tahap pengembangan dan dapat ditingkatkan lebih lanjut dengan dataset yang lebih luas dan fine-tuning lanjutan.