檢索增強生成(RAG,Retrieval-Augmented Generation)能夠對大語言模型(LLM)的輸出進行優化,使其能夠在生成響應(response)之前引用訓練數據來源之外的知識庫中的數據對輸入提示詞(prompt)進行潤色,從而讓大模型給出更準確的答案。但大模型本身受限于訓練時所采 Read More
最近一年多,公司在大力提高服務的安全性,我也參與了公司密鑰管理系統的建設,做了較多密鑰創建/刪除/輪換/銷毀/安全存儲/安全傳輸/審計方面的工作,不過這篇文章不談密鑰管理,而是總結不同場景下如何選擇足夠安全的加密算法和密鑰。 按業務場景劃分主要有兩種:落盤加密(encryption of data Read More
語言需要不斷改進以跟進硬件的更新或滿足程序員的期待。所以java也需要演變,不然就會不適應IT產業的發展從而被別的語言淘汰,java語言現在更新到java12,不過業界主流應該還是java7或java8。 Java8中的主要變化反映了它開始遠離常側重改變現有值的經典面向對象思想,而向函數式編程領域轉 Read More
一個ES索引最大可以支持多少個shard?理論上無限擴展,我推測最大應該是java array的最大長度:Integer.MAX_VALUE。通常業務為了保證查詢效率,往往會限制data node上shards的總個數(cluster.routing.allocation.total_shards_ Read More
最近做的某個feature需要在很短的時間內上千萬次請求其他部門的web服務,為了減少請求次數和提升系統響應速度決定采用cache來緩存數據。 說到cache最出名的就是memcached和redis了,因為目前公司內用redis的項目用的更多,有專門的集群和運維工程師,就果斷選了redis。一言以 Read More
最近把搜索后端從AWS cloudsearch遷到了AWS ES和自建ES集群。測試發現search latency高于之前的benchmark,可見模擬數據遠不如真實數據來的實在。這次在產線的backup ES上直接進行測試和優化,通過本文記錄search調優的主要過程。 問題1:發現AWS ES Read More