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

在Sqlite中檢索增強發電

Feb 26, 2025 am 02:49 AM

這個分為兩部分的系列使用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工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1654
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24
開始使用Meta Llama 3.2 -Analytics Vidhya 開始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

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

10個生成AI編碼擴展,在VS代碼中,您必須探索 10個生成AI編碼擴展,在VS代碼中,您必須探索 Apr 13, 2025 am 01:14 AM

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

向員工出售AI策略:Shopify首席執行官的宣言 向員工出售AI策略:Shopify首席執行官的宣言 Apr 10, 2025 am 11:19 AM

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

AV字節:Meta' llama 3.2,Google的雙子座1.5等 AV字節:Meta' llama 3.2,Google的雙子座1.5等 Apr 11, 2025 pm 12:01 PM

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

GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? Apr 13, 2025 am 10:18 AM

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

視覺語言模型(VLMS)的綜合指南 視覺語言模型(VLMS)的綜合指南 Apr 12, 2025 am 11:58 AM

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

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

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

閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛? 閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛? Apr 11, 2025 pm 12:13 PM

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

See all articles