The AI utilities module provides three main functions for interacting with Google’s Gemini API, each optimized for different use cases in Africa’s Talking applications.
prompt (str) - The question or instruction to send to Gemini
model (str, optional) - The model to use (defaults to DEFAULT_MODEL)
Returns:
str - Plain text response from Gemini
Example:
from utils.ai_utils import ask_gemini# Simple questionresponse = ask_gemini("What is the capital of Kenya?")print(response) # "Nairobi"# With a specific modelresponse = ask_gemini( "Explain photosynthesis in one sentence", model="gemini-2.0-pro")
prompt (str) - The question or instruction to send to Gemini
model (str, optional) - The model to use (defaults to DEFAULT_MODEL)
output_format (str, optional) - Desired format: "json", "xml", or custom (defaults to "json")
Returns:
str - Structured response in the requested format
Example (JSON):
from utils.ai_utils import ask_gemini_structuredimport json# Request JSON responseresponse = ask_gemini_structured( "List 3 African countries with their capitals", output_format="json")data = json.loads(response)print(data)# {# "countries": [# {"name": "Kenya", "capital": "Nairobi"},# {"name": "Nigeria", "capital": "Abuja"},# {"name": "South Africa", "capital": "Pretoria"}# ]# }
Example (XML):
# Request XML responseresponse = ask_gemini_structured( "Create a menu with 3 food items", output_format="xml")print(response)# <menu># <item>Pizza</item># <item>Pasta</item># <item>Salad</item># </menu>