Spaces:
Runtime error
Runtime error
import streamlit as st | |
import requests | |
import time | |
from ast import literal_eval | |
def infer(prompt, | |
model_name, | |
max_new_tokens=10, | |
temperature=0.0, | |
top_p=1.0, | |
num_completions=1, | |
seed=42, | |
stop="\n"): | |
model_name_map = { | |
"GPT-JT-6B-v1": "Together-gpt-JT-6B-v1", | |
} | |
my_post_dict = { | |
"type": "general", | |
"payload": { | |
"max_tokens": int(max_new_tokens), | |
"n": int(num_completions), | |
"temperature": float(temperature), | |
"top_p": float(top_p), | |
"model": model_name_map[model_name], | |
"prompt": [prompt], | |
"request_type": "language-model-inference", | |
"stop": stop.split(";"), | |
"best_of": 1, | |
"echo": False, | |
"seed": int(seed), | |
"prompt_embedding": False, | |
}, | |
"returned_payload": {}, | |
"status": "submitted", | |
"source": "dalle", | |
} | |
job_id = requests.post("https://planetd.shift.ml/jobs", json=my_post_dict).json()['id'] | |
for i in range(100): | |
time.sleep(1) | |
ret = requests.get(f"https://planetd.shift.ml/job/{job_id}", json={'id': job_id}).json() | |
if ret['status'] == 'finished': | |
break | |
return ret['returned_payload']['result']['inference_result'][0]['choices'][0]['text'] | |
st.title("GPT-JT") | |
col1, col2 = st.columns([1, 3]) | |
with col1: | |
model_name = st.selectbox("Model", ["GPT-JT-6B-v1"]) | |
max_new_tokens = st.text_input('Max new tokens', "10") | |
temperature = st.text_input('temperature', "0.0") | |
top_p = st.text_input('top_p', "1.0") | |
num_completions = st.text_input('num_completions (only the best one will be returend)', "1") | |
stop = st.text_input('stop, split by;', r'\n') | |
seed = st.text_input('seed', "42") | |
with col2: | |
s_example = "Please answer the following question:\n\nQuestion: Where is Zurich?\nAnswer:" | |
prompt = st.text_area( | |
"Prompt", | |
value=s_example, | |
max_chars=4096, | |
height=400, | |
) | |
generated_area = st.empty() | |
generated_area.text("(Generate here)") | |
button_submit = st.button("Submit") | |
if button_submit: | |
generated_area.text(prompt) | |
report_text = infer( | |
prompt, model_name=model_name, max_new_tokens=max_new_tokens, temperature=temperature, top_p=top_p, | |
num_completions=num_completions, seed=seed, stop=literal_eval("'''"+stop+"'''"), | |
) | |
generated_area.text(prompt + report_text) | |