Spaces:
Sleeping
Sleeping
File size: 3,567 Bytes
75197d8 3dec2d1 1c8febf 0cc2838 5e3b1a8 75197d8 bba0271 1588190 5e3b1a8 1588190 7c1c1eb 1c8febf 7c1c1eb 1588190 1c8febf 68394f9 1c8febf 3dec2d1 5f283d9 68394f9 759a131 68394f9 9a78c86 68394f9 1c8febf 3dec2d1 5e06490 759a131 3dec2d1 759a131 e840be8 3dec2d1 b83ba99 3dec2d1 bbef3ac 5e06490 759a131 dd62ca3 4c97ef8 1c8febf 759a131 3dec2d1 759a131 9a78c86 3dec2d1 1588190 0cc2838 95c5c80 1588190 3e6cabd 95c5c80 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
from random import randint
from transformers import pipeline, set_seed
import requests
import gradio as gr
# # from transformers import AutoModelForCausalLM, AutoTokenizer
# stage, commit, push
# # prompt = "In a shocking finding, scientists discovered a herd of unicorns living in a remote, " \
# # "previously unexplored valley, in the Andes Mountains. Even more surprising to the " \
# # "researchers was the fact that the unicorns spoke perfect English."
# ex=None
# try:
# from transformers import AutoModelForCausalLM, AutoTokenizer
# tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-j-6B")
# # "EluttherAI" on this line and for the next occurence only
# # tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-j-6B")
# # model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-j-6B")
# except Exception as e:
# ex = e
temperature = gr.inputs.Slider(
minimum=0, maximum=1.5, default=0.8, label="temperature")
top_p = gr.inputs.Slider(minimum=0, maximum=1.0,
default=0.9, label="top_p")
# gradio checkbutton
generator = pipeline('text-generation', model='gpt2')
title = "GPT-J-6B"
examples = [
# another machine learning example
[["For today's homework assignment, please describe the reasons for the US Civil War."], 0.8, 0.9, 50, "GPT-2"],
[["In a shocking discovery, scientists have found a herd of unicorns living in a remote, previously unexplored valley, in the Andes Mountains. Even more surprising to the researchers was the fact that the unicorns spoke perfect English."], 0.8, 0.9, 50, "GPT-2"],
[["The first step in the process of developing a new language is to invent a new word."], 0.8, 0.9, 50, "GPT-2"],
]
def f(context, temperature, top_p, max_length, model_idx):
try:
# maybe try "0" instead or 1, or "1"
# use GPT-J-6B
if model_idx == 0:
# http://api.vicgalle.net:5000/docs#/default/generate_generate_post
# https://pythonrepo.com/repo/vicgalle-gpt-j-api-python-natural-language-processing
payload = {
"context": context,
"token_max_length": max_length, # 512,
"temperature": temperature,
"top_p": top_p,
}
response = requests.post(
"http://api.vicgalle.net:5000/generate", params=payload).json()
return response['text']
else:
# use GPT-2
#
set_seed(randint(1, 2**31))
# return sequences specifies how many to return
json = generator(context, max_length=max_length, top_p=top_p, temperature=temperature, num_return_sequences=1)
return json['generated_text']
# args found in the source: https://github.com/huggingface/transformers/blob/27b3031de2fb8195dec9bc2093e3e70bdb1c4bff/src/transformers/generation_tf_utils.py#L348-L376
except Exception as e:
return f"error with idx{model_idx} : \n"+str(e)
iface = gr.Interface(f, [
"text",
temperature,
top_p,
gr.inputs.Slider(
minimum=20, maximum=512, default=30, label="max length"),
gr.inputs.Dropdown(["GPT-J-6B", "GPT-2"], type="index", label="model"),
], outputs="text", title=title, examples=examples)
iface.launch() # enable_queue=True
# all below works but testing
# import gradio as gr
# gr.Interface.load("huggingface/EleutherAI/gpt-j-6B",
# inputs=gr.inputs.Textbox(lines=10, label="Input Text"),
# title=title, examples=examples).launch();
|