Spaces:
Runtime error
Runtime error
File size: 1,699 Bytes
cd4e5ff | 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 | 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(user_prompt):
system_prompt=personalities[persona]
response=client.models.generate_content(
model="gemini-2.0-flash",
config=types.GenerateContentConfig(
system_instruction=system_prompt,
temperature=0.4,
max_output_tokens=2000
),
contents=user_prompt
)
return response
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)
|