搜尋
首頁科技週邊人工智慧在Sqlite中檢索增強發電

這個分為兩部分的系列使用SQLite進行機器學習探索。 上一篇文章討論了SQLite在生產就緒的Web應用程序中的越來越多的作用。本文著重於使用sqlite實施檢索功能。

>

>用於使用生成AI的自定義Web應用程序,請訪問losangelesaiapps.com >

代碼可用

>在此處

傳統的抹布實施通常涉及:

    >在抹布上搜索教程。
  1. 選擇一個流行的框架(Langchain,LlamainDex)。
  2. 選擇一個雲向量數據庫(Pinecone,Weaviate)。
  3. >
  4. 集成這些組件。
  5. 有效,這種方法可能過於復雜,尤其是對於初學者而言。 本文使用SQLITE和
擴展和OpenAI API演示了一種更簡單的方法。 本系列的第1部分提供了SQLite功能的詳細概述。 對於本文,將SQLite的簡單性視為單文件數據庫就足夠了。

> sqlite-vec這種方法消除了對雲矢量數據庫和笨重框架的需求。

>

sqlite-vec:擴展sqlite的功率

Sqlite的強度在於其可擴展性。 與Python庫類似的擴展名添加了C中寫入的功能。一個很好的示例是全文搜索(FTS)擴展。 添加矢量搜索功能,從而使語義理解超出關鍵字匹配。 尋找“馬”可能會返回“馬術”或“小馬”。

使用虛擬表,提供:sqlite-vec

>sqlite-vec>自定義數據源:

數據可以駐留在數據庫文件之外(例如,CSV,API)。
  • 靈活功能:支持專業的索引和復雜的數據類型。
  • >無縫集成:與標準sqlite查詢語法集成。
  • >模塊:
  • 後端邏輯是在單獨的模塊中實現的。 使用:
  • >創建虛擬表
  • >指定模塊(在此,
)。

CREATE VIRTUAL TABLE my_table USING my_extension_module();
代碼演練

my_extension_module() vec0代碼(sqlite-vecrepo link

)使用

文件作為示例數據(主要是物理相關)。 是sqlite數據庫文件。

>安裝:.txtmy_docs.db>列出了必要的庫(

  1. )。創建一個虛擬環境並運行

    requirements.txt sqlite-vec>openaiopenai api鍵:python-dotenv獲取openai api鍵。 pip install -r requirements.txt

  2. > 加載擴展名:python代碼加載sqlite-vec>擴展名並創建一個虛擬表:

CREATE VIRTUAL TABLE my_table USING my_extension_module();

documents表存儲嵌入式(embedding),fileNames(file_name)和content(content)。 表示輔助字段。

  1. >>嵌入和插入:.txt代碼通過
  2. 文件迭代,使用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
    )
''')
  1. 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()
然後將結果用作openai聊天完成的上下文來回答查詢。

>

結論

>大大簡化了抹布。 它消除了對複雜框架和雲服務的需求,使其具有成本效益且易於迭代。 雖然縮放可能最終需要一個更健壯的數據庫,但sqlite-vec>為較小的項目提供了引人注目的解決方案。 擴展名支持多種編程語言。 sqlite-vec

Retrieval Augmented Generation in SQLite

以上是在Sqlite中檢索增強發電的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
我嘗試了使用光標AI編碼的Vibe編碼,這太神奇了!我嘗試了使用光標AI編碼的Vibe編碼,這太神奇了!Mar 20, 2025 pm 03:34 PM

Vibe編碼通過讓我們使用自然語言而不是無盡的代碼行創建應用程序來重塑軟件開發的世界。受Andrej Karpathy等有遠見的人的啟發,這種創新的方法使Dev

如何使用DALL-E 3:技巧,示例和功能如何使用DALL-E 3:技巧,示例和功能Mar 09, 2025 pm 01:00 PM

DALL-E 3:生成的AI圖像創建工俱生成的AI正在革新內容創建,而OpenAI最新的圖像生成模型Dall-E 3處於最前沿。它於2023年10月發行,建立在其前任Dall-E和Dall-E 2上

2025年2月的Genai推出前5名:GPT-4.5,Grok-3等!2025年2月的Genai推出前5名:GPT-4.5,Grok-3等!Mar 22, 2025 am 10:58 AM

2025年2月,Generative AI又是一個改變遊戲規則的月份,為我們帶來了一些最令人期待的模型升級和開創性的新功能。從Xai的Grok 3和Anthropic的Claude 3.7十四行詩到Openai的G

如何使用Yolo V12進行對象檢測?如何使用Yolo V12進行對象檢測?Mar 22, 2025 am 11:07 AM

Yolo(您只看一次)一直是領先的實時對象檢測框架,每次迭代都在以前的版本上改善。最新版本Yolo V12引入了進步,可顯著提高準確性

Elon Musk&Sam Altman衝突超過5000億美元的星際之門項目Elon Musk&Sam Altman衝突超過5000億美元的星際之門項目Mar 08, 2025 am 11:15 AM

這項耗資5000億美元的星際之門AI項目由OpenAI,Softbank,Oracle和Nvidia等科技巨頭支持,並得到美國政府的支持,旨在鞏固美國AI的領導力。 這項雄心勃勃

Sora vs veo 2:哪個創建更現實的視頻?Sora vs veo 2:哪個創建更現實的視頻?Mar 10, 2025 pm 12:22 PM

Google的VEO 2和Openai的Sora:哪個AI視頻發電機佔據了至尊? 這兩個平台都產生了令人印象深刻的AI視頻,但它們的優勢在於不同的領域。 使用各種提示,這種比較揭示了哪種工具最適合您的需求。 t

Google的Gencast:Gencast Mini Demo的天氣預報Google的Gencast:Gencast Mini Demo的天氣預報Mar 16, 2025 pm 01:46 PM

Google DeepMind的Gencast:天氣預報的革命性AI 天氣預報經歷了巨大的轉變,從基本觀察到復雜的AI驅動預測。 Google DeepMind的Gencast,開創性

哪個AI比Chatgpt更好?哪個AI比Chatgpt更好?Mar 18, 2025 pm 06:05 PM

本文討論了AI模型超過Chatgpt,例如Lamda,Llama和Grok,突出了它們在準確性,理解和行業影響方面的優勢。(159個字符)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),