생성 AI가 애플리케이션 개발 프로세스에 빠르게 통합됨에 따라 개인 데이터를 교육에 사용되는 공개 데이터와 통합할 수 있어야 한다는 필요성이 점점 더 커지고 있습니다.
최근 웹 세미나에서
이 게시물에서는 LlamaIndex를 모든 개인 데이터 생성 AI 요구 사항에 대한 데이터 통합, 데이터 구성 및 데이터 검색을 위한 프레임워크로 사용할 수 있는 방법을 설명합니다.
앞서 언급했듯이 LlamaIndex는 LLM 애플리케이션 구축을 단순화하는 조정 프레임워크 또는 "데이터 프레임워크"입니다. 개인 데이터의 데이터 확장을 수행하는 기능을 제공하여 지식 생성 및 추론을 위해 LLM에 통합할 수 있습니다. 모든 생성적 AI 기능의 중심에는 데이터가 있습니다. 엔터프라이즈 애플리케이션은 LLM이 교육받은 공개 데이터 그 이상에 액세스할 수 있어야 하며 애플리케이션 구축을 위해 모든 내부 및 외부 데이터 소스의 구조화된, 비구조화된, 반구조화된 데이터를 통합해야 합니다.
LlamaIndex가 제공하는 것은 이러한 데이터 통합입니다. 여러 고유한 소스에서 데이터를 가져옵니다.
이전에 GPT Index로 알려진 LlamaIndex는 LLM 기반 애플리케이션 구축을 위한 엔드투엔드 라이프사이클을 관리하는 데 필요한 도구를 제공하는 프레임워크입니다. LLM 기반 응용 프로그램을 구축할 때 어려운 점은 일반적으로 여러 다른 소스의 데이터가 필요하다는 것입니다. 공통 데이터 표현을 강력하게 준수하지 않는 한 필요한 데이터는 고도로 구조화된 형식, 구조화되지 않은 형식, 비구조적인 형식 등 다양한 형식으로 되어 있습니다. 사이.
LlamaIndex는 데이터 수집 및 데이터 인덱싱을 위한 도구를 사용하여 이 데이터를 잠금 해제하는 도구 상자를 제공합니다. 수집 및 색인이 생성되면
LlamaIndex에는 사용자 정의 데이터 소스를 LLM에 연결하는 기능을 제공하는 수백 개의 데이터 로더가 있습니다. Airtable, Jira, Salesforce 등과 같은 사전 구축된 솔루션을 파일, JSON 문서, 단순 CSV 및 구조화되지 않은 데이터에서 데이터를 로드하기 위한 일반 플러그인에 연결합니다.
데이터 로더의 전체 목록은 다음에서 찾을 수 있습니다.
데이터가 수집되면 LLM에서 쉽게 쿼리할 수 있도록 수학적으로 표현해야 합니다. LlamaIndex를 사용하면 인덱스는 데이터를 다양한 차원에서 수학적으로 표현하는 기능만 제공합니다. 데이터 인덱싱은 새로운 개념이 아닙니다. 그러나 기계 학습을 사용하면 인덱싱의 세분성을 하나 또는 두 개의 차원(예: 키/값 표현)에서 수백 또는 수천 개의 차원으로 확장할 수 있습니다.
기계 학습 및 LLM을 위한 데이터 인덱싱에 대한 가장 일반적인 접근 방식을 벡터 인덱스라고 합니다. 데이터가 색인화되면 데이터의 수학적 표현을 벡터 임베딩이라고 합니다. 인덱싱 및 임베딩 모델에는 다양한 유형이 있지만 일단 데이터가 삽입되면 데이터의 수학적 표현을 사용하여 의미론적 검색을 제공할 수 있습니다. 유사한 의미를 가진 텍스트와 같은 항목은 유사한 수학적 표현을 갖기 때문입니다. 예를 들어 왕과 여왕은 검색어가 로열티인 경우 관련성이 높을 수 있지만 검색어가 성별인 경우 관련성이 높지 않을 수 있습니다.
LlamaIndex와 LLM의 진정한 힘이 발휘되는 곳이 바로 여기입니다. LlamaIndex를 이용하여 데이터를 조회하는 것은 데이터를 병합/결합하고 찾기 위한 복잡한 일련의 명령이 아니기 때문에 이라는 개념을 통해 자연어로 표현됩니다.
LlamaIndex는 데이터 탐색 및 분류 방법에 대한 최적화를 제공하도록 설계된 다양한 인덱싱 모델을 제공합니다. 이는 궁극적으로 많은 이점을 얻을 수 있는 부분입니다. 애플리케이션이 데이터에 대해 수행해야 하는 작업 유형을 알고 있는 경우 특정 유형의 인덱스를 활용하면 LLM을 사용하고 쿼리를 인스턴스화하는 애플리케이션에 상당한 이점을 제공할 수 있습니다.
목록 인덱스는 데이터를 세분화하여 순차적인 목록 형식으로 표시하는 접근 방식입니다. 이것이 갖는 장점은 데이터를 다차원 방식으로 탐색할 수 있지만 데이터 쿼리에 대한 기본 최적화는 순차적 패턴을 통해 이루어진다는 것입니다. 이러한 유형의 인덱스는 시간이 지남에 따라 발생하는 구조화된 개체와 잘 작동하므로 시간이 지남에 따라 상황이 어떻게 변경되었는지 쿼리하려는 변경 로그와 같은 것입니다.
트리 인덱스를 사용할 때 LlamaIndex는 입력 데이터를 가져와 데이터가 상위 노드와 리프 노드로 구성되는 이진 트리 구조로 구성합니다. 트리 인덱스는 대량의 데이터를 탐색하고 검색이 트리를 탐색하는 방식을 기반으로 텍스트의 특정 세그먼트를 추출해야 하는 응답을 구성하는 기능을 제공합니다. 트리 인덱싱은 지원/FAQ 엔진 위에 자연어 처리 챗봇을 구축하는 것과 같이 따르거나 검증하려는 정보 패턴이 있는 경우에 가장 적합합니다.
벡터 저장소 인덱스 유형을 사용하는 경우 LlamaIndex는 데이터 노트를 벡터 임베딩으로 저장합니다. 이는 벡터 또는 유사성 검색을 포함하여 다양한 방법으로 데이터 표현을 사용할 수 있는 기능을 제공하므로 아마도 가장 일반적인 인덱싱 유형일 것입니다. 데이터가 벡터 저장소 인덱스로 인덱싱되면 소규모 데이터 세트 및 단일 애플리케이션 또는 대규모 데이터 세트에 대해 로컬로 활용될 수 있으며/또는 여러 다른 LLM/애플리케이션에서 사용될 수 있으며 고성능 벡터 데이터베이스에 저장될 수 있습니다. 좋다
키워드 인덱싱은 메타데이터 태그, 즉 해당 키워드를 포함하는 특정 노드에 대한 키워드를 매핑하는 전통적인 접근 방식에 더 가깝습니다. 이 매핑은 키워드를 기반으로 관계망을 구축합니다. 왜냐하면 키워드는 여러 개의 서로 다른 노드에 매핑될 수 있고 노드는 여러 개의 서로 다른 키워드에 매핑될 수 있기 때문입니다. 이 인덱싱 모델은 대용량 데이터에 태그를 지정하고 여러 다른 데이터 세트에서 쿼리할 수 있는 특정 키워드를 기반으로 쿼리하려는 경우에 적합합니다. 예를 들어 법적 브리핑, 의료 기록 또는 특정 유형의 메타데이터를 기반으로 정렬해야 하는 기타 데이터가 있습니다.
제기되는 큰 질문 중 하나는 LlamaIndex와 LangChain을 어떻게 비교하는지, 유사한 기능을 제공하는지, 아니면 서로를 보완하는지입니다. 현실은 LlamaIndex와 LangChain이 동일한 동전의 양면을 제공한다는 것입니다. 둘 다 애플리케이션에서 LLM 및 기계 학습에 대한 인터페이스를 제공하도록 설계되었지만 LlamaIndex는 지능적인 데이터 검색을 위한 인덱싱 및 쿼리 기능을 제공하도록 특별히 설계 및 구축되었습니다. 그 동전의 반대편에는 자연어 처리를 통해 데이터와 상호 작용할 수 있는 능력이 있습니다. 즉, 데이터와 상호 작용하는 챗봇을 구축하거나 해당 데이터를 사용하여 코드 호출과 같은 다른 기능을 구동하는 기능입니다.
LlamaIndex는 보유한 데이터를 다양한 형식으로 저장하고 다양한 소스에서 해당 데이터를 가져와 궁극적으로 생성 AI 애플리케이션을 위한 방법을 제공하는 기능을 제공합니다.
LangChain은 일단 저장된 데이터로 작업을 수행하고, 코드를 생성하고, 생성적인 질문 답변을 제공하고, 결정을 내리는 기능을 제공하여 궁극적으로 생성적 AI 애플리케이션에 필요한 기능을 제공합니다.
LlamaIndex를 사용하면 생성적 AI 애플리케이션 구축을 위한 데이터 수집, 인덱싱 및 쿼리를 위한 사용하기 쉬운 데이터/조정 프레임워크가 있습니다. 시작하기 위해 위에서 간단한 예를 제공했지만 LlamaIndex의 진정한 힘은 데이터 기반 AI 애플리케이션을 구축하는 능력에서 비롯됩니다. 모델을 재교육할 필요가 없으며 LlamaIndex와 확장성이 뛰어난 벡터 데이터베이스를 사용하여 들어오는 데이터를 동적으로 해석하고 상황에 맞게 만들어 복잡한 문제 해결과 상호 작용할 수 있는 사용자 지정 쿼리 엔진, 대화형 챗봇 또는 강력한 에이전트를 만들 수 있습니다. 실시간으로 결정을 내릴 수 있습니다.
따라서 개인 데이터를 활용하고 이를 해당 데이터와 상호 작용하고 응답하는 애플리케이션의 기능에 통합하는 기능이 필요한 생성적 AI 애플리케이션을 구축해야 하는 경우 LlamaIndex는 수집, 인덱싱 및 쿼리를 시작하기에 좋은 장소입니다. 그러나 과거의 실수를 반복하지 말고 AI 애플리케이션을 위해 사용, 내장 및 액세스하는 데이터를 격리하지 마십시오. Astra DB와 같이 확장성이 뛰어난 벡터 저장소에 해당 임베딩 및 인덱스를 저장하는 것을 포함하는 완전한 엔드투엔드 솔루션을 구축하세요.
LlamaIndex를 시작하고 DataStax와 LlamaIndex를 함께 사용하면 어떤 이점이 있는지 알아보려면 최근 DataStax 블로그 게시물인 "
대규모 데이터를 대규모로 처리하도록 설계된 Apache Cassandra를 기반으로 구축된 세계 최고 성능의 벡터 저장소 중 하나에서 Astra DB를 설정하고 배포하는 방법에 대한 자세한 정보를 찾을 수 있습니다. 무료로 시작하려면,
- 작성자: Bill McLane, DataStax