fastapi / app.py
tanbushi's picture
Update app.py
96fc8e0 verified
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"}
# url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?key="+os.environ.get('GEMINI_API_KEY')
# return url
@app.post("/v1/completions")
async def completions(qdata:dict):
# url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?key="+os.environ.get('GEMINI_API_KEY')
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
# data = {
# "contents": [{
# "role": "user",
# "parts":[{
# "text": qstr
# }]
# }]
# }
# 发送 POST 请求
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)
# print(content['candidates'][0]['content'])
else:
# print(f"Error: {response.status_code}, {response.text}")
return f"Error: {response.status_code}, {response.text}"
# return {"Hello": "POST World"}