LlamaIndex.ts 및 Azure OpenAI를 사용하여 RAG 앱 빌드: 시작하기!

WBOY
풀어 주다: 2024-09-10 18:30:30
원래의
646명이 탐색했습니다.

AI가 우리가 일하고 기술과 상호 작용하는 방식을 지속적으로 형성함에 따라 많은 기업은 지능형 애플리케이션 내에서 자체 데이터를 활용할 수 있는 방법을 찾고 있습니다. ChatGPT 또는 Azure OpenAI와 같은 도구를 사용해 본 적이 있다면 생성 AI가 어떻게 프로세스를 개선하고 사용자 경험을 향상시킬 수 있는지 이미 잘 알고 계실 것입니다. 그러나 진정으로 맞춤화되고 관련성이 높은 응답을 위해서는 애플리케이션에 독점 데이터가 통합되어야 합니다.

여기서 데이터 검색과 AI 기반 응답을 통합하는 구조화된 접근 방식을 제공하는 검색 증강 생성(RAG)이 등장합니다. LlamaIndex와 같은 프레임워크를 사용하면 이 기능을 솔루션에 쉽게 구축하여 비즈니스 데이터의 잠재력을 최대한 활용할 수 있습니다.

Building a RAG app with LlamaIndex.ts and Azure OpenAI: Getting started!

앱을 빠르게 실행하고 살펴보고 싶으신가요? 여기를 클릭하세요.

RAG(검색 증강 생성)란 무엇입니까?

검색 증강 생성(RAG)은 관련 정보에 액세스하고 자신의 데이터를 통합하기 위한 검색 구성 요소를 포함하여 AI 텍스트 생성을 향상시키는 신경망 프레임워크입니다. 이는 두 가지 주요 부분으로 구성됩니다:

  • 리트리버: 대량의 문서를 검색하여 주어진 쿼리와 관련된 구절이나 정보를 찾는 밀집 검색기 모델(예: BERT 기반)입니다.
  • 생성기: 쿼리와 검색된 텍스트를 입력으로 사용하여 일관되고 상황에 맞게 풍부한 응답을 생성하는 시퀀스-시퀀스 모델(예: BART 또는 T5 기반)입니다.

검색자는 관련 문서를 찾고 생성자는 이를 사용하여 보다 정확하고 유익한 응답을 생성합니다. 이러한 조합을 통해 RAG 모델은 외부 지식을 효과적으로 활용하여 생성된 텍스트의 품질과 관련성을 향상시킬 수 있습니다.

LlamaIndex는 RAG를 어떻게 구현합니까?

LlamaIndex를 사용하여 RAG 시스템을 구현하려면 다음 일반 단계를 따르세요.

데이터 수집:

  • PDF, API 또는 SQL 데이터베이스와 같은 다양한 소스에서 데이터를 가져오는 데 도움이 되는 SimpleDirectoryReader와 같은 문서 로더를 사용하여 LlamaIndex.ts에 문서를 로드하세요.
  • SentenceSplitter를 사용하여 큰 문서를 관리하기 쉬운 작은 덩어리로 나눕니다.

인덱스 생성:

  • VectorStoreIndex를 사용하여 이러한 문서 청크의 벡터 인덱스를 생성하면 임베딩을 기반으로 효율적인 유사성 검색이 가능합니다.
  • 복잡한 데이터 세트의 경우 재귀 검색 기술을 사용하여 계층적으로 구조화된 데이터를 관리하고 사용자 쿼리를 기반으로 관련 섹션을 검색할 수도 있습니다.

쿼리 엔진 설정:

  • asQueryEngine을 유사성TopK와 같은 매개변수와 함께 사용하여 벡터 인덱스를 쿼리 엔진으로 변환하여 검색해야 하는 상위 문서 수를 정의합니다.
  • 고급 설정을 위해서는 각 에이전트가 특정 문서를 담당하고 최상위 에이전트가 전체 검색 프로세스를 조정하는 다중 에이전트 시스템을 만드세요.

검색 및 생성:

  • 사용자 쿼리를 기반으로 관련 문서 청크를 검색하는 목적 함수를 정의하여 RAG 파이프라인을 구현합니다.
  • RetrieverQueryEngine을 사용하면 CohereRerank와 같은 도구를 사용하여 검색된 문서의 순위를 다시 매기는 등 선택적 사후 처리 단계와 함께 실제 검색 및 쿼리 처리를 수행할 수 있습니다.

실용적인 예를 위해 Azure OpenAI를 사용하여 완전한 RAG 구현을 시연하는 샘플 애플리케이션을 제공했습니다.

실용적인 RAG 샘플 애플리케이션

이제 LlamaIndex.ts(LlamaIndex의 TypeScipt 구현) 및 Azure OpenAI를 사용하여 RAG 애플리케이션을 구축하고 이를 Azure Container Apps에 서버리스 웹 앱으로 배포하는 데 중점을 둘 것입니다.

샘플 실행을 위한 요구 사항

  • Azure 개발자 CLI(azd): 백엔드, 프런트엔드, 데이터베이스를 포함한 전체 앱을 쉽게 배포할 수 있는 명령줄 도구입니다.
  • Azure 계정: 애플리케이션을 배포하려면 Azure 계정이 필요합니다. 시작하려면 크레딧이 포함된 무료 Azure 계정을 받으세요.

GitHub에서 시작하기 프로젝트를 찾을 수 있습니다. 필요할 때 자유롭게 편집할 수 있도록 이 템플릿을 포크하는 것이 좋습니다.

Building a RAG app with LlamaIndex.ts and Azure OpenAI: Getting started!

상위 수준 아키텍처

시작하기 프로젝트 애플리케이션은 다음 아키텍처를 기반으로 구축되었습니다.

  • Azure OpenAI: Pembekal AI yang memproses pertanyaan pengguna.
  • LlamaIndex.ts: Rangka kerja yang membantu menelan, mengubah dan mengvektorkan kandungan (PDF) dan mencipta indeks carian.
  • Apl Bekas Azure: Persekitaran kontena tempat aplikasi tanpa pelayan dihoskan.
  • Identiti Terurus Azure: Memastikan keselamatan terkemuka dan menghapuskan keperluan untuk mengendalikan bukti kelayakan dan kunci API.

Building a RAG app with LlamaIndex.ts and Azure OpenAI: Getting started!

Untuk butiran lanjut tentang sumber yang digunakan, semak folder infra yang tersedia dalam semua sampel kami.

Contoh Aliran Kerja Pengguna

Aplikasi sampel mengandungi logik untuk dua aliran kerja:

  1. Ingestion Data: Data diambil, divektorkan dan indeks carian dibuat. Jika anda ingin menambahkan lebih banyak fail seperti fail PDF atau Word, di sinilah anda harus menambahkannya.

      npm run generate
    
    로그인 후 복사
  2. Menyajikan Permintaan Gesaan: Apl menerima gesaan pengguna, menghantarnya ke Azure OpenAI dan menambah gesaan ini menggunakan indeks vektor sebagai retriever.

Menjalankan Sampel

Sebelum menjalankan sampel, pastikan anda telah menyediakan sumber Azure yang diperlukan.

Untuk menjalankan templat GitHub dalam Ruang Kod GitHub, cuma klik
Building a RAG app with LlamaIndex.ts and Azure OpenAI: Getting started!

Dalam contoh Codespaces anda, log masuk ke akaun Azure anda, dari terminal anda:

azd auth login
로그인 후 복사

Peruntukan, pakej dan gunakan aplikasi sampel ke Azure menggunakan satu arahan:

azd up
로그인 후 복사

Untuk menjalankan dan mencuba aplikasi secara setempat, pasang kebergantungan npm dan jalankan apl:

npm install
npm run dev
로그인 후 복사

Apl akan berjalan pada port 3000 dalam contoh Codespaces anda atau di http://localhost:3000 dalam penyemak imbas anda.

Kesimpulan

Panduan ini menunjukkan cara membina aplikasi RAG (Retrieval-Augmented Generation) tanpa pelayan menggunakan LlamaIndex.ts dan Azure OpenAI, yang digunakan pada Microsoft Azure. Dengan mengikuti panduan ini, anda boleh memanfaatkan infrastruktur Azure dan keupayaan LlamaIndex untuk mencipta aplikasi AI yang berkuasa yang memberikan respons yang diperkaya secara kontekstual berdasarkan data anda.

Kami teruja untuk melihat perkara yang anda bina dengan aplikasi permulaan ini. Jangan segan silu untuk melakukannya dan suka repositori GitHub untuk menerima kemas kini dan ciri terkini.

위 내용은 LlamaIndex.ts 및 Azure OpenAI를 사용하여 RAG 앱 빌드: 시작하기!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!