Spaces:
Sleeping
Sleeping
File size: 1,756 Bytes
d71d737 6350cc3 d71d737 4a5855a | 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 | from google import genai
from google.genai import types
import os
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. Always ask a follow-up question to check understanding.response should be concise"
}
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=1024,
),
contents = question
)
return response.text
demo = gr.Interface(
fn=study_assistant,
inputs=[gr.Textbox(label = "Question",lines =4 , placeholder="Ask a Question..."),
gr.Radio(label = "Personalities" , choices = list(personalities.keys()), value = 'Friendly')],
outputs = [gr.Textbox(label = "Answer", lines = 10)],
title = 'Study Assistant',
description='Ask a question to get simple explanation from AI along with analogies and real world examples'
)
demo.launch(server_name="0.0.0.0", server_port=7860)
|