/fastApiGlish1

create ChatGPT openai api with FASTAPI

Primary LanguagePython

fastApiGlish1 | SAMGLISH

create ChatGPT openai api with FASTAPI

Pour commencer installer

  • fastapi
  • uvicorn
  • openai
  • pydantic

Installation automatique

pip install -r requirements.txt

Installation manuelle

  1. installer fastapi
pip install fastapi
  1. installer openai
pip install openai
  1. installer pydantic
pip install pydantic
  1. instaler le serveur uvicorn
pip install "uvicorn[standard]"

En ajoutant standard, Uvicorn va installer et utiliser quelques dépendances supplémentaires recommandées.Cela inclut uvloop, le remplaçant performant de asyncio, qui fournit le gros gain de performance en matière de concurrence.

Pour comprendre FastApi

nous allons commencer par quelques programmes fastapi

un programme fastapi qui prend le nom d'une personne et renvoie Hello, suivi du nom de la personne nom du fichier test1.py

from fastapi import FastAPI
app=FastAPI()
@app.post("/Accueil") 
async def hello_endpoint(name: str = 'world'):
    return {"message":f"Hello, {name}!"}

sur votre terminal lancer :

uvicorn test1:app --reload
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [149858] using watchgod
INFO:     Started server process [149872]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
^CINFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [149872]
INFO:     Stopping reloader process [149858]

allez sur votre navigateur et taper http://127.0.0.1:8000/docs/ n'oubliez pas d'ajouer docs

cliquez sur try out

Reponse du serveur

*** un programme prenant en entrée deux variables product et units

@app.post("/Detail")
async def place_holder(product:str, units:int):
    return {"message":f"Order for {units} units of {product} place successfully."}

Reponse du serveur

Revenons sur le projet principal CHATGPT

commencons par notre chatgpt dans fichier api.py

import openai
openai.api_key="Votre API-KEY"
def generate_description(input):
    messages=[
        {"Role":"System",
        "Content":"""As a product description generator, generate multi paragraph rich text product description\n"""},
    ]
    messages.append({"role":"user", "content":f"{input}"})
    completion=openai.chat.completions(
        model="gpt-3.5-turbo",
        messages=messages
    )

    reply=completion.choices[0].message.content
    return reply

pour plus de details sur open Ai cliquez ici

maintenant appelons notre fonction generate_description(input) dans le main

from fastapi import FastAPI
from pydantic import BaseModel
from api import generate_description
app=FastAPI()
class Product(BaseModel):
    name:str
    notes:str
@app.post("/IA_samglish")
async def Openai(question:str) :
    reponse=generate_description(f"name:{question.name},notes:{question.notes} ")
    return {"reponse": reponse}

lancons notre terminal

uvicorn main:app --reload

navigateur maintenant