大衛是黑膠唱片的專家。您可以請他提供有關您 Discogs 收藏中任何唱片的推薦或其他資訊。大衛將很樂意為您提供協助。
此 LLM 應用程式是對話代理程式的一個簡單範例,它使用 Discogs API 提供有關黑膠唱片的資訊。它由 4 個主要構建塊組成:
目前它使用LangChain4j作為框架,GPT-4o作為AI輔助引擎,但它可以輕鬆適應使用其他引擎。
下圖中的應用程式架構是由 ArchUnit 框架透過 ArchitectureTest 類別中的測試強制執行的。
此專案的 UI 是使用以下提示開發的:
I need the code for an HTML 5 page that contains an input field for a Discogs username
and a text area for inserting prompts for the application to send to AI agents.
Above the text area there should be the space in which the AI responses are displayed, in the ChatGPT style
從 GitHub Copilot 產生的 HTML5 程式碼提供了 UI 的初始視覺效果,然後我對其進行了修改以添加 websocket 連接以及從 AI 助理發送和接收訊息的邏輯。我發現這是一種非常快速的原型設計方法。然後,我轉向了 ant-design 中更強大的元件,包括 pro-chat。
我最初想使用 llama3。 llama3 模型目前不支援工具(2024 年 6 月)。這意味著AI助理無法自行收集Discogs使用者名稱並檢索記錄集合。我們遷移到 GPT-4o,以便 David 可以詢問 Discogs 資訊並不再需要任何表格。
有些法學碩士不如其他法學碩士聰明。儘管 Mistral 7b 模型支援工具,但我無法從中得到好的答案。它甚至無法通過我的整合測試。這樣,我就無法使用免費的工具來運行法學碩士課程。
幻覺是一種痛苦。我開始了我的 RAG 之旅,以此來最大限度地減少它。由於 David 從事音樂領域的工作,維基百科是 RAG 想到的第一個知識庫。也許我可以利用 MediaWiki API 來搜尋與對話相關的音樂頁面。目前,我只使用 Google 搜索,它有時會有所幫助,但絕對不足以支付它用代幣增加的成本。
測試法學碩士申請是一項挑戰。我做了比平常更多的整合測試。這導致開發週期變慢。此外,人工智慧助理的機率性質使得很難以確定性的方式測試應用程式。
在法學碩士世界中,單元測試涉及提示人工智慧模型,而不僅僅是調用程式碼單元。使用基於雲端的模型時,運行單元測試是有成本的。我還嘗試使用第二個人工智慧代理來幫助我斷言主人工智慧的結果。這是一種很有前途的方法,因為我們可以進行語義斷言,而不僅僅是字串處理。這裡的權衡是它也會產生成本,並增加法學碩士引入的機率錯誤的風險。
您必須擁有有效的 OpenAI API 金鑰才能執行此應用程式。
./gradlew bootRun
啟動應用程式。http://localhost:8080
即可與AI助理互動。