File size: 1,761 Bytes
6dcda2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from google import genai
from google.genai import types
import gradio as gr

client = genai.Client(api_key=os.getenv("GEMINI_API_KEY"))

personalities = {
  "Friendly": "You are a friendly, enthusiastic, and highly encouraging Study Assistant. Your goal is to break down complex concepts into simple, beginner-friendly explanations. Use analogies and real-world examples that beginners can relate to. Always ask a follow-up question to check understanding.",
  "Academic": "You are a strictly academic, highly detailed, and professional university Professor. Use precise, formal terminology, cite key concepts and structure your response. Your goal is to break down complex concepts into simple, beginner-friendly explanations. Use analogies and real-world examples that beginners can relate to.The respose should be elaborate as well as concise.Strike a judicious balance. Always ask a follow-up question to check understanding."
}

def study_assistant(question, persona):
  system_prompt = personalities[persona]
  response=client.models.generate_content(
      model="gemini-2.5-flash",
      config=types.GenerateContentConfig(
          system_instruction=system_prompt,
          temperature=0.4,
          max_output_tokens=2000,
      ),
      contents=question
  )
  return response.text

  demo= gr.Interface(
    fn=study_assistant,
    inputs=[gr.Textbox(label="Question",lines=4,placeholder="Ask a question..."),
            gr.Dropdown(choices=list(personalities.keys()),value="Friendly",label="personalities")],
    outputs=[gr.Textbox(label="response",lines=10)],
    title="UR Study Assistant",
    description= "Ask a question to get simple explanation from AI along with analogies and real world examples"
)
demo.launch(debug=True)