これは、次のツールとAPIを使用して構築するための基本的なスタータープロジェクトです。
私がこれらすべてに飛び込み始めたとき、私は個々の作品のいくつかを理解している間、すべてをまとめてまとまりのあるプロジェクトにつなぐのは難しいと感じました。このプロジェクトが、このスタックで構築しようとしている人に役立つことを願っています。
テキスト(テキストファイル)を取得し、それらをベクトルに埋め込み、それらをPineconeに保存し、データのセマンティック検索を許可するアプリを構築しています。
セマンティック検索とは何かを疑問に思う人のために、概要は次のとおりです(chatgpt4から直接取得):
セマンティック検索とは、単にキーワードを一致させるのではなく、検索クエリのコンテキストの意図とコンテキストの意味を理解する検索アプローチを指します。
自然言語処理と機械学習を使用して、セマンティクス、または意味をクエリの背後に解釈します。これにより、より正確で関連する検索結果が得られます。セマンティック検索では、ユーザーの意図、クエリコンテキスト、同義語認識、自然言語の理解を考慮してください。そのアプリケーションは、Web検索エンジンからパーソナライズされた推奨システムにまで及びます。
このセクションでは、このアプリの展開と実行方法について説明します。
このアプリを実行するには、次のことが必要です。
アプリをローカルに実行するには、次の手順に従ってください。
git clone [email protected]:dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt.gitディレクトリに変更し、NPMまたはYARNのいずれかを使用して依存関係をインストールします
.example.env.localを.env.localという新しいファイルにコピーし、APIキーと環境で更新します。
あなたの環境は、 us-west4-gcp-freeのように、Pineconeからあなたに与えられた実際の環境であることを確認してください
(オプション) - 独自のカスタムテキストまたはマークダウンファイルを/documentsフォルダーに追加します。
アプリを実行する:
npm run dev埋め込みとインデックスを作成すると、インデックスが完全に初期化するまでに最大2〜4分かかる場合があります。インデックスが作成されるのを待つutilsには180秒のSetimeOut関数があります。
初期化に時間がかかる場合、埋め込みを作成しようとするときに初めて失敗します。これが発生した場合は、Pineconeコンソールにアクセスして、インデックスのステータスが作成されて終了するのを待ってから、機能を再度実行します。
事前に構成されたアプリデータは、レンズプロトコル開発者のドキュメントに関するものであるため、独自のデータに置き換えない限り、それについての質問のみを理解します。デフォルトのデータで質問するかもしれない質問がいくつかあります
このプロジェクトのベースは、このnode.jsチュートリアルに導かれ、いくつかの再構築があり、next.jsに移植されました。 Twitterでこちらをフォローすることもできます!
GPTリポジトリローダーをチェックアウトすることをお勧めします。これにより、GitHub Repoをテキスト形式に簡単に変え、ファイルとファイルコンテンツの構造を保持し、コードベースを使用して簡単にチョップしてPineconeに保存できます。