multi gpt
1.0.0
您好,這個專案是關於在 Clojure 的 GPT 語言模型中建立一個有用的介面。
這是一項正在進行中的工作,但它有一個正在運行的記憶體中對話管理器(對話記憶體)和一個基本的 WIP 任務管理器(代理)。
現在還處於早期階段,但我打算在工作中使用它,並學習與語言模型互動的基礎知識。
如果您有興趣、想要提供協助或需要協助,您可以在 Clojurians slack 上的#multi-gpt 頻道中找到我。
以下是如何開始使用對話管理器,您也可以在 basic_conversation.clj 下的範例中找到它
( require '[multi-gpt.repl-interface :refer :all ]
'[clojure.pprint :refer [pprint]])
; ;
; ; Run below if you want to use portal to see the output
; ;
( require '[portal.api :as p])
( def p ( p/open { :launcher :vs-code }))
( add-tap #'p/submit)
; ;
; ; Setup the system (includes a conversation manager)
; ;
( def system ( setup-system " api-key "
" org-id "
" gpt-3.5-turbo " ))
; ;
; ; Create a conversation
; ;
( def conversation ( create-conversation system))
; ;
; ; Create a convenience function for chatting as the user role ;;
; ;
( def chat ( fn [message]
( update-conversation system conversation [{ :role " user " :content message}])))
; ;
; ; Add a watch to print to the REPL (I also use portal and tap>)
; ;
( add-watch ( -> system :conversation-manager :db )
:on-update
( fn [_ _ _ new-state]
; ;
; ; If you want to view output with portal uncomment this
; ;
#_( tap> ( with-meta ( update ( get new-state ( :id conversation))
:messages
reverse)
{ :portal.viewer/default :portal.viewer/tree }))
; ;
; ; Comment out below if using portal
; ;
( pprint
( get new-state ( :id conversation)))))
; ;
; ; Initialize your conversation with a system prompt
; ; This is also a reasonable place to add example messages if needed
; ;
( update-conversation
system
conversation
[{ :role " system " :content " You will help me develop the next breakthrough in distributed systems. " }])
; ;
; ; Engage in conversation
; ;
( chat " Please provide the most cutting edge research topics about these systems. " )
版權所有 2023 卡梅倫·巴里
特此免費授予任何獲得本軟體及相關文件文件(「軟體」)副本的人不受限制地使用本軟體,包括但不限於使用、複製、修改、合併的權利、發布、散佈、再授權和/或銷售軟體的副本,並允許向其提供軟體的人員這樣做,但須滿足以下條件:
上述版權聲明和本授權聲明應包含在本軟體的所有副本或主要部分中。
本軟體以「現況」提供,不提供任何明示或暗示的保證,包括但不限於適銷性、特定用途的適用性和不侵權的保證。 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE軟體.