import os import streamlit as st try: import google.generativeai as genai except ImportError: genai = None def get_gemini_api_key(): if hasattr(st.secrets, "GEMINI_API_KEY"): return st.secrets["GEMINI_API_KEY"] return os.getenv("GEMINI_API_KEY") def gemini_generate_code(prompt, model="gemini-1.5-pro"): api_key = get_gemini_api_key() if not api_key: raise RuntimeError("Gemini API key not set!") if genai is None: raise ImportError("Please install google-generativeai!") genai.configure(api_key=api_key) model_obj = genai.GenerativeModel(model) response = model_obj.generate_content(prompt) return response.text if hasattr(response, "text") else str(response) def gemini_explain_code(code, model="gemini-1.5-pro"): # Ask Gemini to explain code in plain English explanation_prompt = ( "Explain step-by-step, in clear language, what this Python MCP server code does, and draw a high-level block diagram in Mermaid format:\n\n" + code ) return gemini_generate_code(explanation_prompt, model)