랭체인2 5-3(챗봇이란?, 로딩 및 검색) 챗봇 만들기 다. LangChain에서의 로딩 및 검색LangChain은 검색 시스템을 구축하기 위한 여러 구성 요소의 도구 체인을 구현한다.먼저 데이터 로더를 통해 문서를 로드한다 → 문서를 변환하고 임베딩으로 사용할 수 있도록 벡터 저장소에 전달 → 벡터 저장소와 관련된 검색기(retriever)를 쿼리1) 문서 로더문서 로더는 데이터를 소스에서 document 객체러 로드하는데 사용된다. Document 객체는 텍스트와 관련된 메타데이터로 구성된다.txt 파일을 로드하는 TextLoader, 웹 페이지 텍스트를 로드하는 WebBaseLoader, Arxiv에서 기사를 로드하는 ArxivLoader, 유튜브 대본을 로드하는 YoutubeLoader 등이 있다. 웹 페이지의 경우 Diffbot 통합을 사용하면 내용.. 2024. 5. 11. 5-2(챗봇이란?, 벡터 저장소) 챗봇 만들기 나. 벡터 저장소벡터 저장소란, 벡터 임베딩을 저장하고 검색하는 데 사용되는 메커니즘을 나타낸다. 벡터 저장소는 벡터 임베딩을 효율적으로 저장하고 검색하기 위해 특별히 설계된 독립적인 솔루션이다. 벡터 데이터베이스는 벡터 임베딩을 관리하고 Faiss와 같은 독립적인 벡터 인덱스를 사용하는 것 보다 여러 이점을 제공하기 위해 설계되었다.아래와 같이 세 가지 수준이 있다.인덱싱은 벡터를 조직화해 벡터를 빠르게 검색할 수 있도록 구조화 한다. k-d 트리나 Annoy(Approximate nearest neighbors oh yeah)와 같은 다양한 알고리즘이 있다.벡터 라이브러리는 점곱 및 벡터 인덱싱과 같은 벡터 작업을 수행하는 기능을 제공한다.Milvus나 Pinecone과 같은 벡터 데이터베이스는 대규.. 2024. 5. 9. 이전 1 다음