AI が私たちの働き方やテクノロジーとの関わり方を形作り続ける中、多くの企業がインテリジェントなアプリケーション内で自社のデータを活用する方法を模索しています。 ChatGPT や Azure OpenAI などのツールを使用したことがある場合は、生成 AI がどのようにプロセスを改善し、ユーザー エクスペリエンスを向上させることができるかについてはすでにご存知でしょう。ただし、真にカスタマイズされた関連性の高い応答を得るには、アプリケーションに独自のデータを組み込む必要があります。
ここで検索拡張生成 (RAG) が登場し、データ検索と AI を活用した応答を統合するための構造化されたアプローチを提供します。 LlamaIndex のようなフレームワークを使用すると、この機能をソリューションに簡単に組み込むことができ、ビジネス データの可能性を最大限に引き出すことができます。
アプリをすぐに実行して探索したいですか?ここをクリック。
RAG (検索拡張生成) とは何ですか?
検索拡張生成 (RAG) は、関連情報にアクセスし、独自のデータを統合するための検索コンポーネントを組み込むことで、AI テキスト生成を強化するニューラル ネットワーク フレームワークです。これは 2 つの主要な部分で構成されています:
- Retriever: 大量の文書コーパスを検索して、指定されたクエリに関連する関連する文章や情報を見つける高密度の Retriever モデル (例: BERT に基づく)。
- ジェネレーター: クエリと取得したテキストを入力として受け取り、一貫したコンテキストを強化した応答を生成するシーケンスツーシーケンス モデル (例: BART または T5 に基づく)。
取得者は関連する文書を見つけ、生成者はそれらを使用してより正確で有益な応答を作成します。この組み合わせにより、RAG モデルは外部の知識を効果的に活用でき、生成されるテキストの品質と関連性が向上します。
LlamaIndex は RAG をどのように実装しますか?
LlamaIndex を使用して RAG システムを実装するには、次の一般的な手順に従います。
データの取り込み:
- SimpleDirectoryReader などのドキュメント ローダーを使用して、ドキュメントを LlamaIndex.ts にロードします。これは、PDF、API、SQL データベースなどのさまざまなソースからデータをインポートするのに役立ちます。
- SentenceSplitter を使用して、大きなドキュメントを小さくて管理しやすいチャンクに分割します。
インデックスの作成:
- VectorStoreIndex を使用してこれらのドキュメント チャンクのベクトル インデックスを作成し、埋め込みに基づいた効率的な類似性検索を可能にします。
- オプションで、複雑なデータセットの場合は、再帰的取得手法を使用して階層構造のデータを管理し、ユーザーのクエリに基づいて関連セクションを取得します。
クエリ エンジンのセットアップ:
- asQueryEngine を、similarityTopK などのパラメータとともに使用して、ベクトル インデックスをクエリ エンジンに変換し、取得する上位ドキュメントの数を定義します。
- より高度なセットアップの場合は、各エージェントが特定のドキュメントを担当し、トップレベルのエージェントが全体的な取得プロセスを調整するマルチエージェント システムを作成します。
取得と生成:
- ユーザーのクエリに基づいて関連するドキュメント チャンクを取得する目的関数を定義して、RAG パイプラインを実装します。
- RetrieverQueryEngine を使用して、実際の取得とクエリ処理を実行します。オプションで、CohereRerank などのツールを使用して取得したドキュメントの再ランク付けなどの後処理ステップを実行します。
実際的な例として、Azure OpenAI を使用した完全な RAG 実装を示すサンプル アプリケーションを提供しました。
実践的な RAG サンプル アプリケーション
ここでは、LlamaIndex.ts (LlamaIndex の TypeScipt 実装) と Azure OpenAI を使用して RAG アプリケーションを構築し、それを Azure Container Apps 上のサーバーレス Web アプリとしてデプロイすることに焦点を当てます。
サンプルを実行するための要件
- Azure Developer CLI (azd): バックエンド、フロントエンド、データベースを含むアプリ全体を簡単にデプロイするためのコマンド ライン ツール。
- Azure アカウント: アプリケーションをデプロイするには Azure アカウントが必要です。まずは、いくつかのクレジットを備えた無料の Azure アカウントを取得してください。
GitHub で入門プロジェクトを見つけることができます。必要に応じて自由に編集できるように、このテンプレートをフォークすることをお勧めします:
上位レベルのアーキテクチャ
入門プロジェクト アプリケーションは、次のアーキテクチャに基づいて構築されています:
- Azure OpenAI : le fournisseur d'IA qui traite les requêtes de l'utilisateur.
- LlamaIndex.ts : le framework qui permet d'ingérer, de transformer et de vectoriser du contenu (PDF) et de créer un index de recherche.
- Azure Container Apps : environnement de conteneur dans lequel l'application sans serveur est hébergée.
- Azure Managed Identity : garantit une sécurité de premier ordre et élimine le besoin de gérer les informations d'identification et les clés API.
Pour plus de détails sur les ressources déployées, consultez le dossier infra disponible dans tous nos échantillons.
Exemples de flux de travail utilisateur
L'exemple d'application contient une logique pour deux flux de travail :
-
Ingestion de données : les données sont récupérées, vectorisées et des index de recherche sont créés. Si vous souhaitez ajouter plus de fichiers comme des fichiers PDF ou Word, c'est ici que vous devez les ajouter.
npm run generate
Traitement des demandes d'invite : l'application reçoit les invites des utilisateurs, les envoie à Azure OpenAI et augmente ces invites en utilisant l'index vectoriel comme outil de récupération.
Exécution de l'exemple
Avant d'exécuter l'exemple, assurez-vous d'avoir provisionné les ressources Azure nécessaires.
Pour exécuter le modèle GitHub dans GitHub Codespace, cliquez simplement sur
Dans votre instance Codespaces, connectez-vous à votre compte Azure, depuis votre terminal :
azd auth login
Provisionner, empaqueter et déployer l'exemple d'application sur Azure à l'aide d'une seule commande :
azd up
Pour exécuter et essayer l'application localement, installez les dépendances npm et exécutez l'application :
npm install npm run dev
L'application s'exécutera sur le port 3000 de votre instance Codespaces ou sur http://localhost:3000 dans votre navigateur.
Conclusion
Ce guide a montré comment créer une application RAG (Retrieval-Augmented Generation) sans serveur à l'aide de LlamaIndex.ts et Azure OpenAI, déployée sur Microsoft Azure. En suivant ce guide, vous pouvez tirer parti de l'infrastructure d'Azure et des capacités de LlamaIndex pour créer de puissantes applications d'IA qui fournissent des réponses enrichies contextuellement en fonction de vos données.
Nous sommes ravis de voir ce que vous créez avec cette application de démarrage. N'hésitez pas à le créer et à aimer le référentiel GitHub pour recevoir les dernières mises à jour et fonctionnalités.
以上がLlamaIndex.ts と Azure OpenAI を使用した RAG アプリの構築: 始めましょう!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
