在Sqlite中檢索增強發電
這個分為兩部分的系列使用SQLite進行機器學習探索。 上一篇文章討論了SQLite在生產就緒的Web應用程序中的越來越多的作用。本文著重於使用sqlite實施檢索功能。
>>用於使用生成AI的自定義Web應用程序,請訪問losangelesaiapps.com >
代碼可用>在此處。 。
傳統的抹布實施通常涉及:
- >在抹布上搜索教程。
- 選擇一個流行的框架(Langchain,LlamainDex)。
- 選擇一個雲向量數據庫(Pinecone,Weaviate)。 >
- 集成這些組件。
- 有效,這種方法可能過於復雜,尤其是對於初學者而言。 本文使用SQLITE和
>
sqlite-vec
這種方法消除了對雲矢量數據庫和笨重框架的需求。
Sqlite的強度在於其可擴展性。 與Python庫類似的擴展名添加了C中寫入的功能。一個很好的示例是全文搜索(FTS)擴展。 添加矢量搜索功能,從而使語義理解超出關鍵字匹配。 尋找“馬”可能會返回“馬術”或“小馬”。
使用虛擬表,提供:sqlite-vec
>sqlite-vec
>自定義數據源:
- 靈活功能:支持專業的索引和復雜的數據類型。
- >無縫集成:與標準sqlite查詢語法集成。
- 後端邏輯是在單獨的模塊中實現的。 使用: >創建虛擬表
- >指定模塊(在此,
CREATE VIRTUAL TABLE my_table USING my_extension_module();
my_extension_module()
vec0
代碼(sqlite-vec
repo link
文件作為示例數據(主要是物理相關)。 是sqlite數據庫文件。
,- ,
- )。創建一個虛擬環境並運行
requirements.txt
sqlite-vec
>openai
openai api鍵:python-dotenv
獲取openai api鍵。pip install -r requirements.txt
-
> 加載擴展名:python代碼加載
sqlite-vec
>擴展名並創建一個虛擬表:
CREATE VIRTUAL TABLE my_table USING my_extension_module();
documents
表存儲嵌入式(embedding
),fileNames(file_name
)和content(content
)。
表示輔助字段。
- >>嵌入和插入:
.txt
代碼通過 文件迭代,使用OpenAI API生成嵌入式,然後將它們插入數據庫:
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查詢:
# ... (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()
>
結論
>大大簡化了抹布。 它消除了對複雜框架和雲服務的需求,使其具有成本效益且易於迭代。 雖然縮放可能最終需要一個更健壯的數據庫,但sqlite-vec
>為較小的項目提供了引人注目的解決方案。 擴展名支持多種編程語言。 sqlite-vec
以上是在Sqlite中檢索增強發電的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

介紹 想像一下,穿過美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

斯坦福大學以人為本人工智能研究所發布的《2025年人工智能指數報告》對正在進行的人工智能革命進行了很好的概述。讓我們用四個簡單的概念來解讀它:認知(了解正在發生的事情)、欣賞(看到好處)、接納(面對挑戰)和責任(弄清我們的責任)。 認知:人工智能無處不在,並且發展迅速 我們需要敏銳地意識到人工智能發展和傳播的速度有多快。人工智能係統正在不斷改進,在數學和復雜思維測試中取得了優異的成績,而就在一年前,它們還在這些測試中慘敗。想像一下,人工智能解決複雜的編碼問題或研究生水平的科學問題——自2023年
