728x90
반응형
SMALL
ㅁ 개요
O 프로젝트 소개
- 이번 글은 이전글(메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 3. colab에서 모델 튜닝 및 다운로드하기)에 이은 5번째 글로 이전글에서 다운로드한 튜닝 모델을 사용하여 파이썬으로 ai챗봇을 만드는 방법에 대하여 알아보겠습니다.
이를 응용하면 우리는 기업에서도 기업 내부자료의 유출을 걱정할 필요없이 폐쇄망(인터넷X)에서도 AI챗봇을 사용할 수 있게 되어 업무 효율성을 크게 높일 수 있을 것입니다.
O 완성된 프로그램 실행 화면
- 조각 모델들을 모두 다운로드 하였으나, 실제 구동하는데 실패하였습니다.
모델을 로드하고 실행하기 위해서는 엄청난 고 사양이 필요하며, 일반 PC나 노트북에서는 사실상 불가능 합니다. ㅠㅠ
ㅁ 세부 내용
O 완성된 소스
아래와 같은 소스로 서버를 띄우고 클라이언트에서 응답을 요청할 수 있습니다. 다만, 구동이 안된다는 게 함정입니다. ㅠㅠ
소스파일 : server.py
from flask import Flask, request, jsonify
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
app = Flask(__name__)
# 모델 로드
model_dir = "./fine_tuned_llama" # 폴더로 지정(파일X)
model = AutoModelForCausalLM.from_pretrained(model_dir)
tokenizer = AutoTokenizer.from_pretrained(model_dir)
@app.route('/generate', methods=['POST'])
def generate_text():
# 요청에서 입력 텍스트를 가져옴
input_text = request.json.get('text', '')
# 입력 텍스트 토큰화
inputs = tokenizer(input_text, return_tensors="pt")
# 모델을 통해 텍스트 생성
with torch.no_grad():
outputs = model.generate(**inputs, max_length=100)
# 생성된 텍스트 디코딩
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return jsonify({'generated_text': generated_text})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
소스파일 : client.py
import requests
import json
# API 엔드포인트 URL
url = "http://localhost:5000/generate"
# 요청에 포함할 텍스트
input_text = "who are you?"
# POST 요청 데이터
data = {
"text": input_text
}
# HTTP POST 요청 보내기
response = requests.post(url, json=data)
# 응답 확인
if response.status_code == 200:
result = response.json()
generated_text = result['generated_text']
print("생성된 텍스트:", generated_text)
else:
print("오류 발생:", response.status_code)
print(response.text)
O 소스 실행 방법
- 소스파일 다운로드 후 cmd 또는 파워쉘 등에서 아래와 같이 실행하시기 바랍니다.
> python server.py
-server.py 서버에 API 요청 보내기
>curl -X POST http://localhost:5000/generate \
-H "Content-Type: application/json" \
-d '{"text": "Once upon a time,"}'
-H "Content-Type: application/json" \
-d '{"text": "Once upon a time,"}'
-Postman 에서
1. POST 요청을 http://localhost:5000/generate로 설정.
2. Body 탭에서 raw 선택 후 JSON 형식으로 설정.
3. 요청 본문에 {"text": "Once upon a time,"} 입력.
2. Body 탭에서 raw 선택 후 JSON 형식으로 설정.
3. 요청 본문에 {"text": "Once upon a time,"} 입력.
서버는 응답으로 생성된 텍스트를 반환
ㅁ 정리
O 우리가 배운 내용
- 오늘은 이전글에서 다운로드한 튜닝 모델을 사용하여 파이썬으로 ai챗봇을 만드는 방법에 대하여 알아보았으나, 실제 구동 시 자원부족으로 실행화면을 보지 못했습니다.
다음 글에서는 튜닝된 모델을 구동하기 위해 다른 아이디어를 생각해 냈으며, 이 방법으로 실행 가능한지 살펴보도록 하겠습니다.
오늘은 여기까지이며, 위의 내용이 유익하셨다면, 광고 한번씩만 클릭 부탁드립니다.
감사합니다.
728x90
반응형
LIST
'파이썬 AI 실습 > 메타의 라마(llama) 파인튜닝(전문가GPT) 하기' 카테고리의 다른 글
메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 5. colab에서 튜닝된 모델 사용해 보기 (0) | 2024.08.18 |
---|---|
메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 3. colab에서 모델 튜닝 및 다운로드하기 (0) | 2024.08.18 |
메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 2.허깅페이스 준비하기 (0) | 2024.08.18 |
메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 1.구글 colab 준비하기 (0) | 2024.08.18 |
메타의 라마(llama) 파인튜닝(전문가GPT) 하기 - 0.소개 (0) | 2024.08.18 |