Raghavan1988 commited on
Commit
4761bf9
1 Parent(s): c3ae50d

Adding OPEN AI calls

Browse files
Files changed (2) hide show
  1. app.py +26 -4
  2. requirements.txt +1 -0
app.py CHANGED
@@ -5,10 +5,12 @@ from typing import List, Tuple, Optional, Dict, Union
5
  import google.generativeai as genai
6
  import gradio as gr
7
  from PIL import Image
 
8
 
9
  print("google-generativeai:", genai.__version__)
10
 
11
  GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY")
 
12
 
13
  TITLE = """<h1 align="center">Gemini PolyGLOT that can understand languages beyond english</h1>"""
14
  SUBTITLE = """"""
@@ -32,6 +34,21 @@ IMAGE_CACHE_DIRECTORY = "/tmp"
32
  IMAGE_WIDTH = 512
33
  CHAT_HISTORY = List[Tuple[Optional[Union[Tuple[str], str]], Optional[str]]]
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  def preprocess_stop_sequences(stop_sequences: str) -> Optional[List[str]]:
37
  if not stop_sequences:
@@ -89,7 +106,8 @@ def bot(
89
  stop_sequences: str,
90
  top_k: int,
91
  top_p: float,
92
- chatbot: CHAT_HISTORY
 
93
  ):
94
  if len(chatbot) == 0:
95
  return chatbot
@@ -122,8 +140,11 @@ def bot(
122
  text_prompt = [chatbot[-1][0]] \
123
  if chatbot[-1][0] and isinstance(chatbot[-1][0], str) \
124
  else []
125
-
 
126
  model = genai.GenerativeModel('gemini-pro')
 
 
127
  response = model.generate_content(
128
  text_prompt,
129
  stream=True,
@@ -223,6 +244,7 @@ user_inputs = [
223
  text_prompt_component,
224
  chatbot_component
225
  ]
 
226
 
227
  bot_inputs = [
228
  google_key_component,
@@ -232,13 +254,13 @@ bot_inputs = [
232
  stop_sequences_component,
233
  top_k_component,
234
  top_p_component,
235
- chatbot_component
 
236
  ]
237
 
238
  with gr.Blocks() as demo:
239
  gr.HTML(TITLE)
240
  gr.HTML(SUBTITLE)
241
- language = gr.Textbox(label="description", value = "en")
242
  with gr.Column():
243
  google_key_component.render()
244
  chatbot_component.render()
 
5
  import google.generativeai as genai
6
  import gradio as gr
7
  from PIL import Image
8
+ from openai import OpenAI
9
 
10
  print("google-generativeai:", genai.__version__)
11
 
12
  GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY")
13
+ client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
14
 
15
  TITLE = """<h1 align="center">Gemini PolyGLOT that can understand languages beyond english</h1>"""
16
  SUBTITLE = """"""
 
34
  IMAGE_WIDTH = 512
35
  CHAT_HISTORY = List[Tuple[Optional[Union[Tuple[str], str]], Optional[str]]]
36
 
37
+ def translate_to_english(text):
38
+ response = client.chat.completions.create(model = "gpt-3.5-turbo",
39
+ messages = [
40
+ {"role": "system", "content": "You are a translator to English. Check if the input is in English. If the input is english DO NOTHING and return AS-IS else Translate to English"},
41
+ {"role": "user", "content": text},
42
+ ],stream = False, )
43
+ return response.choices[0].message.content
44
+
45
+ def translate_from_english(text, language):
46
+ response = client.chat.completions.create(model = "gpt-3.5-turbo",
47
+ messages = [
48
+ {"role": "system", "content": "You are a translator to " + language + " Translate english to " + language},
49
+ {"role": "user", "content": text},
50
+ ],stream = False, )
51
+ return response.choices[0].message.content
52
 
53
  def preprocess_stop_sequences(stop_sequences: str) -> Optional[List[str]]:
54
  if not stop_sequences:
 
106
  stop_sequences: str,
107
  top_k: int,
108
  top_p: float,
109
+ chatbot: CHAT_HISTORY,
110
+ language: str
111
  ):
112
  if len(chatbot) == 0:
113
  return chatbot
 
140
  text_prompt = [chatbot[-1][0]] \
141
  if chatbot[-1][0] and isinstance(chatbot[-1][0], str) \
142
  else []
143
+ if (language.startswith("en") == False):
144
+ text_prompt = [translate_to_english(text_prompt[0])]
145
  model = genai.GenerativeModel('gemini-pro')
146
+
147
+
148
  response = model.generate_content(
149
  text_prompt,
150
  stream=True,
 
244
  text_prompt_component,
245
  chatbot_component
246
  ]
247
+ language = gr.Textbox(label="description", value = "en")
248
 
249
  bot_inputs = [
250
  google_key_component,
 
254
  stop_sequences_component,
255
  top_k_component,
256
  top_p_component,
257
+ chatbot_component,
258
+ language
259
  ]
260
 
261
  with gr.Blocks() as demo:
262
  gr.HTML(TITLE)
263
  gr.HTML(SUBTITLE)
 
264
  with gr.Column():
265
  google_key_component.render()
266
  chatbot_component.render()
requirements.txt CHANGED
@@ -2,3 +2,4 @@ google-generativeai==0.3.1
2
  gradio
3
  googletrans==3.1.0a0
4
  trulens_eval==0.19.2
 
 
2
  gradio
3
  googletrans==3.1.0a0
4
  trulens_eval==0.19.2
5
+ openai===1.6.1