HackRx / utils /parser.py
Anusha806
Added complete LLM Claims API project
4cccee3
# parser.py
import json
import google.generativeai as genai
import os
from dotenv import load_dotenv
load_dotenv()
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
def parse_query_with_gemini(query: str):
model = genai.GenerativeModel("models/gemini-1.5-flash-latest")
prompt = f"""
You are an intelligent insurance assistant.
Given a natural language query, extract the following fields as JSON. Do not include any explanation or extra text — just valid JSON:
- age (integer)
- gender (male/female/unknown)
- procedure (string)
- location (string)
- policy_duration_months (integer)
Query:
"{query}"
"""
try:
response = model.generate_content(prompt)
response_text = response.text.strip()
if response_text.startswith("```"):
response_text = response_text.strip("`").replace("json", "").strip()
return json.loads(response_text)
except Exception as e:
return {
"error": "Failed to parse Gemini response",
"raw_response": response.text if 'response' in locals() else str(e)
}