개발자/프롬프트 엔지니어링 6

LLM 기반 챗봇 기술 조사 및 구현 접근 방법

요약 대규모 언어 모델(LLM)을 활용한 챗봇은 높은 잠재력을 가지고 있지만, 정보 부족과 환각 문제로 인해 제한된 답변 능력을 보이는 문제점이 존재합니다. RAG 모델과 같은 텍스트 생 성 작업을 수행하는 모델은 주어진 소스 데이터로부터 정보를 검색하고 해당 정보를 활용하 여 원하는 텍스트를 생성하는 과정을 통해 이러한 문제를 해결할 수 있습니다. 기술적 접근 1. 검색 가능한 청크 생성: 소스 데이터를 작은 단위인 청크로 분할하여 정보 검색의 기본 단위로 활용합니다. 이는 문장 또는 문단과 같은 텍스트 조각을 의미합니다. 2. 임베딩: 텍스트를 벡터 형태로 변환하는 과정을 통해, 텍스트 데이터를 수치화된 벡터로 전환합니다. 3. 벡터 데이터베이스 구축: 벡터 공간에서 각 청크의 위치를 나타내며, 검색..

프롬프트 엔지니어링(5) - 좋은 프롬프트 만들기

1. 좋은 프롬프트 만들기 보통 프롬프트 엔지니어링을 할때 가장 어려워 하는 부분은 6번과 7번 부분이라고 한다. 즉, 6번과 7번 중 7번을 적용한 프롬프트를 제작한다면 위와 같은 형식이 된다. 개발자들은 굉장히 많이 봤을 법한 JSON 형식으로 프롬프트를 작성하는 것이 중요하다. 하지만, 가장 중요한것은 반복 반복이 가장 중요한데, 금요일 오프라인 수업에서 실제로 랭체인등을 사용해서 프롬프트를 작성해봤을때, 작성할때마다 다른 답안을 도출했다. 다른 답안을 제어하기 위해서 Temparature 등을 조절해보고, 문구를 바꿔보고 컨텍스트를 수정하는 작업을 지속적으로 거쳤다. 실제로, 유능한 프롬프트 엔지니어들이 짧은 구문을 작성하는데 몇시간씩 소요된다고 한다. 즉, 반복을 통해 할루시네이션을 제어하고 원..

프롬프트 엔지니어링(4) - 프롬프트 디자인(구성요소와 예시를 기준으로)

가. 프롬프트 구성 요소 Role - 답변자로써 페르소나를 설정(ex - 당신은 친절한 역사선생님입니다.) Audience - 답변의 대상이 되는 특정 인구, 그룹, 또는 개인의 페르소나(ex - 초등학생을 위한 역사 설명을 해주세요) knowledge(Information) - 답변에 참고할 정보 / 사용자의 질문에 해당하는 정보를 DB나 검색엔진 등에서 가져와서 삽입 Task - 수행해야 하는 특정 작업이나 목표 Policy(Rule) - 응답을 만들 때 따라야 하는 특정 정책이나 규칙 Policy(Rule) - Style - 응답에 사용해야 할 특정 톤, 유머, 감정 등의 스타일 Policy(Rule) - Constraint - 응답이 따라야 하는 특정 제한 사항이나 조건(3분안에 읽을 수 있게 해..

프롬프트 엔지니어링(3) - 검색엔진의 진화 Vector Search

가. Vector Search란? AI 및 머신 러닝 분야에서 중요한 개념으로, 특히 검색 엔진 및 추천 시스템에서 매우 중요한 역할을 합니다. Vector Search의 기본 개념 : Vector Search는 데이터를 수치적 벡터로 표현하고, 이러한 벡터들 사이의 유사성을 계산하여 관련된 정보를 검색하는 기술입니다. 이는 텍스트, 이미지, 오디오 등 다양한 형태의 데이터에 적용될 수 있습니다. 벡터 공간 모델(Vector Space Model) : 이 모델은 데이터를 고차원 벡터 공간에 매핑하여, 쿼리와 문서(또는 다른 데이터 형식)간의 유사성을 계산합니다. 각 차원은 특정 특징을 나타냅니다. 유사성 측정 방법: 벡터 간 유사성은 주로 코사인 유사도(Cosine Similarity)같은 방법으로 측정..

프롬프트 엔지니어링(2) - 개요

본 블로그 포스트는 The RED : 프롬프트 엔지니어링, LLM(ChatGPT) 기반의 AI 서비스 개발의 강의의 내용을 복습하는 목적으로 만들어졌습니다. 1.프롬프트 엔지니어링이란? 2. 프롬프트 엔지니어링의 중점 보통 프롬프트 엔지니어링이라 하면 생성에 초점을 맞추게 됩니다. 하지만, 가장 중요한 부분은 어떤 정보를 이용하고 어떻게 조합할지 이것이 프롬프트 엔지니어링의 핵심입니다. 최종적으로 프롬프트 엔지니어링으로 이루고자 하는 목표는 바로 초개인화된 프로그램을 만드는 것입니다. 즉, 프롬프트를 가지고 바로 답변을 하는 것이 아닌 사용자가 원하는 내용을 정확히 찾아와서 사용자가 요청한 내용을 합쳐서 사용자가 원하는 정확한 정보를 제공하는 이것이 프롬프트 엔지니어링의 가장 중요한 부분입니다. 3. 생..

프롬프트 엔지니어링의 기초 (1) Rule-Base AI , Machine Learning

Rule-Based AI 란? 규칙 기반 시스템은 자신의 할 일만 하도록 프로그래밍 된 시스템 Machine Learning 라벨링 안된 데이터 등으로 업무를 해석하고 분류하고 수행하는 프로그래밍 위 말로 바로 이해하기 어려우니 아래 그림과 같이 설명하겠다. 예를 들어, 위 사진과 같이 인간이 오렌지의 특징을 기술하면 AI가 오렌지라고 인식하는 Rule-base AI와 오렌지 사진을 보고 오렌지라 말해주면 그 특징을 기술하는 것이 Machine Learning 이다. 위와 같이 다른 형태의 오렌지를 인식하고 싶을경우 Rule-base에서는 직접 찾아서 입력해야하는 반면 Machine Learning에서는 이것도 오렌지야라고 학습시킬 시 AI가 사진에서 오렌지의 특징을 학습하는 것이다. 그렇다면 Unsup..