File size: 1,852 Bytes
00328e0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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)