File size: 1,672 Bytes
63a6540 60b8aa8 e6842e8 63a6540 a28907d 63a6540 3b0fa93 63a6540 9a7bebe 63a6540 6987059 63a6540 e6842e8 63a6540 e6842e8 63a6540 a8151ae be8b81e a8151ae be8b81e 63a6540 be8b81e |
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 |
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import gradio as gr
# Setup model dan tokenizer
torch.random.manual_seed(0)
model = AutoModelForCausalLM.from_pretrained(
"microsoft/Phi-3-mini-128k-instruct",
device_map="cpu", # Gunakan 'cpu' jika tidak ada GPU
torch_dtype="auto",
trust_remote_code=True,
attn_implementation="eager" # Menggunakan eager untuk menghindari masalah flash-attention
)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-128k-instruct")
# Pipeline untuk text-generation
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
)
# Fungsi untuk menghasilkan respons
def generate_response(input_text):
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": input_text}
]
generation_args = {
"max_new_tokens": 500,
"return_full_text": False,
"temperature": 0.7, # Bisa disesuaikan untuk variasi output
"do_sample": True, # Mengaktifkan sampling untuk variasi output
}
output = pipe(messages, **generation_args)
return output[0]['generated_text']
# Membuat antarmuka menggunakan Gradio
iface = gr.Interface(
fn=generate_response, # Fungsi untuk menangani input
inputs=gr.Textbox(label="Ask me anything!", placeholder="Tanyakan sesuatu..."), # Input teks
outputs=gr.Textbox(label="AI Response"), # Output teks dari AI
title="AI Chatbot Assistant", # Judul aplikasi
description="Tanya apapun, saya siap membantu!", # Deskripsi aplikasi
)
# Menjalankan antarmuka
iface.launch() |