전체 글 76

스파르타 AI-8기 TIL(11/22) -> 처음부터 계속하기

LangChain의 "Runnable" 프로토콜LangChain의 "Runnable" 프로토콜은 체인을 쉽게 생성하고 관리할 수 있도록 설계된 핵심적인 개념입니다. 이 프로토콜을 통해, 개발자는 일관된 인터페이스를 사용하여 다양한 타입의 컴포넌트를 조합하고, 복잡한 데이터 처리 파이프라인을 구성할 수 있습니다. "Runnable" 프로토콜은 다음과 같은 주요 메소드를 제공합니다:invoke: 주어진 입력에 대해 체인을 호출하고, 결과를 반환합니다. 이 메소드는 단일 입력에 대해 동기적으로 작동합니다. batch: 입력 리스트에 체인을 호출 및 입력에 대한 결과를 리스트로 반환 이 메소드는 여러 입력에 대해 동기적으로 작동하며, 효율적인 배치 처리를 가능하게 합니다. stream: 입력에 대해 체인을 호출..

카테고리 없음 2024.11.22

스파르타 AI-8기 TIL(11/21) -> 처음부터 계속하기

LangChain 계속기본 LLM 체인의 구성 요소 프롬프트(Prompt): 사용자 또는 시스템에서 제공하는 입력으로, LLM에게 특정 작업을 수행하도록 요청하는 지시문입니다. LLM(Large Language Model): GPT, Gemini 등 대규모 언어 모델로, 대량의 텍스트 데이터에서 학습하여 언어를 이해하고 생성할 수 있는 인공지능 시스템입니다.일반적인 작동 방식 프롬프트 생성: 사용자의 요구 사항이나 특정 작업을 정의하는 프롬프트를 생성합니다. 이 프롬프트는 LLM에게 전달되기 전, 작업의 목적과 맥락을 명확히 전달하기 위해 최적화될 수 있습니다. LLM 처리: LLM은 제공된 프롬프트를 분석하고, 학습된 지식을 바탕으로 적절한 응답을 생성합니다. 이 과정에서 LLM은 내부적으로 다양한 언..

카테고리 없음 2024.11.21

스파르타 AI-8기 TIL(11/20) -> 처음부터 계속하기

LangChainLangChain은 대규모 언어 모델(LLM)을 활용하여 자연어 처리 작업을 쉽게 수행할 수 있도록 돕는 프레임워크입니다. LangChain은 LLM의 입력과 출력을 관리하고, 이를 기존 데이터 또는 사용자 정의 논리에 통합할 수 있는 다양한 모듈을 제공합니다.주요 기능: LLM을 이용한 텍스트 생성 및 요약 데이터베이스나 외부 파일에서 정보 검색 (Retrieval-Augmented Generation, RAG) 워크플로우 정의 (Chains & Agents) 메모리 및 상태 관리하나의 체인from langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserf..

카테고리 없음 2024.11.20

스파르타 AI-8기 TIL(11/19) -> 처음부터 계속하기

LLM대형 언어 모델(Large Language Model, LLM)은 인간이 언어를 이해하고 생성할 수 있도록 훈련된 인공지능 모델을 의미합니다. 이 모델들은 방대한 양의 텍스트 데이터를 기반으로 학습하여, 단어나 문장의 이미를 이해하고, 새로운 텍스트를 생성할 수 있습니다.LLM의 핵심은 "패턴 인식"입니다. 언어에는 수많은 패턴이 존재하는데, 이 패턴을 학습하기 위해 수백만에서 수십억 개의 문장을 포함한 방대한 텍스트 데이터를 사용합니다. 이를 통해 모델은 단어 간의 관계, 문장 구조, 문맥 등을 이해하게 됩니다. 이를 기반으로 사람과 대화하거나 글을 쓸때 자연스러운 텍스트를 생성할 수 있습니다. NLP자연어 처리 (NLP)는 컴퓨터와 사람들이 인간의 언어를 사용하여 컴퓨터가 이해하고 처리할 수 있..

카테고리 없음 2024.11.19

스파르타 AI-8기 TIL(11/18) -> 처음부터 계속하기

if문프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰는 것이 바로 if 문입니다.money = Trueif money: print('hi')else: print('hello') #True이므로 hi가 출력됩니다."""if 조건문: 수행할_문장1 수행할_문장2 ...else: 수행할_문장A 수행할_문장B ...""" #기본 if와 else의 기본 구조#그렇기에 들여쓰기를 잘 해야한다. + f 조건문 뒤에는 반드시 콜론(:)이 붙습니다.#비교 연산자# x x가 y보다 작다.# x > y -> x가 y보다 크다.# x == y -> x와 y가 같다.# x != y -> x와 y가 같지 않다.# x >= y -> x가 y보다 크거나 같다.# ..

카테고리 없음 2024.11.18

스파르타 AI-8기 TIL(11/17) -> 처음부터 계속하기

딕셔너리사전이란 뜻이며, 딕셔너리는 Key와 Value를 한 쌍으로 가지는 자료형 입니다.딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻으며, 이것이 바로 딕셔너리의 가장 큰 특징입니다.#기본 형식{Key1: Value1, Key2: Value2, Key3: Value3, ...}예시:dic = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}예시:a = {'나이' : 15, '이름' : 'Kevin'}print(a['나이'])출력:15#참고로 리스트로 넣을 수 있습니다a = {'나이' : [15, 16 ,17], '이름' : 'Kevin'}print(a['나이'])출력:[15, ..

카테고리 없음 2024.11.17

스파르타 AI-8기 TIL(11/16) -> 처음부터 다시

hello = 'hillo'hello[1] = 'e'print(hello)진짜 자신의 부족함을 너무나 절신히 느낀 나머지 전부 복습정수형말 그대로 정수를 뜻하는 자료형 양의, 음의 숫자 0을 적을 수 있다.a = 10a = -10a = 0 실수형실수형(floating-point), 즉 소수점이 포함된 자료형a = 1.5a = 10.9655여기서 컴퓨터식 지수 표현 방식 -> 예시: e5 or e-5print(4.24e10)print(4.42e-4)출력:42400000000.00.000442말 그대로e10 -> 10^10e-4 -> 10^-4사칙 연산사칙 연산을 하는 연산자들a = 5b = 2print(a + b) # 더하기print(a - b) # 빼기print(a * b) # 곱하기print(a / b..

카테고리 없음 2024.11.16

스파르타 AI-8기 TIL(11/15) -> 개인과제 공부: 계속

그전에 LLM과 벡터 검색의 서로 다른 역할과 흐름 차이를 먼저 보겠습니다. 대규모 언어 모델(LLM)을 구축하는 과정과 각 단계에 대해 좀 더 깊이 알아보겠습니다.LLM1. 데이터 수집 및 전처리 (Data Collection and Preprocessing) 작동 방식: LLM을 훈련시키기 위해 가장 중요한 첫 단계는 다양한 소스에서 데이터를 수집하는 것입니다. 예를 들어, 뉴스 기사, 책, 논문, 웹페이지 등에서 텍스트 데이터를 수집할 수 있습니다. 데이터는 반드시 전처리 과정을 거쳐야 합니다. 데이터 전처리 단계에서는 불필요한 문자를 제거하거나, 텍스트를 표준화하여 모델이 학습하기 쉬운 형태로 변환합니다. 예를 들어, 특수문자 제거, 소문자화, 불용어(stop words) 제거 등의 작업을 할 수..

카테고리 없음 2024.11.15

스파르타 AI-8기 TIL(11/14) -> 개인과제 공부

개인과제 하면서 배운것들참고로 일단 만들어 본 코드import osimport openaiopenai.api_key = os.getenv("OPENAI_API_KEY")from langchain_openai import ChatOpenAIfrom langchain.document_loaders import PyPDFLoaderclient = ChatOpenAI(model = 'gpt-4o')loader = PyPDFLoader('C:\Users\kevinkim\OneDrive\바탕 화면\Sparta_Work\초거대 언어모델 연구 동향.pdf')docs = loader.load()from langchain.text_splitter import RecursiveCharacterTextSplitterrecur..

카테고리 없음 2024.11.14

스파르타 AI-8기 TIL(11/13) -> RAG 체인에 FAISS 통합

실습 코드를 먼저 보겠습니다.(진짜 어려워서 하나하나 알아갈예정)1. 임베딩 모델 설정: 텍스트를 벡터로 변환 from langchain_openai import OpenAIEmbeddingsembeddings = OpenAIEmbeddings(model="text-embedding-ada-002")텍스트를 임베딩(벡터)로 변환하여 숫자 형식으로 표현합니다. OpenAIEmbeddings는 OpenAI의 text-embedding-ada-002 모델을 사용하여 텍스트 데이터를 고차원 벡터로 변환합니다. 벡터화된 텍스트는 후속 단계에서 벡터 간의 유사도 계산에 사용됩니다. 즉, 원본 텍스트를 수학적 표현으로 바꿔 유사도를 계산할 수 있도록 준비하는 과정입니다.2. 벡터 인덱스 생성: 유사도 기반 검색 준비..

카테고리 없음 2024.11.13