Gabriel Okiri
//
4983f5e
raw
history blame
2.05 kB
# 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()