Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,28 +2,31 @@ import gradio as gr
|
|
| 2 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
| 3 |
import torch
|
| 4 |
|
| 5 |
-
# ูู
ุงุฐุฌ
|
| 6 |
models = {
|
| 7 |
-
"CodeGen 2B
|
| 8 |
-
"
|
| 9 |
-
"
|
| 10 |
-
"
|
| 11 |
}
|
| 12 |
|
| 13 |
# ุชุญู
ูู ุงููู
ุงุฐุฌ
|
| 14 |
loaded_models = {}
|
| 15 |
for name, model_id in models.items():
|
| 16 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
| 17 |
-
model = AutoModelForCausalLM.from_pretrained(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
loaded_models[name] = (tokenizer, model)
|
| 19 |
|
| 20 |
-
# ุฏุงูุฉ
|
| 21 |
def generate_code(prompt, model_name):
|
| 22 |
tokenizer, model = loaded_models[model_name]
|
| 23 |
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
|
| 24 |
outputs = model.generate(**inputs, max_new_tokens=150)
|
| 25 |
-
|
| 26 |
-
return code
|
| 27 |
|
| 28 |
# ูุงุฌูุฉ Gradio
|
| 29 |
demo = gr.Interface(
|
|
@@ -33,8 +36,9 @@ demo = gr.Interface(
|
|
| 33 |
gr.Radio(choices=list(models.keys()), label="ุงุฎุชุฑ ุงููู
ูุฐุฌ")
|
| 34 |
],
|
| 35 |
outputs=gr.Code(label="ุงูููุฏ ุงููุงุชุฌ"),
|
| 36 |
-
title="Code Generation with AI Models",
|
| 37 |
-
description="ุงุฎุชุฑ
|
| 38 |
)
|
| 39 |
|
| 40 |
demo.launch()
|
|
|
|
|
|
| 2 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
| 3 |
import torch
|
| 4 |
|
| 5 |
+
# ูู
ุงุฐุฌ ุฃููุฏุฉ ูู
ูุชูุญุฉ
|
| 6 |
models = {
|
| 7 |
+
"CodeGen 2B": "Salesforce/codegen-2B-multi",
|
| 8 |
+
"CodeParrot": "codeparrot/codeparrot-small",
|
| 9 |
+
"GPT-J-6B": "EleutherAI/gpt-j-6B",
|
| 10 |
+
"GPT2": "gpt2" # ูู
ูุฐุฌ ุจุณูุท ูู fallback
|
| 11 |
}
|
| 12 |
|
| 13 |
# ุชุญู
ูู ุงููู
ุงุฐุฌ
|
| 14 |
loaded_models = {}
|
| 15 |
for name, model_id in models.items():
|
| 16 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
| 17 |
+
model = AutoModelForCausalLM.from_pretrained(
|
| 18 |
+
model_id,
|
| 19 |
+
device_map="auto",
|
| 20 |
+
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32
|
| 21 |
+
)
|
| 22 |
loaded_models[name] = (tokenizer, model)
|
| 23 |
|
| 24 |
+
# ุฏุงูุฉ ุงูุชูููุฏ
|
| 25 |
def generate_code(prompt, model_name):
|
| 26 |
tokenizer, model = loaded_models[model_name]
|
| 27 |
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
|
| 28 |
outputs = model.generate(**inputs, max_new_tokens=150)
|
| 29 |
+
return tokenizer.decode(outputs[0], skip_special_tokens=True)
|
|
|
|
| 30 |
|
| 31 |
# ูุงุฌูุฉ Gradio
|
| 32 |
demo = gr.Interface(
|
|
|
|
| 36 |
gr.Radio(choices=list(models.keys()), label="ุงุฎุชุฑ ุงููู
ูุฐุฌ")
|
| 37 |
],
|
| 38 |
outputs=gr.Code(label="ุงูููุฏ ุงููุงุชุฌ"),
|
| 39 |
+
title="Code Generation with Open AI Models",
|
| 40 |
+
description="ุงุฎุชุฑ ูู
ูุฐุฌูุง ู
ูุชูุญูุง ูุฃุฏุฎู ูุตููุง ููุชู
ุชูููุฏ ุงูููุฏ ุชููุงุฆููุง"
|
| 41 |
)
|
| 42 |
|
| 43 |
demo.launch()
|
| 44 |
+
|