m-a-d-h-a-v-i-123's picture
Upload 2 files
e7d81ec verified
raw
history blame
1.73 kB
import os
import gradio as gr
from google import genai
from google.genai import types
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.
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(lines=4, placeholder="Ask a question...", label="Question"),
gr.Radio(choices=list(personalities.keys()), value="Friendly", label="Personality")
],
outputs=gr.Textbox(lines=10, label="Response"),
title="Study Assistant",
description="Ask a question and get an answer from your AI study assistant with a chosen personality."
)
demo.launch(debug=True)