タグ

ブックマーク / note.com/npaka (8)

  • GPT Index で専門知識を必要とする質問応答チャットボットを簡単作成|npaka|note

    「GPT Index」を試したので、まとめました。 1. GPT Index「GPT Index」は、専門知識を必要とする質問応答チャットボットを簡単に作成できるライブラリです。 同様のチャットボットは「LangChain」でも作成できますが、「GPT Index」は、コード数行で完成してお手軽なのが特徴になります。 2. ドキュメントの準備はじめに、チャットボットに教える専門知識を記述したドキュメントを用意します。 今回は、マンガペディアの「ぼっち・ざ・ろっく!」のあらすじのドキュメントを用意しました。 ・bocchi.txt 【注意】ドキュメントが大きいと、OpenAI APIの呼び出しも多くなるので、コストを注意する必要があります。 3. Colabでの実行Google Colabでの実行手順は、次のとおりです。 (1) パッケージのインストール。 # パッケージのインストール !p

    GPT Index で専門知識を必要とする質問応答チャットボットを簡単作成|npaka|note
  • LlamaIndex v0.7 のデータエージェント|npaka

    以下の記事が面白かったので、軽くまとめました。 ・LlamaIndex - Data Agents 1. データエージェント「データエージェント」は、LLMを利用したナレッジワーカーです。データに対して「読み取り」と「書き込み」の両タスクをインテリジェントに実行することができます。 「データエージェント」では、次のようなタスクが可能になります。 ・「非構造化データ」「半構造化データ」「構造化データ」など、様々なデータに対して自動検索と取得を実行。 ・構造化された方法での「外部サービスAPI」 の呼び出し。レスポンスをすぐに処理することも、インデックス化 / キャッシュすることも可能。 ・会話履歴の保存。 ・上記のすべてを使用して、「単純なデータタスク」と「複雑なデータタスク」の両方を実行。 「データエージェント」を構築するために、「エージェント側」と「ツール側」の両方で、「抽象化」「サービ

    LlamaIndex v0.7 のデータエージェント|npaka
  • LangChain の Googleカスタム検索 連携を試す|npaka

    1. Googleカスタム検索「Googleカスタム検索」は、WebサイトやアプリケーションでGoogle検索の機能を利用することができます。 LangChainのデフォルトの検索API「SerpAPI」との料金比較は、次のとおりです。 ◎ SerpAPI 無料版 : 1ヶ月に100クエリ 有料版 : 5000クエリで50ドル ◎ Googleカスタム検索 無料版 : 1日に100クエリ 有料版 : 1000クエリで5ドル 2. 検索エンジンIDとAPIキーの取得Googleカスタム検索のサイトで、新しい検索エンジン(の設定)を作成し、検索エンジンIDとAPIキーを取得します。 (1) Googleカスタム検索のサイトを開き、「使ってみる」を押す。 (2) 新しい検索エンジンを作成。 検索エンジンの名前とウェブ全体を検索を指定します。 (3) 「基」の「検索エンジンID」をコピー。 (4

    LangChain の Googleカスタム検索 連携を試す|npaka
  • ローカルLLMの情報まとめ|npaka

    「ローカルLLM」の記事が増えてきたのでまとめました。 「Llama 2」ベースのローカルLLMについては、以下でまとめています。

    ローカルLLMの情報まとめ|npaka
  • GPT Index のナレッジグラフ機能を試す|npaka

    GPT Index のナレッジグラフ機能を試したので、まとめました。 1. ナレッジグラフ「ナレッジグラフ」 (Knowledge Graph) は、さまざまな知識の関係をグラフ構造で表したものです。知的システムの基盤となるデータベースとして用いられます。 「GPT Index」は、RDF フレームワークと直接互換性のある「トリプル」 (主語、述語、目的語) として表されるナレッジグラフデータをサポートします。内部的には、グラフデータは有向グラフとして管理されます。 現在、「GPT Index」は、LLMがサポートするトリプルの操作を2つ提供しています。 ・グラフ抽出 (Graph extraction) : 与えられたテキストからトリプルを抽出 ・グラフQ&A (Graph Q&A) : グラフデータを応答合成のコンテキストとして利用 2. グラフ抽出Google Colabでの「GPT

    GPT Index のナレッジグラフ機能を試す|npaka
  • GiNZA入門 (2) - 固有表現抽出|npaka

    1. GiNZA のインストール(1) 「Google Colab」で以下のコマンドを実行。 !pip install -U ginza(2) メニュー「ランタイム → ランタイムを再起動」で「Google Colab」を再起動。​ 2. 固有表現抽出の実行「固有抽出表現」は、文章から人名や場所名などの「固有表現」(名前付きエンティティ)を抽出する処理です。 import spacy # GiNZAの準備 nlp = spacy.load('ja_ginza') # 固有表現抽出の実行 doc = nlp('夏目金之助(後の漱石)は、1867年2月9日に江戸の牛込馬場下にて、名主の夏目小兵衛直克・千枝夫の末子として出生した。') for ent in doc.ents: print( ent.text+','+ # テキスト ent.label_+','+ # ラベル str(ent.s

    GiNZA入門 (2) - 固有表現抽出|npaka
  • SentencePiece 入門|npaka

    Google Colab」で「SentencePiece」を試してみました。 1. SentencePiece「SentencePiece」は、テキストを「サブワード」に分割するツールです。 「自然言語処理」の深層学習を行うには、テキストを何かしらの「トークン」に分割し、それを「ベクトル表現」に変換する必要があります。 以前は、「MeCab」の形態素解析を使ってテキストを「単語」に分割するのが一般的でした。しかし「単語」を使うのは実用上の問題点があります。語彙数が膨大になり、高頻度語彙のみに限定したとしても、低頻度語彙が捨てられ未知語として扱われることになります。 「SentencePiece」では「サブワード」を使ってこの問題を解決しています。はじめに、テキストを単語に分割し、各単語の頻度を求めます。次に、高頻度単語は1語彙として扱い、低頻度単語はより短い語彙に分割します。そして、語彙

    SentencePiece 入門|npaka
  • spaCy入門 (1) - 事始め|npaka

    以下の記事を参考に書いてます。サンプルは「GiNZA」で日語対応してます。 ・spaCy 101: Everything you need to know 1. spaCy とは?「spaCy」は、Pythonの自然言語処理ライブラリです。プロダクト用に設計されており、大量のテキストの処理および理解を行うアプリの構築に役立ちます。「情報抽出」「自然言語理解」「深層学習のテキストの前処理」に使用できます。 2. spaCy ではないもの◎ spaCyWebサービスではありません。 Webサービスではなく、NLPアプリを構築するために設計されたライブラリです。 ◎ spaCyはチャットボットエンジンではありません。 会話型アプリの強化にも利用できますが、チャットボット用に設計されたものではなく、テキスト処理機能のみを提供します。 ◎ spaCyは研究用のソフトウェアではありません。 最新の

    spaCy入門 (1) - 事始め|npaka
  • 1