สวัสดี โปรเจ็กต์นี้เกี่ยวกับการสร้างอินเทอร์เฟซที่เป็นประโยชน์ในโมเดลภาษา GPT จาก Clojure
เป็นงานที่อยู่ระหว่างดำเนินการ แต่มีตัวจัดการการสนทนาในหน่วยความจำที่ใช้งานได้ (หน่วยความจำการสนทนา) และตัวจัดการงาน WIP ขั้นพื้นฐาน (ตัวแทน)
ยังอยู่ในช่วงเริ่มต้น แต่ฉันตั้งใจจะใช้สิ่งนี้ในงานของฉันและเพื่อเรียนรู้พื้นฐานของการโต้ตอบกับแบบจำลองภาษา
หากคุณสนใจ ต้องการความช่วยเหลือ หรือต้องการความช่วยเหลือ คุณสามารถค้นหาฉันได้ในช่อง #multi-gpt บน Clojurians slack
ต่อไปนี้เป็นวิธีเริ่มต้นใช้งานตัวจัดการการสนทนา ซึ่งคุณสามารถดูได้ในตัวอย่างภายใต้ 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 คาเมรอน แบร์
อนุญาตให้บุคคลใดๆ ได้รับสำเนาของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง (“ซอฟต์แวร์”) โดยไม่เสียค่าใช้จ่าย เพื่อจัดการกับซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ในการใช้ คัดลอก ปรับเปลี่ยน ผสาน เผยแพร่ แจกจ่าย ให้อนุญาตช่วง และ/หรือขายสำเนาของซอฟต์แวร์ และอนุญาตให้บุคคลที่ได้รับซอฟต์แวร์นี้สามารถทำได้ ภายใต้เงื่อนไขต่อไปนี้:
ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์นี้มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการค้าขาย ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิด ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดต่อการเรียกร้องค่าเสียหายหรือความรับผิดอื่นใดไม่ว่าในการกระทำของสัญญาการละเมิดหรืออย่างอื่นที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือข้อตกลงอื่น ๆ ใน ซอฟต์แวร์.