快訊!我的新書今天開始可以在天瓏網路書店預購啦!歡迎大家前往訂購!

 >>>> AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題 <<<<

  • ,

    文字轉語音的開源套件ChatTTS

    ChatTTS介紹 chatTTS 是一個開源的文本轉語音(Text-to-Speech, TTS)項目,旨在將文字內容轉換為接近人類真實聲音的語音輸出。該項目在GitHub上迅速獲得了大量關注,因其語音合成效果非常逼真,甚至超越了一些商用TTS服務。chatTTS使用了大量的語音數據進行訓練,目前提供的模型已能夠生成語氣、停頓和節奏都極其自然的語音,並且支持多種語言和音色的合成。該項目允許用戶在本地或雲端(如Colab)環境中運行,並提供了易於使用的整合包和腳本,方便用戶快速上手。 官方網站 Github項目地址: https://github.com/2noise/ChatTTS/tree/main 直接可使用的易用版本ChatTTS_colab: https://github.com/6drf21e/ChatTTS_colab 模型的優勢 ChatTTS安裝 Clone Repo  安裝相關套件 啟動 ChatTTS_colab下載 這個套件真的可以讓人很容易地使用ChatTTS,從官方Github的下載連結下載、解壓縮後,直接便可以使用 點選運行就可以跑出網頁操作介面了 以下為網頁介面的樣子,可使用音色抽卡功能挑選滿意的音色,並且下載該語音模型檔案 另外有Refine Text的功能,這個功能可以透過大語言模型,自動為所輸入的文字加上停頓或笑聲,或者我們也可以自己手動加上這個(使用特別的標籤[uv_break]或[uv_laugh]) 也可以透過文本來產生多個人的對話,用::來分隔”腳色”和”對話內容”,例如: 旁白::在一個風和日麗的下午,小紅帽準備去森林裡看望他的奶奶 接著按下步驟1提取腳色,右邊的腳色種子就會根據文本的腳色來出現在表格當中,接著我們可以填入預選好的種子編號以及相關語速、笑聲等設定,就可以將整段對話產生為一個音檔 此為開啟伺服器的python視窗,我們可以看到伺服器正在產生影片 模型產生的音檔試聽 也有整理過的音色評比網站,登入後可直接線上試聽不同的音色 https://modelscope.cn/studios/ttwwwaa/ChatTTS_Speaker

    Continue Reading…: 文字轉語音的開源套件ChatTTS

  • ,

    適用於雲端的物件存儲系統 – Minio

    Minio介紹 MinIO 是一個開源的分佈式物件儲存服務器,針對需要大規模數據基礎架構的用戶設計。它支持與 S3 API 的完全兼容,並以私有雲為目標從頭開始建立。MinIO 在全球範圍內擁有廣泛的用戶和開發者社群,並且在 GitHub 上有超過 16,000 個星標,以及在 Docker 上超過 2.19 億次的下載。 核心功能 部署教學 1. 下載和安裝 首先,訪問 MinIO 的 GitHub 頁面 下載最新的 MinIO 二進制文件。選擇適合您操作系統的版本進行下載並解壓。 2. 啟動 MinIO 服務器 在命令行中導航到 MinIO 二進制文件的位置,運行以下命令來啟動 MinIO 伺服器: 這裡 D:\ 是您想要 MinIO…

    Continue Reading…: 適用於雲端的物件存儲系統 – Minio

  • ,

    專為連接性設計的查詢語言 – Cypher

    甚麼是Cypher  Cypher 是為了滿足開發者在處理圖形數據時的需求而生的。它的設計靈感來自於 SQL,目的是提供一種易於閱讀且表達能力強的語言來操作圖形數據。與傳統的 SQL 針對表格數據操作不同,Cypher 是專門為圖形數據設計的,能夠直觀地表示節點、關係及其屬性。 Cypher 的優點 Cypher 的基本結構 在 Cypher 中,圖形被視為由節點(Nodes)和關係(Relationships)構成的網絡。每個節點和關係都可以擁有多個屬性。Cypher 查詢主要包括以下幾個部分: 與 SQL 的比較 以下是一個客戶提供的實際 SQL 查詢示例,用於了解其組織結構: 以下是等效的 Cypher 查詢: 新增圖形資料的步驟 1. 定義節點與關係 首先,您需要定義圖形中的節點(Nodes)和邊(Edges)或稱關係(Relationships)。節點代表實體,如人、地點、物件等,而邊則代表節點間的關係,如“朋友”、“位於”或“擁有”。 2. 創建模型 在 Neo4j 中,您可以透過 Cypher 語言創建模型。例如,如果您要建立一個表示人和學校的簡單模型,您可能會有如下命令: 這裡,Person 和 School 是節點的標籤,用於描述節點類型,而花括號內的是節點的屬性。 3….

    Continue Reading…: 專為連接性設計的查詢語言 – Cypher

  • ,

    圖形資料庫的概念入門

    本文為此視頻的學習筆記 關聯式資料庫的核心概念 – ACID ACID 是一個用來描述資料庫事務正確性的術語,它代表了原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)四個關鍵特性: ACID 特性是許多關係型資料庫管理系統(RDBMS)的基礎,是它們能夠提供可靠事務處理的關鍵所在。 NoSQL:資料庫技術的演進 以前,我們使用關係型數據庫管理系統(RDBMS)來存儲數據。這種方法雖然在當時是最先進的技術,但其存在許多缺點: 隨著技術的進步,我們開始在關係型資料庫中使用表格的形式來存儲數據。這些表格使得數據更容易被人類讀懂,但一旦為了去重和保持一致性而標準化數據,就會出現以下問題: 關係型資料庫的優勢與限制 關係型資料庫的一個顯著優勢是支持ACID特性,這保證了數據一旦提交,後續查詢都能訪問到這些數據。然而,這也帶來了一些挑戰: NoSQL技術的崛起 過去十年,雲計算的出現使情況變得更加複雜。數據量爆炸性增長,我們面臨的挑戰是如何存儲這些海量數據,並使其易於查詢。傳統的關係型資料庫已經難以應對這種規模的數據,這促使了NoSQL技術的革新。 NoSQL技術的發展目的是為了更快地查詢更多的數據,這其中需要做出一些權衡,比如放棄ACID的某些要求。畢竟,在處理數以百萬計的交易時,偶爾丟失一兩筆交易可能是可以接受的。 現代資料庫的用戶接口 為了提高開發者與大數據互動的便利性,我們需要發明或普及不同的用戶接口。其中最簡單的一種是鍵值接口: 鍵值接口:用一個鍵來存儲值,之後可以用這個鍵來獲取值,但這些值對資料庫來說是不透明的,毫無意義。 如果希望資料庫能根據內容來索引和查詢這些值,文檔資料庫就派上用場了: 文檔資料庫:讓你既可以用鍵來查找文檔,也可以基於文檔的內容來進行查找,這些內容都是為了快速檢索而被索引的。 圖形資料庫入門:掌握數據關係與提升查詢效率 1. 圖形資料庫的概念 圖形資料庫主要是用來存儲和操作由節點(實體)和邊(關係)組成的圖形結構數據。與傳統的關係型資料庫不同,圖形資料庫專注於實體之間的關係,這使得它們在處理複雜且相互連接的數據時更為有效。例如,社交網絡分析、推薦系統、欺詐檢測等場景,都能從圖形資料庫的結構中獲益。 2. 數據的存儲與查詢方式 圖形資料庫將數據以圖的形式存儲,其中每個節點表示一個實體,每條邊表示實體之間的某種關係。這種存儲方式不僅反映了真實世界的結構,而且使得查詢和分析數據關係變得直觀且高效。開發者可以直接利用這些關係來快速獲取複雜的查詢結果,而無需執行繁瑣的表連接操作。 3. ACID支持與數據完整性 雖然NoSQL資料庫在處理大量數據時提供了極大的靈活性和擴展性,但對於需要嚴格事務管理和數據完整性保證的應用,這可能是一個挑戰。圖形資料庫如Neo4j在這方面做出了調整,它提供了對ACID事務的支持,使得開發者在維護數據完整性的同時,也能享受NoSQL帶來的其他好處。 4. 從關係型資料庫到圖形資料庫的遷移 將現有的關係型資料庫數據遷移到圖形資料庫看似一個巨大的挑戰,但實際上這是一個直觀且簡單的過程。這種遷移不僅可以提供一個更直觀的數據模型,還能提高查詢的速度和數據處理的靈活性,特別是在業務需求迅速變化的今天,這一點尤為重要。 圖形資料庫的特性及應用案例 在評估資料庫時,開發者通常會考量以下三個主要目標: 1. 直觀性 直觀性意味著以邏輯方式創建和維護數據,減少從代碼到資料庫調用的轉換摩擦,以及業務人員描述應用需求與開發人員滿足這些需求之間的轉換。轉換減少等於提升生產力。在圖形資料庫中,白板模型即是物理模型。你在白板上繪製的數據模型將以完全相同的方式在磁盤上表示,這樣可以大大降低理解和實施上的難度。 2….

    Continue Reading…: 圖形資料庫的概念入門

  • ,

    Neo4j圖形資料庫介紹

    官方資訊 官方網站: https://neo4j.com/ GitHub: https://github.com/neo4j/neo4j 什麼是Neo4j? 圖形資料庫是一種非關係型的資料庫,以圖形的方式存儲和處理數據。在圖形資料庫中,數據結構主要由節點(Node)和邊(Edge)組成,其中節點代表實體,邊則代表實體間的關係。這種資料庫尤其適合解決複雜的連接問題,例如社交網絡分析、推薦系統和欺詐檢測等。 Neo4j是目前最受歡迎的圖形資料庫之一,它提供了強大的數據建模能力和高效的查詢性能。作為一款專門處理連接數據的數據庫,Neo4j從設計之初就針對數據及其關係進行了優化。作為一種原生圖形數據庫,Neo4j在結構上與其他數據存儲方式大不相同。所謂「原生」意味著每一個數據記錄或節點都包含了直接指向其相連節點的指針,這些直接指針稱為關係。節點中已包含了查找下一個節點所需的所有信息,這就構成了一個連接的圖形,即所謂的原生存儲層。 由於這個設計原理,Neo4j在查詢時不需要計算數據之間的關係,因為這些連接已經存在於數據庫中。這使得對密集連接數據的查詢速度比其他數據庫快數個量級。其他數據庫沒有保存記錄之間的直接指針,它們需要通過搜索一個稱為索引的單獨數據結構來計算連接,這一查找過程需要反复執行以找到每一個連接,不僅耗時而且隨著數據量和查詢複雜度的增加,速度會呈指數級下降,這使它們在處理關係密集型查詢時的速度遠不及Neo4j。 甚麼是圖形數據庫 圖形數據庫將數據以圖的形式表示,這裡的「圖」是數學上的概念,即由節點通過邊連接。在Neo4j中,這些邊被稱為關係。這種表示方式讓客戶能夠實現傳統數據庫無法達到的洞察,因為傳統數據庫通常只將數據表示為行和列。這些新的洞察促使企業能夠做出更多基於數據的決策。 圖形數據庫可以解決三種類型的問題:旅程問題、複雜模式匹配和圖形算法應用。例如,在供應鏈管理中,從產品的來源追踪到消費者的餐盤;或者在零售行業中,通過知識圖形來支持對話代理,讓顧客能夠查詢產品成分等信息。 四種NoSQL 非關聯性資料庫 NoSQL 非關聯性資料庫 例子 鍵-值資料庫 Hadoop HBase 記憶體資料庫 Redis 文件資料庫 Mongodb 圖形資料庫 Neo4j 主要功能及應用 (一)社交網路圖譜 Neo4j 可以進行複雜關係的查詢,讓使用者或其資料作為節點,使用者與資料的關係作為結點間的連結。 舉例來說,Neo4j 儲存公司、員工資料,便可進行查詢員工與公司的關係、員工與員工的關係、公司與其他類似公司的關係或與員工其他公司的關聯。 (二)企業網路圖譜 相較於單純的工商資訊查詢,藉由 Neo4j 的企業資訊查詢,可以更全面的了解企業資訊。 舉例來說,想了解一家企業的資訊,涵蓋了公司設立資訊、產品資訊、相關聯性資訊等等,利用 Neo4j 就可以查詢到相關聯的關係人資訊,如合作夥伴、客戶、投資人、供應商資料等等,藉由圖資料查詢可以層層挖掘資料,了解其中的複雜關係。 (三)金融產業應用:反洗錢的模型與反欺詐多維關聯分析場景…

    Continue Reading…: Neo4j圖形資料庫介紹

  • ,

    使用GitHub 的 HTTPS 憑證拉取私有庫

    為什麼不能用登入帳密拉取 使用帳密進行身份驗證存在安全風險,尤其是在命令列工具中,如果密碼被儲存或洩露,可能會導致帳戶被入侵。因此,GitHub 要求使用 HTTPS 憑證來增加安全性,並且從 2021 年 8 月 13 日起,GitHub 停止支援使用帳戶密碼進行命令列操作,改為強制使用 Personal Access Token 進行身份驗證。 兩者的區別和為什麼不能通用的原因: 登入帳密: HTTPS 憑證(Personal Access Token 或 OAuth Token): 如何生成 Personal Access Token 登入 GitHub。點擊右上角的個人頭像,選擇「Settings」。 在左側欄位中選擇「Developer settings」。 選擇「Personal access tokens」。點擊「Generate new token」,設置 token 的名稱和存取權限。…

    Continue Reading…: 使用GitHub 的 HTTPS 憑證拉取私有庫

  • ,

    FlashAttention介紹

    官方資訊 Github: https://github.com/Dao-AILab/flash-attention 論文文檔: https://arxiv.org/abs/2205.14135 此存儲庫提供了以下論文中 FlashAttention 和 FlashAttention-2 的官方實現。可讓我們在建模時有更快的注意力,更好的並行度和工作分區。下面為一張概念示意圖: 官方所做的效能提升試驗結果如下: 甚麼是Flash Attention Flash Attention 是一種注意力算法,旨在提高基於 Transformer 的模型的效率,使其能夠處理更長的序列長度並更快地進行訓練和推理。它通過減少計算量和內存使用來實現這一點。Flash Attention 是一種快速且內存高效的精確注意力機制,其設計考慮了IO(輸入輸出)的特性。 這項技術的關鍵點 快速 (Fast) 高效內存使用 (Memory-efficient) 精確 (Exact) IO感知 (IO-aware) 使用Flash Attention 可以通過以下兩種方式來實現: 安裝/使用Flash Attention 系統要求: 我們推薦 Nvidia 的 Pytorch 容器,它具有安裝…

    Continue Reading…: FlashAttention介紹

  • ,

    向量搜尋資料庫的比較

    ChromaDB介紹 官方文件: https://docs.trychroma.com/getting-started GitHub: https://github.com/chroma-core/chroma Chroma是一個新的AI原生開源嵌入式資料庫,非常輕量且易用。 Chroma是開源嵌入式資料庫,它使知識、事實​​和技能可插入,從而輕鬆建立LLM應用程式。它可以運行在記憶體中(可保存在磁碟中),也可做為資料庫伺服器來使用(這和傳統資料庫類似)。 基本使用範例 Elasticsearch Vector Store Elasticsearch 是一個非常強大和靈活的搜索和分析引擎。雖然它的主要用例圍繞全文搜索,但它的用途足夠廣泛,可以用於各種其他功能。其中一個引起許多開發人員和數據科學家注意的功能是使用 Elasticsearch 作為向量資料庫。隨著 dense_vector 數據類型的出現和利用該 script_score 函數的能力,Elasticsearch 的功能已經擴展到促進向量相似性搜索。 Elasticsearch 與專用向量搜索庫相比的優點 使用 Elasticsearch 作為向量資料庫的不可否認的優勢之一是其內置功能,可以過濾對特定數據子集的查詢。當您想要縮小搜索空間範圍或應用程式需要上下文感知向量搜索時,此功能非常有用。相比之下,雖然其他專用的向量搜索庫(如 ChromaDB 和 Faiss)為純向量搜索提供了無可挑剔的速度和效率,但它們缺乏 Elasticsearch 中的全功能查詢功能。例如,ChromaDB 確實允許查詢元數據,但它僅限於字元串的精確匹配。此限制有時會妨礙複雜搜索方案中所需的靈活性和粒度。 將 Elasticsearch 豐富的查詢環境與向量相似度搜索相結合,意味著使用者可以兩全其美:基於向量的精確結果,並通過使用細緻入微的上下文感知篩檢程式對這些搜索進行分層的能力來增強。這種合併使 Elasticsearch 成為需要深度和廣度的開發人員的有力選擇。 Elasticsearch 與專用向量搜索庫的缺點 Elasticsearch 憑藉其廣泛的工具集和適應性,在搜尋引擎領域為自己開闢了一席之地。然而,當與 Faiss 和 ChromaDB 等專門的向量搜索庫相比時,它在某些領域暴露了它的局限性。…

    Continue Reading…: 向量搜尋資料庫的比較

  • ,

    雲端現有的相似性搜尋資料庫研究

    AWS DocDB 官方網頁: https://aws.amazon.com/tw/documentdb/ Amazon DocumentDB (with MongoDB compatibility) 是一種完全托管的 NoSQL 資料庫服務,可讓開發人員輕鬆地設置、操作和擴展 MongoDB 兼容的資料庫。它提供以下功能: Amazon DocumentDB 適用於各種應用,包括: Alibaba Cloud OpenSearch Vector Store介紹 官方介紹: https://www.alibabacloud.com/help/en/open-search/vector-search-edition/introduction-to-vector-search-edition OpenSearch Vector Search Edition是阿裡巴巴集團開發的一款大規模分散式搜尋引擎。OpenSearch Vector Search Edition 為整個阿裡巴巴集團提供搜索服務,包括淘寶、天貓、菜鳥、優酷以及為中國大陸以外地區的客戶提供的其他電子商務平臺。OpenSearch Vector Search Edition 也是阿裡雲 OpenSearch 的基礎引擎。經過多年的發展,OpenSearch Vector Search…

    Continue Reading…: 雲端現有的相似性搜尋資料庫研究

  • ,

    使用Docker來運行Ollama

    為什麼要使用Docker來運行Ollama 使用 Docker 來運行 Ollama 可以提供許多優點,包括簡化設置、可移植性、隔離、資源管理、可擴展性和可重複性。可以把Ollama變成一個API服務,提供其他的應用程式直接使用API的方式來呼叫Ollama,並運行不同的本地端模型。而把Ollama變為一個Docker服務,更可以在多台機器上分發 Ollama 模型。這對於需要在高可用性環境中運行 Ollama 的情況非常有用。 以下為Ollama的API手冊 https://github.com/ollama/ollama/blob/main/docs/api.md 利用Docker來運行服務的狀況 以下是一些使用 Docker 運行 Ollama 的具體示例: 其中最重要好處的會是第三點,當我們把本地端LLM視為一個API服務,便可以對此服務做平衡負載,並根據使用量來增加機器,擴張服務的Scale,讓整體服務具備有良好的擴充性。 安裝Ollama Docker image 官方網站: https://hub.docker.com/r/ollama/ollama Ollama 使得在本地啟動和運行大型語言模型變得容易。 僅 CPU Nvidia GPU  安裝 NVIDIA Container Toolkit⁠. 使用 Apt 安裝 Configure the repository 配置存儲庫 安裝…

    Continue Reading…: 使用Docker來運行Ollama


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!