Spaces:
Sleeping
Sleeping
# import gradio as gr | |
# from transformers import AutoTokenizer, AutoModelForCausalLM | |
# import torch | |
# # Model initialization | |
# model_name = "gpt2" # or your specific model | |
# tokenizer = AutoTokenizer.from_pretrained(model_name) | |
# model = AutoModelForCausalLM.from_pretrained(model_name) | |
# # Add special tokens for languages | |
# special_tokens = {"additional_special_tokens": ["[YORUBA]", "[IGBO]", "[HAUSA]"]} | |
# tokenizer.add_special_tokens(special_tokens) | |
# model.resize_token_embeddings(len(tokenizer)) | |
# # Move model to GPU if available | |
# device = "cuda" if torch.cuda.is_available() else "cpu" | |
# model.to(device) | |
# def generate_text(prompt, language): | |
# # Add language tag to prompt | |
# tagged_prompt = f"[{language.upper()}] {prompt}" | |
# # Tokenize | |
# inputs = tokenizer(tagged_prompt, return_tensors="pt").to(device) | |
# # Generate | |
# outputs = model.generate( | |
# **inputs, | |
# max_length=100, | |
# num_return_sequences=1, | |
# temperature=0.7, | |
# pad_token_id=tokenizer.eos_token_id | |
# ) | |
# # Decode and return | |
# return tokenizer.decode(outputs[0], skip_special_tokens=True) | |
# # Create Gradio interface | |
# iface = gr.Interface( | |
# fn=generate_text, | |
# inputs=[ | |
# gr.Textbox(label="Enter your prompt"), | |
# gr.Dropdown(choices=["YORUBA", "IGBO", "HAUSA"], label="Select Language") | |
# ], | |
# outputs=gr.Textbox(label="Generated Text"), | |
# title="Nigerian Language Generator", | |
# description="Generate text in Yoruba, Igbo, or Hausa using a fine-tuned GPT model." | |
# ) | |
# if __name__ == "__main__": | |
# iface.launch() | |
import sys | |
import os | |
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
from model.config import ModelConfig | |
from model.model import NigerianLanguageModel | |
from interface.gradio_app import create_interface | |
def main(): | |
config = ModelConfig() | |
model = NigerianLanguageModel(config) | |
interface = create_interface(model) | |
interface.launch() | |
if __name__ == "__main__": | |
main() |