Spaces:
No application file
No application file
File size: 1,572 Bytes
dc6e5a8 | 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | """
Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro
Objetivo: Aqui vamos aprender a usar a API da OpenAI.
Através do Swagger - Uvicorn vamos
a realizar algumas queries e testar a plataforma da
OpenAI 🤗.
"""
import os
import openai
from dotenv import load_dotenv, find_dotenv
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI(title='🤗 Fazendo queries à API da OpenAI 🤗',
version='1.0.0',
description="""Data Scientist.: PhD. Eddy Giusepe Chirinos Isidro""")
# Configuração da OpenAI:
_ = load_dotenv(find_dotenv()) # read local .env file
openai.api_key = os.getenv('OPENAI_API_KEY')
# Classe para nossa entrada:
class QueryRequest(BaseModel):
query: str
# Rota de teste para verificar se a API está em execução:
@app.get("/")
def root():
return {"message": "API da OpenAI está em execução 🤗!"}
# Rota para obter a resposta:
@app.post("/get_completion")
def get_completion(query_request: QueryRequest):
query = query_request.query
messages = [{"role": "user", "content": query}]
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0
)
return {"Resposta": response.choices[0].message["content"]}
# Podemo executar assim, no terminal:
# $ uvicorn main-2:app --host 0.0.0.0 --port 8000 --reload
# ou assim:
# Executar a API usando o servidor Uvicorn:
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000, reload=True)
|