|
import json |
|
|
|
import gradio as gr |
|
|
|
from modules import shared |
|
from modules.text_generation import generate_reply |
|
|
|
|
|
def generate_reply_wrapper(string): |
|
generate_params = { |
|
'do_sample': True, |
|
'temperature': 1, |
|
'top_p': 1, |
|
'typical_p': 1, |
|
'repetition_penalty': 1, |
|
'encoder_repetition_penalty': 1, |
|
'top_k': 50, |
|
'num_beams': 1, |
|
'penalty_alpha': 0, |
|
'min_length': 0, |
|
'length_penalty': 1, |
|
'no_repeat_ngram_size': 0, |
|
'early_stopping': False, |
|
} |
|
params = json.loads(string) |
|
for k in params[1]: |
|
generate_params[k] = params[1][k] |
|
for i in generate_reply(params[0], generate_params): |
|
yield i |
|
|
|
|
|
def create_apis(): |
|
t1 = gr.Textbox(visible=False) |
|
t2 = gr.Textbox(visible=False) |
|
dummy = gr.Button(visible=False) |
|
|
|
input_params = [t1] |
|
output_params = [t2] + [shared.gradio[k] for k in ['markdown', 'html']] |
|
dummy.click(generate_reply_wrapper, input_params, output_params, api_name='textgen') |
|
|