File size: 1,623 Bytes
d3eb24e
2127b3a
1b66d72
 
937508d
d3eb24e
 
 
 
1b66d72
96fc8e0
f367b26
 
be4eb16
1923e06
5ab1205
8058b49
1879b14
1b66d72
 
5ab1205
1b66d72
 
5ab1205
 
 
 
 
 
 
 
 
1b66d72
 
1923e06
1b66d72
 
 
11e83c5
2127b3a
11e83c5
1b66d72
11e83c5
1b66d72
 
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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"}