import os from dotenv import load_dotenv from langchain_google_genai import GoogleGenerativeAI # Load environment variables load_dotenv() def get_scenario_based_response(scenario_description): """ Generate a Constitution of India based legal analysis for a given scenario. """ # Get API key from environment or Streamlit secrets api_key = os.getenv("GOOGLE_API_KEY") if not api_key: return "Error: Google API Key not found. Please configure the API key in the application settings." try: llm = GoogleGenerativeAI(model="gemini-1.5-flash", api_key=api_key) prompt = f""" You are a Constitutional law expert specializing in the Constitution of India. Analyze the following scenario and provide a factual, unbiased explanation: Scenario: {scenario_description} Your response should include: 1. Relevant Articles, Schedules, or Amendments (cite exact numbers and names). 2. Explanation of how they apply to the scenario. 3. Possible legal interpretations or outcomes. 4. Any relevant Supreme Court or High Court precedents (if applicable). 5. Limitations or areas of uncertainty in constitutional interpretation. Use clear, simple language so a non-lawyer can understand. Format the answer with clear headings and bullet points. """ response = llm.invoke(prompt) return response if isinstance(response, str) else str(response) except Exception as e: return f"Error generating response: {str(e)}" if __name__ == "__main__": scenario = "A state government passes a law restricting online speech criticizing its ministers, citing maintenance of public order. Is this constitutional?" print(get_scenario_based_response(scenario))