백앤드
- 프론트앤드에서 요청을 받아 openai에 요청 후 리턴된 응답 값을 프론트앤드에 전달
- 개발 방안 : 파이썬의 fastapi 라이브러리를 사용
app실행 명령어 : uvicorn [파일명]:[app] --reload
ex. backend.py인 경우 uvicorn backend:app --reload
from typing import List
from fastapi import FastAPI
from pydantic import BaseModel
import openai
openai.api_key = "openai_api_key"
def chat(messages):
response = openai.Completion.create(model="davinci:ft-personal:raterteam-qa-bot-2023-06-29-06-29-10", messages=messages)
print("보낸 메세지:" , messages)
resp_dict = response.to_dict_recursive()
assistant_turn = resp_dict['choices'][0]['message']
print("받은 메세지:" , assistant_turn)
return assistant_turn # {"role": "rater_bot", "content": "blahblahblah"}
app = FastAPI()
class Turn(BaseModel):
role: str
content: str
class Messages(BaseModel):
messages: List[Turn] # [{"role": "rater_man", "content": "blahblahblah"}, {"role": "rater_bot", "content": "blahblahblah"}
@app.post("/chat", response_model=Turn)
def post_chat(messages: Messages):
messages = messages.dict()
assistant_turn = chat(messages=messages['messages'])
return assistant_turn
반응형
'배워야 산다 > OPENAI' 카테고리의 다른 글
openai - GPT4의 한계:hallucination (0) | 2023.07.13 |
---|---|
openai - 프롬프트엔지니어 (0) | 2023.07.13 |
openai - 파인튜닝:튜닝자료(jsonl) (0) | 2023.07.13 |
openai - 파인튜닝:모델명확인 (0) | 2023.07.13 |
openai.Completion.create를 사용한 예제 (0) | 2023.07.13 |