File size: 1,645 Bytes
1cea1c2
 
 
 
7aef422
 
 
 
 
 
 
 
 
 
 
 
 
 
1cea1c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7aef422
 
 
 
 
 
 
 
 
 
d65a75a
7aef422
 
 
 
 
 
 
 
 
d65a75a
1cea1c2
d65a75a
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
56
57
58
59
60
61
62
import gradio as gr
import openai
from googletrans import Translator

import os
import openai
import gradio as gr

#if you have OpenAI API key as an environment variable, enable the below
#openai.api_key = os.getenv("OPENAI_API_KEY")

#if you have OpenAI API key as a string, enable the below
openai.api_key = "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"

start_sequence = "\nAI:"
restart_sequence = "\nHuman: "

prompt = "Imagination is the limit!!"
def GPT3_Completion(prompt):
  # translate the prompt to English
  translator = Translator()
  prompt_english = translator.translate(prompt, dest='en').text
  
  openai.api_key = "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"
  response = openai.Completion.create(
  engine="text-davinci-002",
  prompt =  prompt_english,
  temperature=0.7,
  max_tokens=3500 ,
  top_p=1,
  frequency_penalty=0,
  presence_penalty=0
  )
  
  # translate the response to Spanish
  response_spanish = translator.translate(response['choices'][0]['text'], dest='es').text
  
  return response_spanish

def chatgpt_clone(input, history):
    history = history or []
    s = list(sum(history, ()))
    s.append(input)
    inp = ' '.join(s)
    output = GPT3_Completion(inp)
    history.append((input, output))
    return history, history


block = gr.Blocks()


with block:
    gr.Markdown("""<h1><center>Chatbot with OpenAI API & Gradio</center></h1>
    """)
    chatbot = gr.Chatbot()
    message = gr.Textbox(placeholder=prompt)
    state = gr.State()
    submit = gr.Button("SEND")
    submit.click(chatgpt_clone, inputs=[message, state], outputs=[chatbot, state],api_name="True")

block.launch()