본문 바로가기

인공지능39

검색증강생성 (RAG) 검색증강생성 (Retrieval-Augmented Generation, RAG)자연어처리에서 정보 검색과 생성 모델을 결합하여 질의에 대한 더 정확하고 정보에 기반한 응답을 제공하는 기술구조문서 또는 데이터 가공임베딩 모델언어 모델벡터 데이터 베이스프롬프트주요 개념정보검색 (Retrieval)RAG는 대규모 문서 집합에서 관련 문서를 검색하는 검색 모델을 사용이 검색 모델을 쿼리에 맞는 문서를 찾아내는 역할을 함생성 (Generation)검색된 문서를 기반으로 응답을 생성하는 생성 모델Transformer 같은 딥러닝 모델을 사용하여 검색된 문서의 내용을 바탕으로 자연스럽고 정보에 맞는 응답을 생성통합 (Combination)RAG는 검색고 생성을 결합하여 작동사용자의 질문에 대해 검색 모델이 관련 문서.. 2024. 7. 29.
[LangChain] 공식문서 Build a Chatbot 실습 (2) 이번에는 모델에 기존 대화를 입력해서 맥락을 파악하게 해주고 그에 맞는 출력을 얻는 실습을 해보겠습니다.Message History먼저 메세지 history를 저장하기 위한 패키지를 설치하고 불러옵니다.!pip install langchain_community 그 다음 관련 클래스('BaseChatMessageHistory', 'InMemoryChatMessageHistory', 'RunnableWithMessageHistory')를 불러오고, 'get_session_history'라는 함수를 지정하여 기존 대화들을 저장할 수 있도록 해줍니다.from langchain_core.chat_history import ( BaseChatMessageHistory, InMemoryChatMessage.. 2024. 7. 26.
[LangChain] 공식문서 Build a Chatbot 실습 (1) 오늘은 LangChain 공식 홈페이지에서 챗봇을 만드는 실습을 해보려고 합니다. 저는 주피터 노트북을 사용해서 실습을 진행해보았습니다. Setup 먼저 세팅 과정입니다. 필요한 라이브러리를 설치해줍니다. !pip install langchain 그리고 실습을 위해서는 OpenAI의 API가 필요합니다. 다음 링크로 가셔서 가입을 한 후, 해외 결제가 가능한 카드를 등록하시면 API를 받아서 사용하실 수 있습니다. 카드 등록을 하지 않으면 API 키를 입력해도 에러가 발생합니다. https://platform.openai.com/api-keys API를 발급 받으셨다면 다음 코드에 API 키를 입력하시면 됩니다.import getpassimport osos.environ["LANGCHAIN_TRACING.. 2024. 7. 25.
[LangChain] 공식문서 Conceptual Guide docs (2) Components Components  LangChain은 LLMs를 사용하여 다양한 작업을 수행할 수 있도록 여러 구성 요소에 대한 표준화된 인터페이스와 integrations를 제공한다. 1. Chat Models  Chat models는 메시지 시퀀스를 입력받아 채팅 메세지를 출력하는 언어 모델이다. 전통적인 LLM과 달리, 각 메세지에 역할을 할당하여, AI, 사용자, 시스템 메세지를 구분할 수 있다. Chat models는 문자열을 입력으로 받아 HumanMessage로 변환 후 모델에 전달한다. 이를 통해 Chat models를 LLM처럼 쉽게 사용할 수 있다. Chat models에서 LangChain은 외부 통합을 통해 사용되며, 표준화된 매개변수를 제공하여 다양한 모델을 일관되게 사용할 수 있도록 한다. .. 2024. 7. 21.
[LangChain] 공식문서 Conceptual Guide (1) Architecture, LCEL LangChain의 구조 (Architecture)LangChain은 프레임워크로서, 다양한 패키지로 구성되어 있다. 1. langchain-core (핵심 패키지) 이 패키지는 다른 요소들의 기본적인 추상화와 그들을 함께 구성하는 방법을 포함하고 있다. LLM, 벡터 스토어, retrievers와 같은 핵심 요소들이 여기 정의되어 있다. 2. langchain (파트너 패키지) 이 패키지는 chains, agents, 그리고 어플리케이션의 인지 구조를 구성하는 retrieval strategies를 포함하고 있다. 이 패키지 안의 모든 체인, 에이전트, 검색 전략은 특정 integration에 국한된 것이 아니라 모든 일반적인 integration에 공통적으로 적용된다. 3. langchain-comm.. 2024. 7. 21.
[LangChain] 2. 초거대언어모델 (LLM) (youtube 모두의AI 님의 영상을 보며 공부한 내용을 정리) LLM (Large Language Model)LLM의 발전 양상Closed Source장점: 뛰어난 성능, API 방식의 편리한 사용성단점: 보장할 수 없는 보안, API 호출 비용ex) GPT 시리즈, PALM, BardOpen Source장점: Closed source 못지 않은 성능, 높은 보안성, 낮은 비용단점: 개발 난이도 높음, 사용을 위한 GPU 서버 필요ex) Llama 계열의 LLM (Meta 사의 오픈소스 모델Transformer구조 (인코더와 디코더)인코더 (Encoder)문장을 받는 역할언어모델에 특정 문장을 줬을 때 해당 문장을 이해하는 부분디코더 (Decoder)문장을 출력하는 역할현재 NLP 모델의 대부분은 T.. 2024. 7. 16.
[LangChain] 1. LangChain에 대해서 (youtube 모두의AI 님의 영상을 보며 공부한 내용을 정리) 전체 학습 목표: LLM의 구동 원리를 이해하고, LangChain을 통해 실무 활용 가능한 챗봇 구축하기배경 지식LLM (Large Language Model)초거대 언어모델특징대규모 데이터 학습딥러닝 기술트랜스포머: 셀프 어텐션 메커니즘을 사용하여 문맥을 이해하고, 병렬 처리 능력이 뛰어나 대규모 데이터를 효과적으로 학습할 수 있음주로 트랜스포머(Transformer) 구조를 기반으로 구축Transformer“Attention is All You Need”특징병렬 처리순차적 계산에 의존하지 않기 때문에 병렬 처리가 가능하여 훈련 속도가 빠름기존 순환신경망(RNN) 및 LSTM(Long Short-Term Memory) 보다 효율적셀프 .. 2024. 7. 16.
[인공지능] Chapter 20. Optimization and Neural Networks Gradient ascent and log likelihood objective Gradient Gradient Ascent 경사 상승법 Continuous optimization 파라미터 최적화를 위해 사용하는 방법 주로 목적함수를 최대화하기 위해 사용 목적 함수의 기울기(gradient)를 계산하고 그 기울기가 증가하는 방향으로 파라미터를 조정함으로써 목적함수 값을 증가시키는 방식 Log likelihood 로그 우도 확률 모델의 매개변수가 주어진 데이터를 생성할 확률의 로그를 취한 것 로그 사용 이유: 수치적 안정성, 계산 단순화, 미분을 쉽게 Log likelihood objective 로그 가능도 목적 주어진 데이터셋에 대한 모델의 파라미터가 얼마나 잘 맞는지를 측정 이 값을 최대화함으로써 최적.. 2023. 12. 22.
[인공지능] Chapter 19. Perceptrons and Logistic Regression Perceptrons and linear classifier Perceptron 인공신경망의 가장 기본적인 형태 Linear classifier 데이터를 분류하는데 사용되는 선형 방정식 input: feature values 각각의 feature는 가중치 sum 은 activation If the activation is: Positive, output +1 Negative, output -1 Multi-class perceptrons Multi-class perceptrons 다중 클래스 퍼셉트론 구조 입력층 feature 데이터를 받고 은닉층 비선형 변환 출력층 Logistic regression Logisitc Regression 로지스틱 회귀 선형 회귀의 원리를 분류 문제에 적용한 모델 Softm.. 2023. 12. 21.
[인공지능] Chapter 18. Machine Learning and Naive Bayes Machine Learning and Classification Machine Learning 데이터로부터 패턴을 학습하여 예측이나 결정을 자동으로 만들 수 있는 컴퓨터 시스템을 개발하는 분야 Classification 지도 학습의 일종 주어진 데이터를 사전에 정의된 여러 범주 중 하나로 할당 Classifier Confidences 주어진 인스턴스가 특정 클래스에 속할 확률 분류 결정의 확실성 평가 Naive Bayes Models Naive Bayes Models 베이즈 정리를 기반으로 한 확률적 분류 기준 가정: 모든 특성이 서로 조건부 독립 → features 간 영향이 없음 → 고차원 데이터셋에서도 효과적으로 작동 Parameter Estimation Parameter Estimation 모델의.. 2023. 12. 20.
[인공지능] Chapter 17. Particle Filters and Dynamic Bayes Nets Particle Filtering 배경 변수 x가 커지면, exact inference 실현 불가, likelihood weighting이 실패, 시간이 지나면서 샘플의 수가 기하급수적으로 증가 Particle Filtering 비선형 모델에서 부분적으로만 관찰 가능한 상태의 확률 과정에 대한 분포를 추정하는 데 사용 새로운 관측 데이터가 주어지면 각 파티클의 가중치를 업데이트 ‘particle’ 상태 공간을 대표하는 무작위로 선택된 상태들의 집합 파티클 샘플들을 사용하여 상태 공간을 대표하고, 이 샘플들을 시간에 따라 업데이트하면서 시스템의 상태를 추정 Problem 샘플링된 상태 궤적들이 낮은 확률 영역으로 벗어나는 경향이 있을 수 있음 → 관찰된 증거를 무시하고, 합리적인 샘플들이 적게 남는 결과 .. 2023. 12. 20.
[인공지능] Chapter 16. Hidden Markov Models Markov Chains & their Stationary Distribution Markov Chains 상태들의 집합과 이 상태들 사이의 전이 확률을 갖는 확률적 모델 Markov Property 미래 상태는 오로지 현재 상태에만 의존, 과거 상태와는 독립적 상태: 시간에 따른 시스템의 상태 전이 모델: 시간에 따른 상태의 변화 Stationary Assumption: 모든 시간에 걸쳐 전이 확률이 동일하다고 가정 Markov Assumption: 미래는 현재가 주어진 상태에서 과거와 독립적 Stationary Distribution Markov Chain이 충분히 많은 전이를 거친 후, 각 상태에 도달할 확률이 변하지 않고 일정해지는 분포 대부분의 마르코프 체인에서 충분한 시간이 지나고 나면 시스템.. 2023. 12. 20.