ホームページ テクノロジー周辺機器 AI SQLiteでの検索拡張生成

SQLiteでの検索拡張生成

Feb 26, 2025 am 02:49 AM

この2部構成のシリーズは、機械学習にSQLiteを使用して探索します。 前の記事では、生産対応のWebアプリケーションにおけるSQLiteの役割の高まりについて説明しました。この記事では、sqliteを使用して検索の高等世代(RAG)の実装に焦点を当てています。

生成AIを使用したカスタムWebアプリケーションについては、losangelesaiapps.com

にアクセスしてください コードは

従来のRAG実装には、多くの場合、が含まれます

rag。

でのチュートリアルの検索

人気のあるフレームワークの選択(Langchain、llamaindex)。
  1. クラウドベクトルデータベース(Pinecone、Weaviate)の選択 これらのコンポーネントを統合します。
  2. 効果的ですが、このアプローチは、特に初心者にとっては過度に複雑になる可能性があります。 この記事では、
  3. 拡張機能とOpenAI APIを使用したSQLiteを使用したより簡単な方法を示しています。 このシリーズのパート1では、SQLiteの機能の詳細な概要を説明します。 この記事では、SQLiteのシンプルさを単一ファイルデータベースとして理解するだけで十分です。
  4. このアプローチは、クラウドベクトルデータベースとかさばるフレームワークの必要性を排除します。
  5. sqlite-vec:sqliteのパワーを拡張

sqlite-vecSqliteの強さは、その拡張性にあります。 拡張機能は、Pythonライブラリと同様に、Cに記述された機能を追加します。主要な例は、フルテキスト検索(FTS)拡張機能です。

ベクトル検索機能を追加し、キーワードマッチングを超えてセマンティック理解を可能にします。 「馬」を検索すると、「馬術」または「ポニー」が戻ってくる可能性があります

は、仮想テーブルを使用して、

を提供します

カスタムデータソース:

データはデータベースファイルの外に存在する可能性があります(例:CSV、API)。 sqlite-vec

柔軟な機能:​​

特殊なインデックス作成と複雑なデータ型をサポートしています。sqlite-vec

    シームレスな統合:
  • 標準のsqliteクエリの構文と統合。
  • モジュール:
  • バックエンドロジックは、個別のモジュールに実装されています。
  • 仮想テーブルは次のものを使用して作成されます
  • モジュールを指定します(ここでは、
  • from
  • )。
  • コードウォークスルー

コード(
CREATE VIRTUAL TABLE my_table USING my_extension_module();
ログイン後にコピー
ログイン後にコピー
repo link

)は、my_extension_module()ファイルをサンプルデータ(ほとんど物理関連)として使用します。 vec0 sqlite-vec

インストール:

必要なライブラリをリストします(

)。仮想環境を作成して、.txtmy_docs.dbを実行します

  1. openai APIキー:Openai APIキーを取得します

  2. 拡張子のロード:pythonコードはsqlite-vec拡張機能をロードし、仮想テーブルを作成します:

CREATE VIRTUAL TABLE my_table USING my_extension_module();
ログイン後にコピー
ログイン後にコピー

documentsテーブルは、埋め込み(embedding)、filenames(file_name)、およびcontent(content)を保存します。 補助フィールドを示します

  1. 埋め込みと挿入:コードはファイルを介して繰り返し、Openai APIを使用して埋め込みを生成し、データベースに挿入します:.txt
db.enable_load_extension(True)
sqlite_vec.load(db)
db.enable_load_extension(False)

db.execute('''
    CREATE VIRTUAL TABLE documents USING vec0(
        embedding float[1536],
        +file_name TEXT,
        +content TEXT
    )
''')
ログイン後にコピー
  1. rag query:a knn queryは、類似性の埋め込みに基づいて同様のドキュメントを取得します:
# ... (OpenAI embedding function) ...

for file_name in os.listdir("data"):
    # ... (Open file, get content, get embedding) ...
    db.execute(
        'INSERT INTO documents (embedding, file_name, content) VALUES (?, ?, ?)',
        (serialize_float32(embedding), file_name, content)
    )
db.commit()
ログイン後にコピー
結果は、クエリに答えるためにOpenaiチャットの完了のコンテキストとして使用されます。

結論

RAGを大幅に簡素化します。 複雑なフレームワークとクラウドサービスの必要性を排除するため、費用対効果が高く、反復が容易になります。 スケーリングには最終的にはより堅牢なデータベースが必要になる場合がありますが、

は、小規模なプロジェクトに魅力的なソリューションを提供します。 拡張機能は、複数のプログラミング言語をサポートしています sqlite-vec sqlite-vec

以上がSQLiteでの検索拡張生成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

10生成AIコーディング拡張機能とコードのコードを探る必要があります 10生成AIコーディング拡張機能とコードのコードを探る必要があります Apr 13, 2025 am 01:14 AM

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

従業員へのAI戦略の販売:Shopify CEOのマニフェスト 従業員へのAI戦略の販売:Shopify CEOのマニフェスト Apr 10, 2025 am 11:19 AM

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など Apr 11, 2025 pm 12:01 PM

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

ビジョン言語モデル(VLM)の包括的なガイド ビジョン言語モデル(VLM)の包括的なガイド Apr 12, 2025 am 11:58 AM

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

GPT-4o vs Openai O1:新しいOpenaiモデルは誇大広告に値しますか? GPT-4o vs Openai O1:新しいOpenaiモデルは誇大広告に値しますか? Apr 13, 2025 am 10:18 AM

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

AIインデックス2025を読む:AIはあなたの友人、敵、または副操縦士ですか? AIインデックス2025を読む:AIはあなたの友人、敵、または副操縦士ですか? Apr 11, 2025 pm 12:13 PM

スタンフォード大学ヒト指向の人工知能研究所によってリリースされた2025年の人工知能インデックスレポートは、進行中の人工知能革命の良い概要を提供します。 4つの単純な概念で解釈しましょう:認知(何が起こっているのかを理解する)、感謝(利益を見る)、受け入れ(顔の課題)、責任(責任を見つける)。 認知:人工知能はどこにでもあり、急速に発展しています 私たちは、人工知能がどれほど速く発展し、広がっているかを強く認識する必要があります。人工知能システムは絶えず改善されており、数学と複雑な思考テストで優れた結果を達成しており、わずか1年前にこれらのテストで惨めに失敗しました。 2023年以来、複雑なコーディングの問題や大学院レベルの科学的問題を解決することを想像してみてください

SQLに列を追加する方法は? - 分析Vidhya SQLに列を追加する方法は? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

See all articles