phi-2 / app.py
Benjamin Gonzalez
use gpu is available
839fca3
raw
history blame
No virus
1.72 kB
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import gradio as gr
tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"microsoft/phi-2",
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
device_map="cuda" if torch.cuda.is_available() else "cpu",
trust_remote_code=True,
)
def generate(prompt, length):
inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False)
outputs = model.generate(**inputs, max_length=length if length >= len(inputs) else len(inputs))
return tokenizer.batch_decode(outputs)[0]
demo = gr.Interface(
fn=generate,
inputs=[
gr.Text(
label="prompt",
value="Write a detailed analogy between mathematics and a lighthouse.",
),
gr.Number(value=100, label="max length", maximum=1000),
],
outputs="text",
examples=[
[
"Instruct: Write a detailed analogy between mathematics and a lighthouse.",
50,
],
[
"Instruct: Write a detailed analogy between mathematics and a lighthouse.\nOutput:",
50,
],
[
"Alice: I don't know why, I'm struggling to maintain focus while studying. Any suggestions?\nBob: ",
100,
],
[
'''def print_prime(n):
"""
Print all primes between 1 and n
"""\n''',
200,
],
],
title="Microsoft Phi-2",
description="Unofficial demo of Microsoft Phi-2, a high performing model with only 2.7B parameters.",
)
if __name__ == "__main__":
demo.launch(show_api=False)