File size: 862 Bytes
2c72ae7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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

@app.post("/chat")
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))