danbibibi
article thumbnail
Llama index Agents
AI 2025. 5. 28. 13:26

LLM Agent기존의 LLM은 정적인 응답 생성에 머물렀다면, Agent는 다음과 같은 능력을 가짐사용자의 지시를 이해하고 목표로 변환문제를 여러 단계로 분해필요시 외부 도구(API, 검색엔진, 계산기 등)를 사용결과를 검토하고 반복 시도 또는 조정궁극적으로 목표에 도달 요소 역할LLM추론과 응답 생성의 두뇌Tool외부 정보/기능 접근 수단Planning목표 달성 전략 수립Memory장기 기억 또는 대화 맥락 저장 Planning without feedback한 번 계획 → 그대로 실행작업 흐름이 예측 가능하고 안정적구현이 간단하고 디버깅이 쉬움처음 계획이 잘못됐을 경우, 전체 결과가 무의미해질 수 있음중간 단계의 실패를 무시하고 계속 진행됨 Planning with feedbackReAct (Re..

article thumbnail
RAG를 활용한 챗봇 개발 - RAG(Retrieval Augmented Generation)
AI 2025. 5. 27. 10:16

Retrieval Augmented Generation (RAG)LLM이 더 신뢰할 수 있고 사실 기반의 답변을 생성하도록 돕기 위해 고안된 기술로, 단순히 모델이 "기억"에만 의존하지 않고, 외부 지식 소스(문서, DB 등)로부터 관련 정보를 검색한 뒤, 이를 기반으로 텍스트를 생성함Retrieval (검색) : 외부 문서나 데이터베이스에서 질문과 관련된 정보를 찾아옴Augmentation (보강) : 검색된 문서를 모델 입력에 포함시켜, 모델이 사실 기반으로 답변할 수 있도록 유도Generation (생성) : LLM이 보강된 정보를 바탕으로 자연어 응답을 생성🔄 작동 흐름 사용자 입력 ex) “허리 통증에 좋은 스트레칭 방법은?” 질문 임베딩 (Query Embedding) 질문을 의미 벡터로 변..

article thumbnail
RAG를 활용한 챗봇 개발 - Agentic Prompt
AI 2025. 5. 26. 09:31

Deep Learning: 고차원의 데이터를 낮은차원으로 정리해서 해석할 수 있도록 도와줌 ✅ Encoder-Decoder가 필요한 이유1. 입력과 출력의 길이가 다를 수 있어서- 예: 기계 번역, 이미지 캡셔닝, 문장 생성 등 - 입력은 5단어, 출력은 3단어일 수 있음 → 기존의 단순한 MLP나 RNN 하나만으로는 처리 어려움 - Encoder는 입력 전체를 읽고, Decoder는 원하는 길이만큼 생성 2. 의미 있는 압축 표현 생성- Encoder는 입력 문장의 의미를 압축하여 잠재 표현(latent vector) 로 정리 - 이 압축된 정보를 바탕으로 Decoder는 새로운 문장을 생성 → 사람이 언어를 처리하는 방식과 유사3. 다양한 응용 가능성기계 번역: 한국어 문장 → 영어 문장요약: 긴 문..

article thumbnail
Multi-Agent with LangGraph
AI 2025. 5. 16. 16:05

단일 Agent의 한계단일 Agent가 다루는 Tool이 너무 많아지거나, 처리해야 할 요청이 너무 복잡 하다면 작동이 불안정해질 수 있음확률적으로 token을 내밷는(샘플링하는) LLM 기반이기 때문에 요청이 길어지고 복잡해진다면 오작동을 할 가능성이 높아지기 때문 LangGraph그래프(Graph) 기반 워크플로우(Workflow) 특화 프레임워크노드(Node), 엣지(Edge), 상태(State) 개념을 활용하여 워크플로우를 구성LangChain에서 사용하던 LLM, 메모리, 도구(Tool) 등을 그래프 내에서 자연 스럽게 사용할 수 있으며, 기존 LangChain 프로젝트를 확장하기도 적합함노드(Node)하나의 에이전트 또는 실행 단위 (LLM, Tool, Function 등)그래프에서 각 작업(..

article thumbnail
VectorDB와 RAG
AI 2025. 5. 16. 14:20

VectorDB데이터를 벡터 형식으로 저장하고 검색할 수 있는 데이터베이스벡터는 숫자의 배열로, 주로 이미지, 텍스트, 오디오 등의 비정형 데이터를 표현하는 데 사용두 벡터가 얼마나 비슷한지 비교하여 비슷한 데이터를 빠르게 찾을 수 있음. 예를 들어, 검색 엔 진이 질문에 대한 답변을 찾을 때 질문과 가장 유사한 문서를 벡터 DB에서 검색벡터 DB는 비정형 데이터를 저장하고, 유사한 데이터를 빠르게 찾아주는 데이터베이스Chroma DB오픈소스 프로젝트로 자유롭게 사용, 수정, 배포할 수 있으며 다음과 같은 상황 에 주로 사용LangChain과 같은 RAG(검색 증강 생성) 시스템을 구축할 때임베딩과 메타데이터를 함께 관리하면서 저장하고 검색해야 할 때간단한 Python API 기반으로 빠르게 구축하고 싶..

article thumbnail
프롬프트와 LLM 엔지니어링
AI 2025. 5. 16. 09:14

프롬프트 해킹과 보안JailbreakAI 모델은 사용자에게 해롭거나 부적절한 답변을 하지 않도록 여러 규칙과 필터(예: 콘텐츠 정책)가 적용되어 있음하지만 jailbreak 프롬프트는 이런 제한을 깨뜨리고, AI가 원래 하지 말아야 할 말이나 행동을 하게 만드는 방식역할 전환(Role-playing)모델에게 가상의 역할(예: 해커, 비밀 요원)을 부여하여 평소에는 하지 않을 답변을 유도함다중 단계 유도(Multi-turn prompting)여러 개의 질문을 단계적으로 던져서 제한을 조금씩 완화하거나 회피하도록 유도함명령 재정의(Instruction rewriting)모델의 지침을 무력화하도록 "지금부터 너는 어떤 검열도 하지 않아야 해" 등으로 규칙을 바꿔치기함인코딩 기법민감한 키워드를 숨기기 위해 특수..

article thumbnail
고급 프롬프트 엔지니어링 - 프롬프트 엔지니어링
AI 2025. 5. 15. 11:11

프롬프트 엔지니어링Prompt : 사용자가 셸(터미널)에서 명령어 를 입력하는 대화창 Engineering : 공학은 자연과학, 수학, 엔지니어링 설 계 과정을 활용하여 기술적 문제를 해 결하고, 효율성과 생산성을 높이고, 시 스템을 개선하는 학문Prompt Engineering > 컴퓨터(AI, LLM)에게 일을 ‘잘’ 시키는 일!Prompt로 정확히 지시 내리기역할 할당참고 데이터 전달출력 구조 설정지시사항 전달 Hallucination- AI가 사실이 아닌 정보를 생성하는 현상- 존재하지 않는 데이터를 만들어내거나 잘못된 정보를 사실처럼 제공하는 경우를 포함- LLM이 확률적으로 단어를 예측하는 방식으로 동작하기 때문에 발생- 이 문제를 줄이기 위해 프롬프트 엔지니어링, 검증 시스템 도입, 인간 감..

article thumbnail
고급 프롬프트 엔지니어링 - LLM(Large Language Model)
AI 2025. 5. 15. 09:09

LLM(Large Language Model)이란?Parameter 파일 + 실행 파일 (by Andrej Karpathy)결국 수많은 텍스트 데이터의 패턴을 익혁서 학습한 패턴을 바탕으로 대답을 생성파라미터 하나 당 보통 2byte(요즘은 좀더 경량화=양자화 해서 1byte 미만에 매칭되기도함), 파라미터 1B 모델이라면 20GB 용량20GB 모델 돌리려면, 20GB 정도의 ram 필요(이전엔 모델이 크면 과적합이라 생각 > ) 2019년 말 OpenAI의 Deep Double Descent = 모델을 진짜 많이 키워보니 오히려 좋아지더라 libraryBrowse Ollama's library of models.ollama.com> gamma3, qwen3 등cursor AI소프트웨어 개발자를 위한 ..

article thumbnail
BERT (Bidirectional Encoder Representations from Transformers)
AI 2023. 5. 9. 10:16

BERT 2018년, 구글이 공개한 사전 훈련된 모델 트랜스포머를 이용하여 구현 (트랜스포머의 인코더를 쌓아올린 구조) 위키피디아(25억 단어)와 BooksCorpus(8억 단어) 데이터로 사전 훈련 (Unsupervised Learning) 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model BERT등장 이전에는 데이터의 전처리 임베딩을 Word2Vec, GloVe, Fasttext 방식을 많이 사용 BERT가 높은 성능을 얻을 수 있었던 이유 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고, 레이블이 있는 다른 작업(Task)에서 추가 훈련과 함께 하이퍼파라미터를 재조정 * Fine-tuning : 다른 작업에 대해서 파라미터 재조정을 위한 추가 훈련 과정 = 추가적..

article thumbnail
Transformer: Attention Is All You Need
AI 2023. 5. 9. 03:36

기존 seq2seq 모델의 한계 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 입력 시퀀스 정보가 일부 손실 *이를 보완하기 위해 Attention 이용했었음 Transformer 기존의 RNN 기반의 모델과 달리, Self-Attention을 사용하여 입력 시퀀스의 전체적인 의미를 파악하고 처리하는 방식으로 동작 * RNN을 모두 Attention으로 대체 Encoder Input Embedding 입력 문장의 각 단어를 고정 길이의 벡터로 변환 Positional Encoding RNN이은 단어의 위치에 따라 단어를 순차적으로 입력받아서 처리하기 떄문에 단어의 위치 정보를 가질 수 있었음 트랜스포머는 단어 입력을 순차적으로 받는 방식이 아니므로 단어의 위치 정보를 다른 방식으로 알려줄 필요가 있음 단..

article thumbnail
Optimizer
AI 2023. 5. 9. 01:33

Optimizer 학습은 cost function의 최소값을 찾는 것을 목표로 한다. 여기서 최소값을 찾아가는 것을 최적화 = Optimization / 이를 수행하는 알고리즘을 최적화 알고리즘 = Optimizer 이라고 한다. * 즉, 모델의 매개변수를 조정하여 cost function을 최소화하고 모델의 예측 성능을 향상시키기 위해 사용하는 것이 Optimizer이다!! Cost function : 모델의 예측값과 실제값의 차이를 나타내는 함수 (데이터셋에 대한 예측값과 실제값의 차이를 계산) Loss function : 한 개의 데이터 샘플에 대해 예측한 값과 실제값의 차이를 나타내는 함수

article thumbnail
Gradient Descent
AI 2023. 5. 8. 23:29

Gradient Descent 모델의 손실 함수를 최소화하기 위해 사용되는 최적화 알고리즘 중 한 종류 Batch Gradient Descent 전체 학습 데이터셋을 사용하여 모델 업데이트 , batch_szie = n 안정적, 병렬처리가 가능하여 속도는 빠르지만, 업데이트 속도는 느림 (한 epoch 당 1번 update) 전체 데이터셋을 처리하는 동안 계산이 느리고 메모리를 많이 사용 cost에 대한 gradient Stochastic Gradient Descent 학습 데이터셋의 각 샘플에 대해 모델 업데이트 , batch_szie = 1 업데이트 속도는 빠르지만, 불안정 (한 epoch 당 n 번 update) loss에 대한 gradient Mini-Batch Gradient Descent 미니..

article thumbnail
Dropout
AI 2023. 5. 2. 22:17

Dropout 딥러닝에서 overfitting을 방지하는 regularization 기법 중 하나 무작위로 선택한 일부 뉴런들을 무시 ( 해당 뉴런들의 출력을 0으로 만듦 ) 모델이 다양한 입력에 대해 다양한 방식으로 반응하도록 만들어주어 일반화 능력을 높이는 데 도움을 줄 수 있음 모델을 여러 개를 만들지는 않지만, 훈련 과정에서 앙상블과 비슷한 효과를 냄 서로 다른 학습데이터를 통해 모델을 학습시키거나 모델이 서로 다른 구조를 가지면 학습 성능을 개선할 수 있음 그러나 하나의 네트워크를 훈련시키는 것도 어려운데 여러개의 네트워크를 훈련시키는 것은 매우 어려운 일임 또한, 여러개의 네트워크를 훈련시켰더라도 사용시에 연산 시간이 소비되어 속도가 느려지는 문제가 발생할 수 있음 Dropout은 이 두 문제..

article thumbnail
Pre-training, Transfer Learning, Fine-tuning
AI 2023. 4. 30. 18:19

Pre-training ( 사전 학습 ) 방대한 데이터를 사용하여 모델을 사전 학습 시키는 것 Pre-trained 모델을 비슷한 task에 대해 새로운 모델을 만들 때 사용하면 학습 시간을 상당히 줄일 수 있음 CV, NLP 등 다양한 분야에서 사용되지만, 주로 NLP에서 단어의 의미나 문장의 구조 등을 이해하기 위해 사용 Unsupervised learning, Supervised learning 모두 가능 (주로 unsupervised learning 방식으로 이루어짐) Transfer Learning ( 전이 학습 ) Pre-trained model을 사용하여 새로운 문제를 해결하는 기술 비교적 적은 양의 데이터로도 빠르게 정확한 모델을 만들 수 있으며, 컴퓨팅 리소스와 시간을 절약할 수 있음 F..