소개
벡터 데이터베이스 + LLM(대형 언어 모델)을 기반으로 사용자를 더 잘 이해하는 기업용 챗봇을 구축하는 방법은 무엇인가요?
올 봄 가장 충격적인 기술 제품은 ChatGPT의 등장입니다. LLM(대형 언어 모델)을 통해 생성 AI가 인간 언어와 매우 유사한 언어 표현 능력을 달성할 수 있다는 것을 알 수 있습니다. 불완전한 통계에 따르면, 이제는 인간의 일과 삶에 들어갈 수 있게 되었습니다. 이는 한동안 휴면 상태였던 AI 분야에 활력을 불어넣고 있습니다. 불과 4개월 만에 미국은 4,000개 이상의 생성 AI 산업 자금 조달을 완료했습니다. 차세대 기술에서 생성적 AI는 무시할 수 없는 자본과 기업의 일부가 되었으며, 이를 지원하기 위해 더 높은 수준의 인프라 역량이 점점 더 필요해지고 있습니다.
대형 모델은 보다 보편적인 질문에 답할 수 있지만 수직 전문 분야에 서비스를 제공하려면 지식의 깊이와 적시성이 부족하다는 문제가 있을 것입니다. 기회와 수직 도메인 서비스 구축? 현재 두 가지 모델이 있습니다. 첫 번째는 대규모 모델을 기반으로 하는 수직 도메인 모델입니다. 이는 종합적인 투자 비용이 크고 업데이트 빈도가 낮으며 두 번째는 구축하는 것입니다. 기업 고유의 지식 자산을 벡터 데이터베이스에 저장하고, 대규모 모델 + 벡터 데이터베이스를 통해 수직 분야의 심층적인 서비스를 구축하는 것이 핵심입니다. 기업은 법률 조항 및 판례의 수직적 범주를 활용하여 법률 산업과 같은 특정 영역에서 법률 기술 서비스를 구축할 수 있습니다. 예를 들어, 법률 기술 회사인 Harvey는 법률 초안 작성 및 연구 서비스를 개선하기 위해 "변호사를 위한 Copilot"을 구축하고 있습니다. 벡터 기능을 통해 기업 지식 기반 문서 및 실시간 정보를 추출한 후 벡터 데이터베이스에 저장하고 LLM 대형 언어 모델과 결합하면 Chatbot(질문 및 답변 로봇) 답변을 보다 전문적이고 시기적절하게 만들 수 있으며 기업을 구축할 수 있습니다. 특정 챗봇.
How대규모 언어 모델 기반챗봇이 시사 문제에 더 잘 답변하도록 하세요 ? 데모Demo를 시청하려면 "Alibaba Cloud Yaochi Database" 비디오 계정에 오신 것을 환영합니다.
다음으로 이번 글에서는 LLM(Large Language Model) + 벡터 데이터베이스를 기반으로 기업 맞춤형 챗봇을 구축하는 원리와 프로세스, 그리고 챗봇의 핵심 기능에 대해 중점적으로 살펴보겠습니다. 이 시나리오를 구축하기 위한 ADB-PG.
실세계에서 대부분의 데이터는 이미지, 오디오, 비디오, 텍스트 등 구조화되지 않은 형식입니다. 스마트 시티, 짧은 동영상, 개인화된 제품 추천, 시각적 제품 검색 및 기타 애플리케이션의 출현으로 이러한 비정형 데이터가 폭발적으로 증가했습니다. 이러한 비정형 데이터를 처리할 수 있도록 일반적으로 우리는 인공지능 기술을 사용하여 이러한 비정형 데이터의 특성을 추출하고 이를 특징 벡터로 변환한 후 이러한 특징 벡터를 분석 및 검색하여 비정형 데이터 분석 목적을 달성합니다. 처리. 따라서 특징 벡터를 저장, 분석, 검색할 수 있는 데이터베이스를 벡터 데이터베이스라고 부릅니다.
특징 벡터를 빠르게 검색하기 위해 벡터 데이터베이스는 일반적으로 벡터 인덱스를 구성하는 기술적 수단을 사용합니다. 우리가 일반적으로 이야기하는 벡터 인덱스는 ANNS(Approximate Nearest Neighbors Search, Approximate Nearest Neighbors Search)에 속합니다. 가장 정확한 결과 항목만 반환하는 것으로 제한되지만 가장 가까운 이웃이 될 수 있는 데이터 항목만 검색합니다. 즉, 검색 효율성을 향상시키는 대가로 허용 가능한 범위 내에서 약간의 정확도를 희생합니다. 이는 벡터 데이터베이스와 기존 데이터베이스의 가장 큰 차이점이기도 합니다.
현재 업계에서는 ANNS 벡터 인덱스를 보다 편리하게 적용하기 위한 두 가지 주요 관행이 있습니다. 하나는 ANNS 벡터 인덱스를 별도로 서비스하여 벡터 인덱스 생성 및 검색 기능을 제공함으로써 독점 벡터 데이터베이스를 형성하는 것이고, 다른 하나는 ANNS 벡터 인덱스를 기존 구조화된 데이터베이스에 통합하여 벡터 검색 기능을 갖춘 DBMS를 구성하는 것입니다. 실제 비즈니스 시나리오에서 독점 벡터 데이터베이스는 다른 기존 데이터베이스와 함께 사용해야 하는 경우가 많으며, 이로 인해 데이터 중복, 과도한 데이터 마이그레이션, 데이터 일관성 문제 등과 같은 몇 가지 일반적인 문제가 발생합니다. 실제 DBMS와 비교할 때 독점 데이터베이스는 벡터 데이터베이스에는 추가적인 전문적인 유지 관리, 추가 비용, 매우 제한된 쿼리 언어 기능, 프로그래밍 가능성, 확장성 및 도구 통합이 필요합니다.
벡터 검색 기능을 통합한 DBMS는 먼저 애플리케이션 개발자의 데이터베이스 기능 요구 사항을 충족할 수 있는 매우 완벽한 최신 데이터베이스 플랫폼입니다. 또한 독자적인 벡터 데이터베이스의 기능을 구현할 수 있으며, 벡터 저장 및 검색이 가능하여 사용 편의성(SQL을 직접 사용하여 벡터 처리), 트랜잭션, 고가용성, 고확장성 등 DBMS의 뛰어난 기능을 계승할 수 있습니다. .
본 글에서 소개하는 ADB-PG는 벡터 검색 기능뿐만 아니라 원스톱 데이터베이스 기능까지 갖춘 DBMS이다. ADB-PG의 구체적인 기능을 소개하기에 앞서 먼저 데모 영상을 통해 챗봇의 생성 과정과 관련 원리를 살펴보겠습니다.
이전 데모 영상에서는 대형 언어 모델 LLM과 ADB-PG가 시사 뉴스에 댓글을 달다 답변의 예로 LLM이 "Tongyi Qianwen이 무엇인가"라고 답변하도록 하겠습니다. LLM에게 직접 답변을 요청하면 LLM 교육 데이터 세트에 관련 내용이 포함되어 있지 않기 때문에 얻은 답변이 의미가 없음을 알 수 있습니다. 그리고 벡터 데이터베이스를 로컬 지식 저장소로 사용하고 LLM이 자동으로 관련 지식을 추출하도록 했을 때 "Tongyi Qianwen이 무엇인가요?"라고 올바르게 대답했습니다.
"Tongyi Qianwen이란 무엇입니까?"
, 이메일, 네트워크 정보 및 기타 콘텐츠. 예:
a. 백엔드 데이터 처리 및 저장 프로세스
b. 프론트엔드 질문 및 답변 프로세스
동시에 하단 레이어는 주로 두 가지 모듈에 의존합니다:
1 대규모 언어 모델 기반 추론 모듈
2. 데이터베이스
L
Local QA 시스템 - LLM 및 VectorStore 원칙백엔드 데이터 처리 및 저장 process검은 부분 위 그림은 백엔드 데이터 처리 프로세스로, 주로 원본 데이터의 임베딩을 해결하고 원본 데이터와 함께 벡터 데이터베이스 ADB-PG에 저장하는 것입니다. 여기서는 위 그림의 파란색 점선 상자 부분만 주의하면 됩니다. 블랙 처리 모듈 및 ADB-PG 벡터 데이터베이스.
이 프로세스는 크게 세 부분으로 나뉩니다. 1. 가장 관련성이 높은 지식을 추출하기 위한 벡터 검색; . 추론 해결 부분. 여기서는 주황색 부분에 집중해야 합니다. 원리만 이야기하는 것은 다소 모호할 수 있지만 위의 예를 사용하여 설명하겠습니다. LLLM 및 VectorStore의 로컬 QA 시스템 1부 질문 개선 이부분은 선택사항인데, 그 이유는 일부 질문은 상황에 따라 달라지기 때문에 존재합니다. 사용자가 묻는 새로운 질문으로 인해 LLM이 사용자의 의도를 이해하지 못할 수도 있기 때문입니다. 예를 들어 사용자의 새로운 질문은 "무엇을 할 수 있나요?"입니다. LLM은 그것이 누구를 지칭하는지 알지 못하며 "Tongyi Qianwen이 무엇입니까?"와 같은 이전 채팅 기록을 결합하여 사용자가 "Tongyi Qianwen은 무엇을 할 수 있습니까?"라고 대답해야 하는 독립적인 질문을 추론해야 합니다. LLM은 "용도가 무엇인가"라는 모호한 질문에는 정확하게 답할 수 없지만, "Tongyi Qianwen의 용도는 무엇인가"라는 독립적인 질문에는 정확하게 답할 수 있습니다. 문제가 독립적인 경우에는 이 섹션이 필요하지 않습니다. 독립 문제를 얻은 후, 이 독립 문제를 기반으로 이 독립 문제의 임베딩을 찾을 수 있습니다. 그런 다음 벡터 데이터베이스에서 가장 유사한 벡터를 검색하여 가장 관련성이 높은 콘텐츠를 찾으세요. 이 동작은 Part2 검색 플러그인의 기능에 있습니다. Part2 벡터 검색 독립 문제 임베딩 이 기능은 text2vec 모델에서 수행됩니다. 임베딩을 얻은 후에는 이 임베딩을 이용하여 벡터 데이터베이스에 미리 저장되어 있던 데이터를 검색할 수 있습니다. 예를 들어 ADB-PG에는 다음과 같은 내용이 저장되어 있습니다. 획득한 벡터를 통해 첫 번째, 세 번째 항목 등 가장 유사한 내용이나 지식을 얻을 수 있습니다. Tongyi Qianwen은 ... Tongyi Qianwen이 우리를 도울 수 있습니다 xxx. Part3 추론 해결 가장 관련성이 높은 지식을 얻은 후 LLM이 가장 관련성이 높은 지식과 독립적인 질문을 기반으로 솔루션 추론을 수행하여 최종 답변을 얻을 수 있습니다. "Tongyi Qianwen은 ...", "Tongyi Qianwen이 우리를 도울 수 있습니다 xxx"등과 같은 가장 효과적인 정보를 결합하여 "Tongyi Qianwen의 용도는 무엇입니까"라는 질문에 대한 답변입니다. 결국 GPT의 추론 솔루션은 대략 다음과 같습니다. 왜 ADB -PG가 챗봇의 지식 데이터베이스로 적합한가요? ADB-PG는 대규모 병렬 처리 기능을 갖춘 클라우드 네이티브 데이터 웨어하우스입니다. 고성능 오프라인 데이터 처리를 제공할 수 있을 뿐만 아니라 대용량 데이터에 대한 동시성 높은 온라인 분석 및 쿼리도 지원하는 행 스토리지 및 열 스토리지 모드를 지원합니다. 따라서 ADB-PG는 분산 트랜잭션과 혼합 로드를 지원하고 다양한 비정형 및 반정형 데이터 소스의 처리도 지원하는 데이터 웨어하우스 플랫폼이라고 할 수 있습니다. 예를 들어, 벡터 검색 플러그인을 사용하면 이미지, 언어, 비디오, 텍스트와 같은 비정형 데이터의 고성능 벡터 검색 및 분석과 JSON과 같은 반정형 데이터의 전체 텍스트 검색 및 분석이 가능합니다. 따라서 AIGC 시나리오에서 ADB-PG는 벡터 저장 및 검색 요구 사항을 충족하기 위해 벡터 데이터베이스로 사용할 수 있으며 다른 데이터베이스의 저장 및 쿼리도 충족할 수 있습니다. 구조화된 데이터를 제공하고 전체 텍스트 검색 기능도 제공하여 AIGC 시나리오에서 비즈니스 애플리케이션을 위한 원스톱 솔루션을 제공할 수 있습니다. 아래에서는 ADB-PG의 세 가지 기능인 벡터 검색, 융합 검색 및 전체 텍스트 검색을 자세히 소개합니다. ADB-PG 벡터 검색 및 융합 검색 기능은 2020년 퍼블릭 클라우드에서 처음 출시되었으며 현재 얼굴 인식 분야에서 널리 사용되고 있습니다. ADB-PG의 벡터 데이터베이스는 데이터 웨어하우스 플랫폼을 상속받아 ANSISQL, ACID 트랜잭션, 고가용성, 장애 복구, 특정 시점 복구, 프로그래밍 가능성, 확장성 등 DBMS의 장점을 거의 모두 갖추고 있습니다. 동시에 내적 거리, 해밍 거리, 유클리드 거리의 벡터 및 벡터 유사성 검색을 지원합니다. 이러한 기능은 현재 얼굴 인식, 제품 인식, 텍스트 기반 의미 검색 등에 널리 사용되고 있습니다. AIGC가 폭발적으로 증가하면서 이러한 기능은 텍스트 기반 챗봇을 위한 견고한 기반을 제공합니다. 또한 ADB-PG 벡터 검색 엔진은 Intel SIMD 명령어를 사용하여 벡터 유사성 일치를 매우 효율적으로 달성합니다. 아래에서는 ADB-PG의 벡터 검색 및 융합 검색을 사용하는 방법을 설명하기 위해 특정 예를 사용합니다. 기사 배치를 청크로 나눈 다음 이를 임베딩 벡터로 변환하는 텍스트 지식 기반이 있다고 가정합니다. 청크 테이블에는 다음 필드가 포함됩니다. 그러면 해당 테이블 생성 DDL은 다음과 같습니다. 벡터 검색 속도를 높이려면 벡터 인덱스도 생성해야 합니다. 시간을 단축하기 위해 벡터 구조적 융합 쿼리를 사용하려면 일반적으로 사용되는 구조적 열에 대한 인덱스도 만들어야 합니다.
데이터를 삽입할 때 SQL의 삽입 구문을 직접 사용할 수 있습니다. 이 예에서는 텍스트를 통해 원본 기사를 검색한 다음 벡터 검색을 통해 직접 검색할 수 있습니다. 구체적인 SQL은 다음과 같습니다. 지난 달의 특정 텍스트의 원본 기사를 찾습니다. 그러면 구체적인 SQL은 다음과 같습니다. Using vector retrieval에서 확실히 알 수 있습니다. ADB-PG의 융합 검색은 학습 임계값 없이 기존 데이터베이스를 사용하는 것만큼 편리합니다. 동시에 우리는 벡터 데이터 압축, 벡터 인덱스의 병렬 구성, 벡터 다중 파티션 병렬 검색 등과 같은 벡터 검색을 위한 많은 목표 최적화를 수행했습니다. 이에 대해서는 여기서 자세히 설명하지 않습니다.
지식 데이터베이스 검색 부분에는 전통적인 키워드 전체 텍스트 검색과 벡터 기능 검색이 포함되어 있으며, 키워드 전체 텍스트 검색은 쿼리의 정확성을 보장하고, 벡터 기능 검색은 일반화 및 의미 체계를 제공합니다. 리터럴 매칭 외에도 회상 및 의미론적 매칭 지식은 결과 없음 비율을 줄이고 대규모 모델에 대한 풍부한 컨텍스트를 제공하며 대규모 언어 모델의 요약 및 유도를 용이하게 할 수 있습니다. 본 글 앞부분에서 언급한 내용과 합쳐서, 지식이 풍부한 챗봇을 과 인간 카테고리로 비교한다면 그러니까 빅 언어 모델은 챗봇이 대학을 졸업하기 전 다양한 분야의 모든 서적과 공공자료를 통해 습득한 지식과 학습 추론 능력이라고 볼 수 있습니다. 따라서 대규모 언어 모델을 기반으로 챗봇은 졸업과 관련된 질문에 답변할 수 있습니다. 그러나 해당 질문이 특정 전문 분야(해당 정보는 기업 조직의 독점 정보이며 공개되지 않음) 또는 새로운 개념(해당 정보는 아직 대학 졸업시 공개되지 않음) 출생), 학교에서 얻은 지식만으로는 침착하게 대처할 수 없습니다(사전 훈련된 대형 언어 모델에 해당). 계속해서 습득하려면 채널이 있어야 합니다. 졸업 후 새로운 지식(예: 업무 관련 전문 학습 데이터베이스)을 자신의 학습 및 추론 능력과 결합하여 전문적인 대응을 하게 됩니다. 동일한 Chatbot은 대규모 언어 모델의 학습 및 추론 기능을 벡터 검색 및 전체 텍스트 검색 기능이 포함된 ADB-PG와 같은 원스톱 데이터베이스와 결합해야 합니다(기업 조직의 독점 및 최신 지식 문서 및 벡터 특징), 질문에 응답할 때 데이터베이스의 지식 내용을 기반으로 보다 전문적이고 시기적절한 답변을 제공합니다.
프런트엔드 Q&A 프로세스
4. ADB-PG: 내장된 벡터 검색 + 전체 기능을 갖춘 원스톱 기업 지식 데이터베이스. 텍스트 검색
ADB-PG에는 복잡한 조합 조건, 결과 순위 및 기타 검색 기능을 지원하는 풍부한 전체 텍스트 검색 기능도 있습니다. 또한 ADB-PG는 중국어 데이터 세트도 지원합니다. 중국어 텍스트를 효율적으로 맞춤화하는 동시에 처리하고 분할할 수 있는 중국어 단어 분할 기능, ADB-PG는 전체 텍스트 검색 및 분석 성능을 가속화하기 위한 인덱스 사용도 지원합니다. 이러한 기능은 AIGC 비즈니스 시나리오에서도 완벽하게 사용될 수 있습니다. 예를 들어 기업에서는 위에서 언급한 벡터 검색 및 전체 텍스트 검색 기능과 결합하여 지식 기반 문서의 양방향 회수를 수행할 수 있습니다.
5. 요약
위 내용은 Alibaba Cloud AnalyticDB(ADB) + LLM: AIGC 시대의 기업별 챗봇 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!