決定每週寫一篇文章,記錄下自己本週經歷的值得記錄的事情
這是 2024 第三週記錄,也是這個系列的第一篇
1,公司 AI 產品開發#
在過去幾週,我大部分時間是在做 AI 產品的後端開發,目前僅完成了初始版本,不過能真實開發一個 AI 相關的產品還是挺過癮,之前主要是在看,在用,上手開發還是第一次。目前做的功能主要是聊天和知識庫問答的功能。
基於 langchain-chatchat 做改造,比如接入集團的大模型 api,比如產品本身對 AI 的集成,前後端交互,修改 prompts 等等簡單的改造。知識庫問答做的只是最基礎的功能,後續要根據市面上的 RAG 論文做一些優化,比如對分塊內容提前生成問題,和原始內容做映射,然後將問題也存入向量數據庫,用戶問問題時同事匹配事先生成的問題向量和原始內容的向量;比如引入 ES,基於 ES 搜索和向量搜索結果合併作文 context 去問大模型;還有 rerank 之類的,後續看情況也加入。
python 也是 23 年才可開始正式接觸,不過有 chatgpt 不管是閱讀代碼還是寫代碼上手都快了很多,最近算是讀懂了 langchain-chatchat 的大部分代碼,算是更進一步。
2,Intellij idea 多語言翻譯插件#
用 live plugin 實現了一個 多語言翻譯的功能。具體功能就是通過快捷鍵觸發,將一個漢語字符串自動添加到多個多語言文件中,並將當前字符串替換為項目多語言方法工具方法的調用。
主要的代碼邏輯就是使用 live plugin 監聽快捷鍵,觸發之後,獲取當前光標所在文件的內容,找到光標所在字符串,翻譯為英文,根據當前文件 package,找到對應的領域,根據項目格式生成一個多語言的 key,然後 key=value 結構追加到多語言文件,最後替換當前字符串為系統多語言工具方法,傳入參數 key。
儘管目前存在重複文字處理的問題,但我已經非常喜歡使用這個工具,它極大地簡化了我之前手動處理多語言部分的繁瑣工作。以前覺得這個過程手動處理特別麻煩,每次都是比較抗拒的,現在有了這個工具,很簡單的就處理了多語言的部分。
chatgpt 作用挺大,第一,可以問 idea 的文檔,可以問在某些場景下應該使用哪個接口,沒問出來的看看 idea 的代碼或者 api 就清晰了,第二就是代碼轉化,阿里雲翻譯的 demo 給的是 java 的,而 live plugin 需要 groovy 或者 kotlin,kotlin 接觸比較少,就選擇用 groovy,然後將 demo 的 java 代碼使用 chatgpt 轉換為 groovy 代碼,然後自己稍微改改就能用了,
翻譯的時候記得讓 chatgpt 重構下代碼,保證代碼的清晰,簡潔。
提示,如果要寫一個系統的插件,找官方文檔, template 和 example,能夠比較快速的上手
兩個感悟:
a. 先實現基礎功能,再逐步增加新功能和優化。一次性追求完美可能導致挫敗感。
b. 在編寫代碼時,採用小步快跑的策略,及時測試驗證,避免一次性完成所有工作後再回頭修復 bug。
3,阿里雲翻譯#
上述的插件中的翻譯用的是阿里雲翻譯,大家有需要的可以註冊下,每個月有 200w 字符的免費翻譯額度
機器翻譯通用版引擎,機器翻譯專業版引擎 每月免費各 100w 字符
http api 不好用,主要是簽名比較麻煩,如果用 sdk 倒是還好,我沒用 sdk,因為 live plugin 使用第三方 groovy 包的話,還是稍微有點麻煩,嘗試了下失敗了,就使用 http 了
4,給博客域名證書續期#
腾訊雲有免費的 30 個域名續費,操作還算簡單
5,博客切換到 xlog#
我決定將博客遷移至 xlog,告別了 hashnode.com 的主題和問題。雖然內容暫時還未遷移,但新平台的體驗讓我感到滿意。這篇文章是我在 xlog 上的第一篇文章,第 0 篇文章是簡單的 “hello world”。