Spaces:
No application file
No application file
| """ | |
| 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: | |
| def root(): | |
| return {"message": "API da OpenAI está em execução 🤗!"} | |
| # Rota para obter a resposta: | |
| 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) | |