ChatGPT API-Reference
https://platform.openai.com/docs/api-reference/fine-tunes
OpenAI API
An API for accessing new AI models developed by OpenAI
platform.openai.com
ChatGPT 사용 예제
https://platform.openai.com/examples
ChatGPT 대화하기
ChatGPT Fine-Tuning 하는 방법
하단은 Openai의 Fine-tuning공식 document링크
https://platform.openai.com/docs/guides/fine-tuning
OpenAI API
An API for accessing new AI models developed by OpenAI
platform.openai.com
<조건>
1.JSONL형태의 데이터
2. 파일안에는 prompt, completion형태로 구성
3. prompt에 원하는 프롬프트 구성
4. completion은 원하는 답 형태 구성
<형태>
{"prompt": "<prompt text>"
, "completion": "<ideal generated text>"}
{"prompt": "<prompt text>"
, "completion": "<ideal generated text>"}
...
1.
openai tools fine_tunes.prepare_data -f 제이슨엘파일명
해당 명령어를 입력하면 jsonl파일을 읽어서 fine-tuning을 위한 데이터 생성 준비에 들어감.
-> 정보가 나옴
-> 명령어가 끝나면 하나의 파일이 더 생성된다.(준비된 JSONL파일)
2. base model
fine-tuning을 할 수 있는 모델은 base model을 활용.
(ada, babbage, curie, davinci모델 중 하나를 활용할 것)
3. key setting
fine-tuning은 openai의 key를 이용해야 진행가능.(요금발생!!!)
시스템적으로 openai key 세팅해야함.
4. openai api key 넣어주고, 만들었던 json파일, 베이스모델을 넣는다.
openai --api-key 발급받은키 api fine_tunes.create -t 준비된제이슨엘파일명 -m 베이스모델명
Fine-tune costs = 파인튜닝 할 때 가격 값
잘 되면 openai api completions.create가 나오고 fine-tuning과정 종료
5. Fine-tuning 모델 사용
끝나면 OpenAI 계정정보에 Fine-tune training 정보가 나온다.
Playground에 Fine-tuning model확인가능, 모델 직접 사용 가능
<가격확인>
https://platform.openai.com/account/usage
billing 에서 결제수단등록하면 된다.
데이터가 부족하면 짤릴수 있다. max_token설정 필요
Fine-tune failed. Fine-tune will exceed biling hard limit
=> 비용 limit
chatGpt에 Fine-tuning으로 학습시킨 model을 웹사이트에 넣어서 사용하기
GPT 모델을 웹사이트에 통합하려면 몇 가지 단계를 거쳐야 합니다. 먼저, Fine-tuning된 GPT 모델을 저장하고 웹 서버에서 사용할 수 있도록 모델을 불러와야 합니다. 그런 다음 웹 서버와 상호 작용하기 위한 API 엔드포인트를 설정하고, 웹 클라이언트에서 서버로 요청을 보낼 수 있는 코드를 작성해야 합니다.
다음은 간단한 Flask 웹 서버 예제를 사용하여 ChatGPT를 웹사이트에 통합하는 방법을 보여드리겠습니다. 아래 단계를 따라 진행해보세요:
1. Flask 설치하기:
pip install flask
2. Flask 애플리케이션 코드 작성하기:
from flask import Flask, request, jsonify
import openai
app = Flask(__name__)
# OpenAI API 인증 정보 설정
openai.api_key = 'YOUR_OPENAI_API_KEY'
# Fine-tuning된 GPT 모델 불러오기
model = openai.load_model('path/to/your/fine-tuned/model')
@app.route('/chat', methods=['POST'])
def chat():
# 웹 클라이언트로부터 질문을 받음
data = request.get_json()
question = data['question']
# GPT 모델에 질문을 입력하여 답변 생성
response = model.generate(prompt=question, max_length=100)
# 답변을 웹 클라이언트에게 반환
return jsonify({'answer': response.choices[0].text.strip()})
if __name__ == '__main__':
app.run()
위 코드에서 'YOUR_OPENAI_API_KEY'를 자신의 OpenAI API 키로 대체해야 합니다. 또한 `'path/to/your/fine-tuned/model'` 부분을 Fine-tuning된 GPT 모델의 경로로 변경해야 합니다.
3. 웹 서버 실행하기:
python app.py
위 명령을 실행하면 Flask 웹 서버가 실행됩니다.
4. 웹 클라이언트에서 서버로 요청 보내기:
웹 클라이언트에서 HTTP POST 요청을 통해 질문을 서버로 보내고 답변을 받을 수 있습니다. 아래는 JavaScript를 사용한 예시 코드입니다:
fetch('/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ 'question': '질문을 입력하세요.' })
})
.then(response => response.json())
.then(data => {
console.log('답변:', data.answer);
});
위 코드에서 '/chat'은 Flask 애플리케이션에서 정의한 API 엔드포인트 경로입니다. 질문을 적절히 변경
하여 요청을 보내면 서버에서 답변을 받을 수 있습니다.
이 예제는 Flask를 사용하여 간단하게 GPT 모델을 웹사이트에 통합하는 방법을 보여주었습니다. 더 복잡한 웹 애플리케이션을 구축하려면 추가적인 개발이 필요할 수 있습니다.
1. PHP를 사용한 예제:
<?php
// OpenAI API 키 설정
$apiKey = 'YOUR_OPENAI_API_KEY';
// Fine-tuning된 GPT 모델 불러오기
$modelPath = 'path/to/your/fine-tuned/model';
$model = file_get_contents($modelPath);
// 질문 받아오기
$question = $_POST['question'];
// OpenAI API로 요청 보내기
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.openai.com/v1/engines/davinci-codex/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode(array(
'prompt' => $question,
'max_tokens' => 100,
)),
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
"Authorization: Bearer $apiKey",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$answer = json_decode($response, true)['choices'][0]['text'];
// 답변 출력
echo $answer;
}
?>
위 코드에서 'YOUR_OPENAI_API_KEY'를 자신의 OpenAI API 키로 대체해야 합니다. 또한 `'path/to/your/fine-tuned/model'` 부분을 Fine-tuning된 GPT 모델의 경로로 변경해야 합니다. 이 PHP 코드를 서버 측 스크립트로 사용하여 웹사이트에서 질문을 전송하고 답변을 받을 수 있습니다.
2. TypeScript 및 HTML을 사용한 예제:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ChatGPT</title>
</head>
<body>
<h1>ChatGPT</h1>
<input type="text" id="questionInput" placeholder="질문을 입력하세요">
<button onclick="getAnswer()">질문하기</button>
<p id="answer"></p>
<script>
function getAnswer() {
const question = document.getElementById('questionInput').value;
// 질문을 서버로 보내는 AJAX 요청
const xhr = new XMLHttpRequest();
xhr.open('POST', 'path/to/your/php/script.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
const answer = xhr.responseText;
// 답변을 표시
document.getElementById('answer').innerText