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

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

  • ,

    Ollama – 本地端運行的LLM服務

    Ollama 介紹 Ollama 是一個開源軟體,讓使用者可以在自己的硬體上運行、創建和分享大型語言模型 (LLM) 服務。它提供了一個易於使用的平台,讓用戶無需複雜的設定即可利用 LLM 的功能。 Ollama 的主要優點包括: Ollama 可用於各種任務,包括: Ollama的優點 Ollama與LM Studio相似,都是可以於本地端運行、比較多個大語言模型的工具,並且也都是開源軟體 功能 Ollama LM Studio 原生功能集 基本 豐富 用戶界面 可使用Command line 豐富易操作的視窗介面 開源性 是 是 支持的操作系統 Windows、macOS、Linux Windows、macOS 擴展性 可使用API的方式呼叫 較偏向本地端應用程式面 Ollama與LM Studio的比較 Ollama本身其實是完全可以使用command line去執行的服務,因為這樣的特性,Ollama非常容易可以與其他的服務集成,因為它可以變成一個API的服務,讓其他服務去用API的方式來呼叫這個地端模型,也因此,我們會可以在伺服器上面,利用Ollama,使我們的線上服務串接到多個不同的地端LLM模型 以下為一個使用curl來呼叫地端模型的範例 安裝Ollama…

    Continue Reading…: Ollama – 本地端運行的LLM服務

  • ,

    掃描某個IP所有可接受連接的PORT

    Nmap 介紹 Nmap(Network Mapper)是一款免費且開源的網路安全工具,用於網路發現和安全審計。它可以使用原始 IP 封包以新穎的方式來確定網路上的哪些主機可用、這些主機提供哪些服務(應用程式名稱和版本)、它們運行的作業系統(和作業系統版本)、使用的封包過濾器/防火牆類型以及其他數十種特性。 Nmap 的使用目的 Nmap 的工作原理是向目標主機發送原始 IP 封包並分析響應。Nmap 可以使用各種技術來掃描埠、檢測服務和確定作業系統。 Nmap 主要功能 使用方式 使用以下指令來安裝套件 接著使用以下指令來掃描所有可連接的port 也可以使用-A來偵測對方主機的作業系統與各種服務的版本 只需各種服務的版本 相關資源

    Continue Reading…: 掃描某個IP所有可接受連接的PORT

  • ,

    AIGC 文字/圖片生成

    分享內容 1. ChatGPT_Bing_Bard_Claude指南 投影片: https://www.slideshare.net/……/1chatgptbi……/265753441 課程錄影: https://www.youtube.com/watch?v=AjNXpRn3G0s 2. 透過模板指令掌握使用技巧 投影片: https://www.slideshare.net/slideshows/2pdf-116d/265753345 課程錄影: https://www.youtube.com/watch?v=k33MNZA44Tw 3. 圖像生成及應用 投影片: https://www.slideshare.net/ssuser834f031/3pdf 課程錄影: https://www.youtube.com/watch?v=tcrJpJgavMA 4. AIGC的延伸應用介紹 投影片: https://www.slideshare.net/slideshows/4aigcpdf/265924625 課程錄影: https://www.youtube.com/watch?v=2wQ6JTFu0Fs

    Continue Reading…: AIGC 文字/圖片生成

  • ,

    使PostgreSQL支持向量相似度搜尋

    安裝相關套件pgvector 套件Github頁面 https://github.com/pgvector/pgvector pgvector可做到Postgres 的開源向量相似度搜索,將向量與其他數據一起存儲。 支援: Linux安裝 Windows安裝 首先安裝VisualStudioSetup,此為下載連結: https://visualstudio.microsoft.com/downloads/ 接著至少勾選這些套件 執行C的編譯環境 使用nmake編譯檔案 建立可儲存的向量的資料欄位 pgvector的資料格式為vector(1536),後面的(1536)代表長度,此為OpenAI的embedding長度 以下為一個建立表格的SQL範例 在Object Explorer按右鍵選擇,Query Tool可開啟SQL輸入介面,要瀏覽現有資料庫表格列表可至Schemas->Tables瀏覽 新增資料至資料表 以下為一個範例 並行搜索的擴展套件AnalyticDB  AnalyticDB 是阿里巴巴雲推出的云原生數據倉庫,它基於 PostgreSQL 開發,並進行了一些增強,以提高性能和可擴展性。AnalyticDB 也支持 pgvector,但它具有以下一些增強功能: 總而言之,AnalyticDB 中的 pgvector 與 PostgreSQL 中的 pgvector 相同,但它具有以下一些增強功能: 這些增強功能使 AnalyticDB 更加適合處理大型向量數據集。

    Continue Reading…: 使PostgreSQL支持向量相似度搜尋

  • ,

    如何設定與操作PostgreSQL

    了解安裝的PostgreSQL的相關資訊 像我是使用CentOS,因此我可以用下面的指令來得知現在系統中PostgreSQL的運行狀況 從回覆的資料可以看出,設定檔的資料會在/var/lib/pgsql/13/data/,接著就搜尋裡面的設定檔*.conf 允許非本機的連線 PostgreSQL 默認配置只允許本地連接(即 localhost 或 127.0.0.1),這是出於安全考量。要允許遠程連接,需要修改 PostgreSQL 的配置文件並設置適當的防火牆規則。以下是允許遠程連接的步驟: 1. 修改 postgresql.conf 文件,打開 postgresql.conf 文件,找到 listen_addresses 配置項,將其設置為 ‘ * ‘ 以允許所有地址連接,或者指定特定的 IP 地址。例如: 修改 pg_hba.conf 文件,添加允許遠程連接的規則。 如果你只想允許特定的 IP 地址範圍,例如 192.168.1.0/24,可以這樣設置: 接著重啟PostgreSQL

    Continue Reading…: 如何設定與操作PostgreSQL

  • ,

    Tesseract – Google開源的光學文字辨識系統

    關於Tesseract Tesseract 是一個開源的光學字符識別(OCR)引擎,能夠將圖像中的文本轉換為可編輯的文本。它由 Google 維護和開發,支持多種語言和字符集。 GitHub位置: https://github.com/tesseract-ocr/tesseract Tesseract 4 添加了一個新的基於神經網路 (LSTM) 的 OCR 引擎,該引擎專注於行識別,但仍然支援 Tesseract 3 的傳統 Tesseract OCR 引擎,該引擎通過識別字元模式來工作。使用舊版 OCR 引擎模式 (–oem 0) 啟用與 Tesseract 3 的相容性。它還需要支援舊引擎的 traineddata 檔,例如來自 tessdata 儲存庫的檔。 Tesseract 支援 unicode (UTF-8),可以「開箱即用」地識別 100 多種語言。支援多種圖像格式,包括 PNG、JPEG 和…

    Continue Reading…: Tesseract – Google開源的光學文字辨識系統

  • ,

    安裝Postgresql和PgAdmin過程記錄

    Postgresql安裝教學 安裝的指令如下 接著建立資料庫 退出命令行 安裝PgAdmin 以下為安裝的指令建議 強烈建議使用 Python 虛擬環境,不然因為牽涉到的library眾多,很容易會有函式庫之間的彼此衝突 安裝及啟動pgAdmin的方法 以下為安裝方式 啟動則只需要 問題1 : 無法啟動pgAdmin 錯誤訊息 解決方法 首先先安裝所需要的套件 接著要找到PYTHON的位置並且重新編譯 把下面的/path/to/python/source換成你的PYTHON的根目錄 然後就可以正常啟動囉! 問題2:只能從127.0.0.1連線 使用下面指令找到套件位置 修改config 找到下面這行並將127.0.0.1改成0.0.0.0 問題3: 開啟防火牆5050端口 最後一行是用以檢查是否已打開,如果 5050/tcp 在列表中,則表示已成功打開。 接著把SELINUX的端口打開 就可以成功連線啦!

    Continue Reading…: 安裝Postgresql和PgAdmin過程記錄

  • ,

    Prompt engineering 提示工程

    獲得更好結果的六種策略  寫清楚的說明  提供參考文本 將複雜的任務拆分為更簡單的子任務 正如軟體工程中的良好做法是將複雜系統分解為一組模組化元件一樣,提交給語言模型的任務也是如此。複雜任務往往比簡單任務具有更高的錯誤率。此外,複雜任務通常可以重新定義為更簡單任務的工作流,其中早期任務的輸出用於構造後續任務的輸入。 給模型時間“思考” 如果要求將 17 乘以 28,您可能不會立即知道,但仍然可以隨著時間的推移計算出來。同樣,模型在試圖立即回答時會犯更多的推理錯誤,而不是花時間找出答案。在回答之前要求一個「思維鏈」可以説明模型更可靠地推理出正確的答案。 使用外部工具 通過向模型提供其他工具的輸出來補償模型的弱點。例如,文本檢索系統(有時稱為RAG或檢索增強生成)可以告訴模型有關相關文檔的資訊。像 OpenAI 的 Code Interpreter 這樣的代碼執行引擎可以説明模型進行數學運算和運行代碼。如果一項任務可以通過工具而不是語言模型更可靠或更高效地完成,請卸載它以充分利用兩者。 系統地測試更改 如果可以衡量性能,則更容易提高性能。在某些情況下,對提示的修改將在幾個孤立的示例上獲得更好的性能,但在更具代表性的示例集上會導致整體性能較差。因此,為了確保更改對性能有淨積極影響,可能需要定義一個全面的測試套件(也稱為“eval”)。 更多範例請見: https://platform.openai.com/docs/guides/prompt-engineering/strategy-write-clear-instructions

    Continue Reading…: Prompt engineering 提示工程

  • ,

    RAG中準備檢索資料的概念及方向

    相關論文: https://arxiv.org/abs/2005.11401 Embedding向量搜尋的概念 在RAG(Retrieval-Augmented Generation)模型中,embedding 向量搜尋是一個關鍵步驟,用於在資料庫中找到與當前查詢相關的資訊。RAG結合了檢索和生成的能力,通過將外部知識融入生成過程中來提高生成內容的質量和相關性。以下是 embedding 向量搜尋的主要步驟: 簡單範例 假設我們有一個簡單的資料庫,包含以下句子: 用戶查詢:「什麼是GPT-3?」 以下為一個用書名做向量檢索的文章,看了此文章會更能理解向量空間的文字意義檢索的概念 https://towardsdatascience.com/building-a-recommendation-system-using-neural-network-embeddings-1ef92e5c80c9 從Fancy AI了解準備資料的幾種方式 網站如下: https://www.fancyai.co/ 從上面的圖片我們可看出大概可分為【直接分段】或【以QA方式去呈現】,而QA方式又分成【讓AI自動整理問答對】、【人工整理問答對】。 三種方式的優缺點比較 這三種方法各有其優缺點,適用於不同的應用場景和需求。 1. 手動輸入問答對 優點: 缺點: 2. AI自動產生問答對 優點: 缺點: 3. 直接將文件做分段 優點: 缺點: 適用的場景 直接分段的範例 以上面的例子來說,用戶查詢「怎麼串接GPT-3的API?」, 假設我們有以下一段文檔: 我們可以將這段文檔拆分成以下分段: 然後對每個分段生成嵌入向量,並在檢索系統中建立索引。當用戶查詢「什麼是GPT-3?」時,系統會找到與該查詢最相關的分段(如第三個分段),並用它來生成回應。 產生問答對的範例 問答對生成…

    Continue Reading…: RAG中準備檢索資料的概念及方向

  • ,

    使用LlamaIndex載入多種類文件

    LlamaIndex的教學資料 這邊有許多的簡單範例: https://github.com/SamurAIGPT/LlamaIndex-course 這邊則是載入文件的範例: https://github.com/SamurAIGPT/LlamaIndex-course/blob/main/dataconnectors/Data_Connectors.ipynb 範例程式載入PDF如下 載入YouTube的字幕的範例如下 使用上面的寫法我們會發現會跳出這樣的警告 DeprecationWarning: Call to deprecated function (or staticmethod) download_loader. (`download_loader()` is deprecated. Please install tool using pip install directly instead.) PDFReader = download_loader(“PDFReader”) 錯誤警告訊息 新的文件讀取方式 現在官方推薦的檔案讀取方式如下 不過,如果我們需要這個Reader使用特別的解析器去解析特別格式的文件的話,則要使用額外相關的函式庫,如下面的介紹 相關的函式庫 接著當我們查詢載入本地端檔案的API時,可以看到這個頁面有許多Reader的介紹 https://docs.llamaindex.ai/en/stable/api_reference/readers/file/ 但是如果直接在llamaindex.core會找不到裡面許多的函數,這時候可以在這邊找到 https://llamahub.ai/?tab=readers 這邊可以找到許多其他開發者開發的好用函式庫…

    Continue Reading…: 使用LlamaIndex載入多種類文件


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

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