資料庫實戰
❶ 收藏!Python內置的輕量級資料庫竟如此好用!全網最實用sqlite3實戰項目!
今天我們將深入探討 Python 內置的輕量級資料庫 sqlite3 的使用方法與實戰操作。對於那些希望避免復雜資料庫安裝過程的用戶,sqlite3 無疑是一個理想的選擇。它無需獨立的伺服器進程,且資料庫文件為 .db 後綴,支持跨平台直接訪問,便捷高效。
讓我們一起通過實際案例來掌握 sqlite3 的常用操作,以便在日常項目開發中靈活運用。
主要內容
1. 讀取數據並插入資料庫
我們將以 TXT 文件為例,進行示範操作。TXT 文件為單列數據,以換行符分割,文件數量超過 60 個,數據總量達到 5 萬以上。
1.1 源代碼
1.2 運行效果
1.3 重點代碼解釋
自動獲取所有 TXT 文件名稱和路徑:為了方便使用,我們編寫代碼自動查找所有文件名稱和路徑,無需手動指定。
資料庫創建與連接:利用 sqlite3.connect() 創建資料庫,如果資料庫文件不存在則自動創建。
創建表:執行 SQL 語句創建表 numbers,包含兩個欄位:id 和 number。
插入數據:優化文件打開方式,使用 with 語句提高效率,同時使用佔位符功能自動插入數據。
2. 資料庫操作
2.1 連接資料庫
通過指定資料庫文件路徑連接資料庫,簡化資料庫管理。
2.2 查詢資料庫中有哪些表
使用 SQL 查詢語句查看資料庫中所有表的名稱。
2.3 刪除資料庫中的某個表
執行 drop table 語句刪除指定表。
2.4 查詢表結構
2.5 查詢表中前 50 條記錄
2.6 查詢表中所有記錄
2.7 查詢表中不重復記錄
2.8 將老表中的不重復記錄插入新表
2.9 將特定結果寫入文本文件(單列)
2.10 將特定結果寫入文本文件(多列)
2.11 將特定結果寫入 CSV 文件(多列)
2.12 辦公自動化案例
利用 sqlite3 進行數據導出,實現批量生成 TXT 文件,顯著提高辦公效率。
為了幫助您快速上手,所有源代碼已發布至公眾號【智能演示】,只需回復 "sqlite3" 即可獲取下載鏈接。
期待您的實踐與探索,享受 Python 資料庫操作帶來的便利!
❷ 向量資料庫實戰介紹
本文主要介紹三種向量資料庫:faiss、Milvus和Qdrant,並通過實際例子展示其在文本相似性搜索中的應用。
向量資料庫,即Vector Database,是一種專門用於存儲、管理、查詢和檢索向量的資料庫,廣泛應用於人工智慧、機器學習和數據挖掘等領域。
在向量資料庫中,數據以向量的形式存儲和處理,需將原始非向量數據轉化為向量表示,如文本通過Embedding技術獲得其向量表徵。
這種資料庫能高效執行相似性搜索,快速找出最相似的向量,適用於人臉識別、圖像搜索、推薦系統等涉及相似性匹配的應用。去年大模型的火爆推動了向量資料庫的快速發展,使之成為AI領域的重要工具。
本文將詳細介紹三種常見的向量資料庫,並通過文本相似性搜索的具體示例展示其應用。這三種資料庫分別是:faiss、Milvus和Qdrant。
對於文本Embedding向量獲取,我們採用OpenAI的embedding模型text-embedding-ada-002,對網路的「中國載人登月工程」詞條文本進行處理。將文本切分、過濾純數字句子,保存為dengyue.txt文件,使用該模型獲取句子向量,並以npz格式保存。
接下來,我們以faiss為例,展示如何使用該庫進行文本相似性搜索。faiss是Facebook AI Similarity Search的簡稱,用於高效相似性搜索和密集向量聚類,支持CPU和GPU,提供多種索引類型,可處理大規模向量集。
以阿波羅登月計劃和北京航天城為例,faiss能夠快速檢索出與查詢文本最相似的k個語料文本。
Milvus是一個專門設計用於處理大規模嵌入向量的資料庫,支持萬億級別的向量索引,適用於非結構化數據轉換生成的嵌入向量。
通過Docker啟動Milvus服務,實現文本相似性搜索。創建collection並設置schema,使用示例Python代碼執行搜索。
Qdrant是一個用Rust編寫的高性能矢量資料庫,旨在支持先進矢量相似性搜索技術,適用於下一代人工智慧應用。支持多語言、多種數據類型和過濾器。
使用Qdrant進行文本相似性搜索,本地模式下啟動服務,或使用本地Docker,同樣通過Python代碼執行搜索。
總結,本文通過實際例子介紹了faiss、Milvus和Qdrant三種向量資料庫,並展示了它們在文本相似性搜索中的應用方法。每種資料庫各有優勢,適合不同場景,共同推動了向量資料庫在AI領域的發展。