小傅哥帶着你做 Java SDK 組件

作者:小傅哥

博客:https://bugstack.cn

沉澱、分享、成長,讓自己和他人都能有所收穫!😄

大家好,我是技術UP主小傅哥。

今天小傅哥將開啓一個新計劃,帶着大家一起幹"開源"💐。要說編程能力什麼時候提升的最快,就是從開始承接需求並思考着怎麼落地,到最後開發實現時,纔是成長最快的時候。

吶,這是一個什麼樣的開源項目呢?🤔

這個開源項目是 《OpenAI SDK》 統一大模型標準化對接的技術組件項目,此項目以解決實際市面上的場景爲訴求,將 OpenAI、Claude、PalM、文心一言、通義千問、訊飛星火、智譜 ChatGLM、騰訊混元等這些大模型做一個統一的 SDK 對接組件。

這個組件項目需要解決很多的差異化問題,又要提供統一的對接標準,既有設計的難點又有落地的複雜。但這樣千差萬別的統一對接,恰好又是日常開發中所面臨的問題。

小傅哥這裏已經編寫了30%+的代碼,定義基礎框架、對接標準和實現手段;

<!-- https://mvnrepository.com/artifact/cn.bugstack/openai-sdk-java -->
<dependency>
    <groupId>cn.bugstack</groupId>
    <artifactId>openai-sdk-java</artifactId>
    <version>1.2</version>
</dependency>

那麼,接下來小傅哥就告訴能學習到哪些設計思維、設計原則、設計模式以及怎麼進入學習。—— 這個項目涵蓋了很多高級的編碼思想。

文末有加入學習方式,以及全體系的技術成長路線說明。

一、能學到啥

講道理,大部分能在職場中脫穎而出述職晉升的,都不是隻寫業務代碼的,而是解決能團隊中同類的場景訴求,凝練共性開發技術組件,讓大家可以使用項目。而這樣的項目往往工程結構偏小,代碼量不大,但很少有 if···else,有的全都是高級編碼技巧,所以纔會這麼有價值。

  • 【設計思維】:抽象 OpenAI 對接調用過程爲會話模型結構,統一管理會話生命週期。
  • 【設計思維】:爲所有 OpenAI 類型設計統一對接標準;入參、方法、出參,以 ChatGPT 爲標準設計其他對接行爲。
  • 【設計原則】:最少知道原則,讓調用 SDK 的用戶,不要因爲調用不同的模型而關心具體的細節。
  • 【設計原則】:迪米特法則,在實現的過程中通過使用執行器銜接會話與各類模型的對接,起到中介者的作用,讓會話可以擴展更多的調用方式的同時又不需要過多的瞭解模型的具體細則。
  • 【設計原則】:單一職責原則,一個具體的模型實現類,只負責當下模型的具體職責。
  • 【設計模式】:工廠模式,封裝會話過程中所需的;配置信息(ApiHost、ApiKey)、HTTPClient、模型執行器。
  • 【設計模式】:策略模式,統一定義標準的大模型接口、參數處理器、監聽見過處理器,讓各類大模型做各自的封裝實現。
  • 【設計模式】:在通過單例、模板、建造者,解決實現過程中的細節處理,讓整個 SDK 的實現更容易被擴展和迭代。

基於這樣的 SDK 組件開發實踐,在小場景中大量的運用高級編碼技巧,可以非常好的幫助大家提高編程思維、鍛鍊編碼能力。

二、組件設計

本次的組件項目,具有非常多的高級編碼技巧,同時完成後還可以讓很多人使用到這個項目,非常具有成就感。各位參與這個項目的夥伴,都會成爲項目代碼貢獻者。💐

1. 核心設計

2. 會話模型 - 核心代碼

3. 接口實現 - 統一標準


很多夥伴在沒看過小傅哥的“代碼操盤”前,都是;一個接口、一個實現,一個實現,代碼一片。一片一片、又一片,代碼行數、兩三千。所以跟隨小傅哥學習你會得到非常多的技術成長,沉澱出自己的核心技術能力。

三、學習說明

加入星球開源項目學習後,Fork 代碼到自己的倉庫。熟悉工程模型和代碼,並調試運行理解整個框架的設計實現。之後開始承接需求並提交代碼到自己的倉庫。對於自己已經完成運行的調試的代碼,可以提交 PR 代碼。小傅哥在評審後,會合並你的提交。這樣你就成爲一個貢獻者了,並記錄在文檔。

  1. 【簡單】工程中有標記 TODO 標籤待開發點,此類的功能比如在A模型中實現了,B、C 模型未實現,可以參考代碼開發。
  2. 【中等】閱讀模型API文檔,補全功能。這部分會從會話的調用,一直到執行器包下對應的實現,開發具體實現。
  3. 【複雜】對未實現對接的模型,閱讀API文檔,添加對接。

以上的所有代碼實現,都會以當下工程所提到的設計思維、設計原則、設計模式,來編寫具體的代碼實現,非常鍛鍊人。

以上開發內容,小傅哥會陸續的提交代碼,你可以趕在我的前面實現,這樣可以很好和我的開發進行對比,學習設計思想和落地實現。

四、加入學習

https://gaga.plus - 裏面有完整的學習指引,包括;使用說明、代碼倉庫、專屬項目羣、學習路線、往期項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章