omrihaber
init
00328e0
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)