강의(2025 09 01)
RAG : 회사의 데이터를 학습이 아닌 검색 서버를 만들어 데이터 생성 가능함
이제는 ai agent의 등장으로 이곳에 포괄됨
다운스트림
파인 튜닝이라고도 하며, 내가 가진 데이터로 대 학습 시키는 것, 기능특화
현재 대한민국에서는 네이버 정도만 하고 있음
경량 LLM은 4gbyte면 돌릴수 있음
from openai import OpenAI
import gradio as gr
client = OpenAI()
def predict(message, history):
history_openai_format = []
for human, assistant in history:
history_openai_format.append({"role": "user", "content": human })
history_openai_format.append({"role": "assistant", "content":assistant})
history_openai_format.append({"role": "user", "content": message})
response = client.chat.completions.create(model='gpt-4o-mini',
messages= history_openai_format,
temperature=1.0,
stream=True)
partial_message = ""
for chunk in response:
if chunk.choices[0].delta.content is not None:
partial_message = partial_message + chunk.choices[0].delta.content
yield partial_message
gr.ChatInterface(predict).launch()
temperature=1.0이 부분이 AI 환각과 관련된것으로 적을수로 환각이 적음 하지만 0이면 항상 같은 답만 나옴 우리가 사용하는 모델들은 0.7정도로 적용되어 있음
프롬포트 엔지니어링 개요
openai는 시스템 프롬프트가 어디 있든 얼마나 있든 상관 없으나 네이버의 것은 꼭 최 상단에 아무리 길더라도 한 문장으로 작성해야 함
assistant 프롬프트는 답변 방식을 가르치기 위해 사용 user와 assistant를 합쳐서 쌍으로 학습시킴
파인튜닝 할빠에 경량 모델 받아서 거기에 학습을 시키는 것이 나음
함수호출
ChatGPT는 구 버전 함수 호출을 사용해도 되나, 네이버는 필수적으로 신버전 함수를 사용해야 함
멀티 스탭: 한번의 대화하면 DB를 거쳐서 답을줌
멀티톤 :한번의 질문에 정보가 얻어 보냄
기존 템플릿은 실시간 정보를 받을수 없음 그래서 함수 호출 방식으로 원하는 실시간 데이터를 가져와 사용함
funsion 양식
# 구 버젼은 funtions이나 신버젼은 tools임
functions = [
{
"name": "get_weather",
"description": "지정된 도시에 대해 날씨 정보를 제공하는 함수",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "도시",
},
},
"required": ["city"]
},
},
]
tools에
"city": {
"type": "string",
"description": "사용자가 입력한 도시",
},
"location": {
"type": "string",
"description": "사용자가 입력한 도시의 위도, 경도",
},
description에 설명을 추가하면 GPT가 알아서 빈 칸을 채워줌
이메일 발송 테스트
앱 비번은 구글 계정 비번이 아니고 , 구글 계정에서 앱 비밀번호를 검색하여 아무 이름이나 집어 넣어 이메일을 쓰면됨
해당 코드들을 개인 컴퓨터로 돌리게 된다면 외부 접속이 되지 않음
이 경우 gabia의 컨테이너 호스팅을 사용하여 베이직(달 5,000원)으로 서버를 돌릴 수 있음(속도는 빠르나 해킹에 취약함)
sql은 깊게 파면 매우 어렵고, 수요는 많지만 공급이 매우 적어서 이 분야도 추천함
글로벌 기업은 블로그나 유튜브로 주로 뽑음 ms는 추천제 글로벌 기업은 학벌을 잘 안봄 무조건 실력 우선임 본인은 배우고자 ms직원 찾아간 케이스지만 대체로 다른 직원들은 블로그 특채임 본인이 강의 유튜브 채널 2개 돌리는데 해커스에서 클래스 101영상 올리자고 연락옴
그러니 유튜브나 블로그를 잘해라
멀티 스탭은 질문에 대해서 chat가 답을 하고 그 답을 gpt가 받아서 db를 확인하는 것이지만
멀티턴의 핵심은 사용자에게 지식을 요청하고 모든 지식이 충족될때까지 계속 반복함
멀티스탭이나 다른 예제에서는 함수를 실행 시키고 그 후 gpt 동작하지만
이전과 다르게 모든 정보를 모으면 그 후에 함수를 발생시킴