|
|
from fastapi import FastAPI |
|
|
from fastapi.responses import PlainTextResponse |
|
|
import requests |
|
|
import json |
|
|
import os |
|
|
|
|
|
app = FastAPI() |
|
|
|
|
|
@app.get("/") |
|
|
async def greet_json(): |
|
|
return {"gpt_4o_mini": "https://free.v36.cm/v1","hf_embedding":"https://tanbushi-embedding.hf.space/v1"} |
|
|
|
|
|
|
|
|
|
|
|
@app.post("/v1/completions") |
|
|
async def completions(qdata:dict): |
|
|
|
|
|
url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key="+os.environ.get('GEMINI_API_KEY') |
|
|
|
|
|
headers = { |
|
|
'Content-Type': 'application/text' |
|
|
} |
|
|
|
|
|
data=qdata |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
response = requests.post(url, headers=headers, data=json.dumps(data)) |
|
|
|
|
|
|
|
|
if response.status_code == 200: |
|
|
content = response.json() |
|
|
text = content['candidates'][0]['content']['parts'][0]['text'] |
|
|
return PlainTextResponse(text) |
|
|
|
|
|
else: |
|
|
|
|
|
return f"Error: {response.status_code}, {response.text}" |
|
|
|