CodingAssistant / app.py
cochi1706's picture
Increase max_length parameter in text generation to 520 for enhanced output capacity in chatbot application.
1d398ee
raw
history blame
2.02 kB
import gradio as gr
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
# Load tokenizer và model
print("Đang tải model...")
model_name = "cochi1706/codingassistant"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Xác định device cho pipeline (0 cho cuda, -1 cho cpu)
device = 0 if torch.cuda.is_available() else -1
# Set padding token nếu chưa có
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
# Tạo pipeline để sinh text
text_generator = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
device=device,
max_length=520,
do_sample=True,
temperature=0.7
)
model.eval()
print(f"Model đã sẵn sàng! Device: {device}")
def respond(
message,
history=None
):
"""
Tạo phản hồi từ model coding assistant sử dụng pipeline
"""
# Xử lý message - có thể là dict hoặc string
if isinstance(message, dict):
user_message = message.get("content", "")
else:
user_message = str(message) if message else ""
# Nếu không có message, trả về thông báo lỗi
if not user_message:
return "Xin lỗi, tôi không nhận được câu hỏi của bạn."
# Sử dụng pipeline để generate text
generated = text_generator(user_message, num_return_sequences=1)
# Lấy câu trả lời từ kết quả
answer = generated[0]['generated_text']
# Đảm bảo trả về string không rỗng
if not answer or len(answer.strip()) == 0:
answer = "Xin lỗi, tôi không thể tạo phản hồi."
return answer
"""
Chatbot hỗ trợ lập trình sử dụng Qwen3 fine-tuned model
"""
chatbot = gr.ChatInterface(
respond,
title="🤖 Coding Assistant",
description="Chatbot hỗ trợ lập trình",
type="messages"
)
demo = chatbot
if __name__ == "__main__":
demo.launch()