Computer Theory

VectorStore 종류 VectorStore란 - 자연어 -> 숫자 처리한 후 이들을 저장하는 벡터 저장소 - 벡터 저장소는 임베딩된 데이터를 인덱싱하여, input으로 받아들이는 query와의 유사도 출력
Text embeddings: 텍스트를 임베디드 숫자로 변경, 비 정형 data를 수치상으로 변경해서 vector 그래프로 표시가 가능 구분 기업명 모델명 장단점 유료 임베딩 모델 OpenAI Cohere Amazon text-embedding-ada-002 embed-multilingual-v2.0- titan-embed-text-v1 - 사용하기 편리하지만 비용 발생 - API 통신 이용하므로 보안 우려 - 한국어 포함 많은 언어 임베딩 지원 - GPU 없이도 빠른 임베딩 로컬 임베딩 모델 HuggingFace bge-large-en-v1.5 multilingual-e5-large instructor-xl ko-sbert-nli KoSimCSE-roberta-multitask - 무료지만 다소 어려운..
Text Splitter: 토큰 제한이 있는 LLM이 여러 문장을 참고해 답변할 수 있도록 문서를 분할하는 역할 Text Splitter 종류 1) CharacterTextSplitter: 구분자 1개 기준으로 분할, max_token 제한을 지키지 못하는 경우가 발생할 수 있음(ex. 문단 1개) 2)RecursiveCharacterTextSplitter: 구분자 여러개로 분할, max_token 제한을 못지키면 다음 구분자로 나누어서 chunk가 max_token을 안넘도록 수정함. from langchain.text_splitter import CharacterTextSplitter text_splitter = CharacterTextSplitter( seperator = "\n\n", //제한자 ..
RAG(Retrival Augmented Genearation): 외부 데이터를 참조하여 LLM이 답변할 수 있도록 해주는 프레임워크 랭체인의 Retrieval은 RAG의 대부분의 구성 요소를 아우르며, 구성 요소 하나하나가 RAG의 품질을 좌우 !pip install langchain unstructured pypdf pdf2image docx2txt pdfminer from google.colab import drive drive.mount('/content/drive') 1. Document Loaders - Document Loader는 다양한 형식의 문서를 불러오고 이를 Langchain에 결합하기 쉬운 텍스트 형태로 변환하는 기능을 함. 사용자는 txt, pdf, word, ppt, xlsx,..
Prompt란 무엇인가 - 모델에 대한 입력 - 입력의 구성을 담당, LangChain은 프롬프트를 쉽게 구성하고 작업할 수 있도록 여러 클래스와 함수 제공 설정(API key는 OpenAPI 사이트에서 생성한다) !pip install langchain !pip install openai #API KEY 저장을 위한 os 라이브러리 호출 import os #기본 LLM 로드를 위한 라이브러리 호출 from langchain.llms import OpenAI #채팅 LLM 로드를 위한 라이브러리 호출 from langchain.chat_models import ChatOpenAI #OPENAI API키 저장 os.environ["OPENAI_API_KEY"] = 'YOUR_API_KEY' davinch3..
1. API를 통해 ChatGPT와 대화하기 * 구글 콜랩 접속(콜랩은 기본적으로 무료) https://colab.google/ 2. Open api는 사용할 수 있는 제한이 있어서 계정별 내용을 체크해야 한다. // 필수 라이브러리 설치 !pip install langchain !pip install openai #API KEY 저장을 위한 os 라이브러리 호출 import os #OPENAI API키 저장 #API KEY 발급 페이지: https://platform.openai.com/docs/guides/gpt/completions-api os.environ["OPENAI_API_KEY"] = 'YOUR_API_KEY' 3. 파이썬이 왜 가장 인기있는 언어인지에 대한 text-davinci-003을..
LangChain의 구조 현재 NLP(Natural Language Process) 모델의 거의 대부분은 Transformer 아키텍처를 기반으로 하며, 모델의 용도에 따라 트랜스포머의 Encoder, Decoder를 개별 또는 통합으로 사용하는 추세 Closed Source Open Source 개발사/ 개발모델 OpenAI / GPT-3, GPT-3.5, GPT-4 Google / PALM, LaMDA, Bard LLama 계열의 LLM / LLaMA -> vicuna -> AIpaca LLaMA2 -> upstage-llama2 Good 뛰어난 성능, API 방식의 편리한 사용성 Closed source 못지 않은 성능, 높은 보안성, 낮은 비용 Bad 보장할 수 없는 보안, API 호출 비용 개발..
공식 문서 속 소개글 - 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크 - 데이터 인식: 언어 모델을 다른 데이터 소스에 연결 - 에이전트 기능: 언어 모델이 환경과 상호작용할 수 있도록 함. LangChain을 왜 써야하는가 * chatGPT의 한계점 - 정보접근 제한: 3.5 기준 2021년까지의 데이터를 학습한 LLM(초거대언어모델)이므로, 2022년부터의 정보에 대해서는 답변을 하지 못하거나, 거짓된 답변 제공 ->Vectorstore 기반 정보 탐색 or Agent 활용한 검색 결합 - 토큰 제한: 3.5, 4 모델의 경우 4096, 8192라는 입력 토큰 제한이 존재한다.(이거 넘어가면 동작하지 않음) -> textSplitter를 활용한 문서 불한 - 환각현상(Hallucina..
1. 논리적 설계1) ER Diagram을 database 시스템에 매핑하는 것 2. 관계(table, relation)1) 테이블이라는 이름으로 사용2) 행 : attribute3) 열 : tuple 3. tuple(record, 행)1) 관계를 구성하는 각가의 행 3. attribute(속성, 열)1) 데이터베이스를 구성하는 가장 작은 논리적 단위, 특성 기술 4. 도메인1) 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합2) 실제 애트리뷰트 값이 나타낼 때 그 값의 여부 검사 5. 기본키(Primary key)1) 후보키 중에 중복된 값을 가질 수 없음2) null값 불가3) 동일 값 중복 저장 불가 6. 외래키1) 관계를 맺는 두 릴레이션에서 참조되는 릴레이션 7. 슈퍼키(super key..
1. 개념적 설계 단계 2. 엔티티 추출하기1) 엔티티 : 실체가 존재하는 것/ 아닌 것 모두 가능2) 명사 정제 : 데이터베이스 요구사항으로부터 얻어낸 명사들 중 엔티티라고 생각되는 명사들을 추출, 구분 3. 관계 설정하기1) 관계 정의 : 동사를 포함하는 문장 속에서 관계 추출2) 동사나 이벤트를 나타내는 동사를 찾음 4. 개념적 설계1) 카디날리티 : 대응수 또는 원소수, 관계의 유형을 정의2) 종류 : 1:1, 1:N, M:N 5. 애트리뷰트 결정1) 키 애트리뷰트 : 앤티티마다 서로 다른 값을 가지는 유일한 값
플로쨔응
'Computer Theory' 카테고리의 글 목록