Spaces:
Sleeping
Sleeping
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) | |