實作使用Ollama、LangChain、Qdrant 的 RAG
【AI】利用生成式AI 建構應用 - 07 - 實作使用Ollama、LangChain、Qdrant 的 RAG
- 24
- 0
- 利用生成式AI 建構應用
實作使用Ollama、LangChain、Qdrant 的 RAG
本章簡單介紹什麼是 RAG(Retrieval Augmented Generation),為什麼它可以讓 LLM 像考試OpenBook 一樣:先查資料再回答問題。
了解 RAG 怎麼提升LLM 回答的品質,減少亂掰、避免知識過期。以及適合用 RAG 的情況。
市面上有很多雲端的LLM API 服務,也會有地端裝載LLM 的服務。而這些服務都會有各自的呼叫方法,開發AI 應用最常遇到的就是嘗試不同服務跟模型,經過多輪嘗試並從中挑選出滿足應用系統的。LangChain 是一個框架,利用物件導向方式讓切換服務變得容易,減少程式開發成本。
使用Ollama 進行多輪對談 及 強化LLM的三種方式簡介
本篇將建構一個LLM 服務,並用簡單的程式呼叫LLM
生成式 AI(Generative AI)近年來快速進入各種產品與服務,從聊天機器人、程式碼輔助,到內容生成與決策支援,都展現出極高的生產力潛力。然而,AI 能生成「任何東西」這件事,本身同時也是最大的風險來源。
本文將從技術角度,整理生成式 AI 可能造成的潛在危害,並說明為什麼「負責任的人工智慧(Responsible AI)」在實務上不可或缺,以及如何將這些原則落地到實際系統中。
簡單講解AI 相關知識
常常會遇到系統資源已經更新(例如: js, css) 但是使用者看到的畫面還是舊的。甚至於已經在後端寫好每次進到這個畫面需要觸發的判斷,卻因為畫面已經被User 端快取,導致行為不正常。身為一個專業的工程師,一定要搞懂其中的原理。
【讀書心得】01 - Clean Architecture 無瑕的程式碼:整潔的軟體設計與架構篇
Prompting Engineering 提示工程,簡單說就是透過一個精心設計的提示詞,來約束模型輸出的行為
以往自行建立的物件可能要自己new、close跟dispose。自從有了using 陳述句的語法糖,只要把new 包在using 裡面就可以自動消滅,甚至連大括號都不用寫了。於是想要了解語法糖解構之後的實際樣子,以了解運作原理跟使用using 語法糖上需要注意的地方。
記錄練習LeetCode SQL 50 挑戰時學習到的新知識
再來是跟方法、事件有關的功能,可以追蹤響應式變數,或當該變數異動時可以執行相對應的運算邏輯。
用JavaScript 就好了,Why jQuery ? Why Vue ? 每個技術的出現都是為了要解決某個問題,本文稍微探討一下Vue 甚至說框架的好處
vue 的檔案模式有兩種: .html+.js 及 .vue
而vue 的撰寫方式又有兩種: 選項式 API (Options API) 及 組合式 API (Composition API)
平常使用javascript 寫網頁腳本做自動化時,因為前端會有動畫、渲染所產生的時間差問題,使得selector 在執行的當下不一定抓的到element。
為了解決此問題目前最常用的是setTimeout 跟setInterval 兩種方式,但其實有更好的寫法。
研究怎麼樣設計出好的Web API,從Request format、Response format、甚至於架構。
.NET 提供了很多種API 介接模式:WCF、Web API、gRPC。現在.NET Core 又多了一種新架構: Minimal APIs。初步觀察,在結構上非常簡潔,馬上來研究一下。
偶爾會有使用者反映操作系統時,一直跳出發生錯誤的提示框。從網站的log 發現是連線到資料庫逾時,於是前往資料庫端偵錯。再開啟資料庫VM 時發現操作非常的卡頓,於是開啟nmon 檢測到CPU 使用量非常的高,且都是postmaster (此為PostgreSQL 在Client-Server 中間做一個虛擬化的伺服器) 造成的,重開PostgreSQL 服務之後CPU 使用量馬上就降下來了。但不能每次發生都使用重開大法吧…
20 年前的32-bit 程式放到64-bit 的Windows Server 2019 之後,無法執行。所以來研究編譯時的設定有什麼影響。