import streamlit as st import random import time from openai import OpenAI import pandas as pd import elemeta.nlp.runners.metafeature_extractors_runner as metafeature_extractors_runner from elemeta.nlp.runners.metafeature_extractors_runner import MetafeatureExtractorsRunner from elemeta.nlp.extractors.high_level.text_length import TextLength from elemeta.nlp.extractors.high_level.text_complexity import TextComplexity from elemeta.nlp.extractors.high_level.word_count import WordCount from elemeta.nlp.extractors.high_level.detect_language_langdetect import DetectLanguage from elemeta.nlp.extractors.high_level.sentiment_polarity import SentimentPolarity from elemeta.nlp.extractors.high_level.toxicity_extractor import ToxicityExtractor runner = MetafeatureExtractorsRunner(metafeature_extractors=[TextLength(),WordCount(),DetectLanguage() ,SentimentPolarity(),TextComplexity(),ToxicityExtractor()]) def ask_gpt(messages,model="gpt-3.5-turbo"): ret = client.chat.completions.create(model=model, messages=messages ) return ret.choices[0].message.content client = OpenAI() st.title("GPT Chatbot") system_prompt = st.text_input("Enter your system's prompt",value="Translate the following into russian") user_prompt = st.text_input("Enter your user's prompt",value="Hello, how are you?") messages = [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt} ] output = ask_gpt(messages) st.header("Output") st.write(output) st.header("Metafeatures") df = pd.DataFrame([ runner.run(system_prompt), runner.run(user_prompt), runner.run(output)]) df["prompt"] = ["system","user","output"] df = df.set_index("prompt") st.dataframe(df)