SQLiteでの検索拡張生成
この2部構成のシリーズは、機械学習にSQLiteを使用して探索します。 前の記事では、生産対応のWebアプリケーションにおけるSQLiteの役割の高まりについて説明しました。この記事では、sqliteを使用して検索の高等世代(RAG)の実装に焦点を当てています。
生成AIを使用したカスタムWebアプリケーションについては、losangelesaiapps.comにアクセスしてください コードは
従来のRAG実装には、多くの場合、が含まれます
rag。でのチュートリアルの検索
人気のあるフレームワークの選択(Langchain、llamaindex)。- クラウドベクトルデータベース(Pinecone、Weaviate)の選択 これらのコンポーネントを統合します。
- 効果的ですが、このアプローチは、特に初心者にとっては過度に複雑になる可能性があります。 この記事では、
- 拡張機能とOpenAI APIを使用したSQLiteを使用したより簡単な方法を示しています。 このシリーズのパート1では、SQLiteの機能の詳細な概要を説明します。 この記事では、SQLiteのシンプルさを単一ファイルデータベースとして理解するだけで十分です。 このアプローチは、クラウドベクトルデータベースとかさばるフレームワークの必要性を排除します。
- sqlite-vec:sqliteのパワーを拡張
sqlite-vec
Sqliteの強さは、その拡張性にあります。 拡張機能は、Pythonライブラリと同様に、Cに記述された機能を追加します。主要な例は、フルテキスト検索(FTS)拡張機能です。
を提供します
カスタムデータソース:データはデータベースファイルの外に存在する可能性があります(例:CSV、API)。
sqlite-vec
特殊なインデックス作成と複雑なデータ型をサポートしています。sqlite-vec
- シームレスな統合:
- 標準のsqliteクエリの構文と統合。 モジュール:
- バックエンドロジックは、個別のモジュールに実装されています。 仮想テーブルは次のものを使用して作成されます
- モジュールを指定します(ここでは、 from
- )。 コードウォークスルー
コード(
CREATE VIRTUAL TABLE my_table USING my_extension_module();
)は、my_extension_module()
ファイルをサンプルデータ(ほとんど物理関連)として使用します。 sqlite-vec
インストール:
必要なライブラリをリストします(、、)。仮想環境を作成して、.txt
。my_docs.db
を実行します
openai APIキー:Openai APIキーを取得します
-
拡張子のロード:pythonコードは
sqlite-vec
拡張機能をロードし、仮想テーブルを作成します:
CREATE VIRTUAL TABLE my_table USING my_extension_module();
documents
テーブルは、埋め込み(embedding
)、filenames(file_name
)、およびcontent(content
)を保存します。
補助フィールドを示します
- 埋め込みと挿入:コードはファイルを介して繰り返し、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 ) ''')
- 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()
RAGを大幅に簡素化します。 複雑なフレームワークとクラウドサービスの必要性を排除するため、費用対効果が高く、反復が容易になります。 スケーリングには最終的にはより堅牢なデータベースが必要になる場合がありますが、
は、小規模なプロジェクトに魅力的なソリューションを提供します。 拡張機能は、複数のプログラミング言語をサポートしています
sqlite-vec
sqlite-vec
以上がSQLiteでの検索拡張生成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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