Spaces:
Running
Running
| from fastapi import FastAPI, HTTPException | |
| from pydantic import BaseModel | |
| import os | |
| import requests | |
| app = FastAPI() | |
| API_KEY = os.environ.get('GEMINI_KEY') # This gets the secret | |
| class ChatRequest(BaseModel): | |
| message: str | |
| context: str | |
| async def chat_endpoint(request: ChatRequest): | |
| try: | |
| response = requests.post( | |
| "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent", | |
| params={"key": API_KEY}, | |
| json={ | |
| "contents": [{ | |
| "parts": [{ | |
| "text": f"Using this context: {request.context[:3000]}\nAnswer: {request.message}" | |
| }] | |
| }] | |
| } | |
| ) | |
| return response.json() | |
| except Exception as e: | |
| raise HTTPException(status_code=500, detail=str(e)) |