Spaces:
Sleeping
Sleeping
File size: 1,678 Bytes
2057855 d6c76ba 2057855 d6c76ba 2057855 d6c76ba 2057855 0925637 febe12b d6c76ba eab78ac d6c76ba eab78ac d6c76ba |
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 47 |
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 ensure_genai():
if genai is None:
raise ImportError(
"google-generativeai is not installed. Please add it to requirements.txt and re-deploy."
)
def gemini_generate(prompt, model="gemini-1.5-pro"):
"""
Simple Gemini text completion for Q&A or summarization.
"""
ensure_genai()
api_key = get_gemini_api_key()
if not api_key:
raise RuntimeError("Gemini API key not set in Streamlit secrets or environment variable.")
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_generate_code(system_instruction, user_prompt, model="gemini-1.5-pro"):
"""
Use Gemini for code generation (NO explicit system/user roles allowed in public API).
Concatenates system_instruction + user_prompt into a single prompt string.
"""
ensure_genai()
api_key = get_gemini_api_key()
if not api_key:
raise RuntimeError("Gemini API key not set in Streamlit secrets or environment variable.")
genai.configure(api_key=api_key)
model_obj = genai.GenerativeModel(model)
prompt = f"{system_instruction.strip()}\n\n{user_prompt.strip()}"
response = model_obj.generate_content(prompt)
return response.text if hasattr(response, "text") else str(response)
|