เดวิดเป็นผู้เชี่ยวชาญด้านแผ่นเสียง คุณสามารถขอคำแนะนำหรือข้อมูลเพิ่มเติมเกี่ยวกับบันทึกใดๆ ในคอลเลกชัน 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
โค้ด HTML5 ที่สร้างขึ้นจาก GitHub Copilot ให้ภาพเริ่มต้นสำหรับ UI ซึ่งฉันแก้ไขจากนั้นเพื่อเพิ่มการเชื่อมต่อ websocket และตรรกะในการส่งและรับข้อความจากผู้ช่วย AI ฉันพบว่านี่เป็นแนวทางที่รวดเร็วมากในการสร้างต้นแบบ จากนั้น ฉันย้ายไปยังส่วนประกอบที่มีประสิทธิภาพมากขึ้นจาก ant-design รวมถึง pro-chat
ตอนแรกฉันต้องการใช้ llama3 ปัจจุบันโมเดล llama3 ไม่มีการรองรับเครื่องมือ (มิถุนายน 2024) ซึ่งหมายความว่าผู้ช่วย AI ไม่สามารถรวบรวมชื่อผู้ใช้ Discogs และเรียกค้นคอลเลกชันบันทึกได้ด้วยตัวเอง เราย้ายไปที่ GPT-4o เพื่อให้ David สามารถขอข้อมูล Discogs และไม่จำเป็นต้องใช้แบบฟอร์มใดๆ
LLM บางแห่งไม่ฉลาดเท่าคนอื่นๆ แม้ว่ารุ่น Mistral 7b จะรองรับเครื่องมือต่างๆ แต่ฉันก็ไม่สามารถรับคำตอบที่ดีได้ มันจะไม่ผ่านการทดสอบบูรณาการของฉันด้วยซ้ำ ด้วยเหตุนี้ ฉันจึงไม่สามารถเรียกใช้ LLM ด้วยเครื่องมือได้ฟรีๆ
ภาพหลอนเป็นความเจ็บปวด ฉันกำลังเริ่มต้นการเดินทางสู่ RAG เพื่อลดปัญหาดังกล่าว เนื่องจาก David ดำเนินงานในด้านดนตรี Wikipedia จึงเป็นฐานความรู้แรกที่นึกถึงสำหรับ RAG บางทีฉันอาจใช้ประโยชน์จาก MediaWiki API เพื่อค้นหาหน้าเพลงที่เกี่ยวข้องกับการสนทนาได้ สำหรับตอนนี้ ฉันใช้แค่ Google Search และบางครั้งก็ช่วยได้ แต่ก็ไม่เพียงพอสำหรับค่าใช้จ่ายที่เพิ่มขึ้นด้วยโทเค็นอย่างแน่นอน
การทดสอบแอปพลิเคชัน LLM ถือเป็นความท้าทาย ฉันทำการทดสอบบูรณาการมากกว่าปกติ สิ่งนี้นำไปสู่วงจรการพัฒนาที่ช้าลง นอกจากนี้ ลักษณะความน่าจะเป็นของผู้ช่วย AI ทำให้การทดสอบแอปพลิเคชันในลักษณะที่กำหนดเป็นเรื่องยาก
ในการทดสอบหน่วยของโลก LLM เกี่ยวข้องกับการแจ้งโมเดล AI แทนที่จะเรียกหน่วยของโค้ดเท่านั้น เมื่อใช้โมเดลบนคลาวด์ การรันการทดสอบหน่วยมีค่าใช้จ่าย ฉันยังได้ทดลองใช้เอเจนต์ AI ตัวที่สองเพื่อช่วยฉันในการยืนยันผลลัพธ์จาก AI หลัก นี่เป็นแนวทางที่น่าหวังเนื่องจากเราสามารถยืนยันความหมายได้ ไม่ใช่แค่การประมวลผลสตริงเท่านั้น ข้อดีข้อเสียก็คือ ยังสร้างต้นทุน และวางซ้อนความเสี่ยงของข้อผิดพลาดที่น่าจะเกิดจาก LLM
คุณต้องมีคีย์ OpenAI API ที่ถูกต้องเพื่อเรียกใช้แอปพลิเคชันนี้
./gradlew bootRun
เพื่อเริ่มแอปพลิเคชันhttp://localhost:8080
ในเบราว์เซอร์ของคุณเพื่อโต้ตอบกับผู้ช่วย AI