import streamlit as st import requests import time def infer(prompt, model_name, max_new_tokens=10, temperature=0.0, top_p=1.0): 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": 1, "temperature": float(temperature), "top_p": float(top_p), "model": model_name_map[model_name], "prompt": [prompt], "request_type": "language-model-inference", "stop": None, "best_of": 1, "echo": False, "seed": 42, "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("TOMA Application") col1, col2 = st.columns([1, 3]) 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.markdown("(Generate here)") button_submit = st.button("Submit") if button_submit: with st.spinner(text="In progress.."): report_text = infer(prompt, model_name=model_name, max_new_tokens=max_new_tokens, temperature=temperature, top_p=top_p) generated_area.markdown(report_text) 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")