เครื่องมือสำหรับสำรวจข้อมูลบน GitHub ตัวใหม่ได้ถูกพัฒนาขึ้น โดยผสานพลังของ Relta และ assistant-ui เพื่อมอบทางเลือกใหม่ให้นักพัฒนาในการเข้าถึงและวิเคราะห์ข้อมูลของ repository บน GitHub โครงการนี้แม้จะอยู่ในขั้นพิสูจน์แนวคิด แต่ก็ได้จุดประกายการถกเถียงเกี่ยวกับประโยชน์และการประยุกต์ใช้ในชุมชนนักพัฒนา
การเข้าถึงข้อมูลที่เหนือกว่าอินเตอร์เฟซมาตรฐานของ GitHub
เครื่องมือนี้โดดเด่นด้วยการใช้ประโยชน์จาก GitHub GraphQL API ในการเข้าถึงข้อมูล repository ที่ไม่สามารถเข้าถึงได้โดยตรงผ่านอินเตอร์เฟซมาตรฐานของ GitHub.com ปัจจุบันรองรับข้อมูล PR, Issues, Commit และ Star โดยมีแผนที่จะขยายการครอบคลุมข้อมูลเพิ่มเติมในอนาคต ข้อได้เปรียบทางเทคนิคที่สำคัญอยู่ที่การจัดการข้อจำกัดของ API โดยเฉพาะการจำกัดการเรียกข้อมูลครั้งละ 100 รายการ และข้อจำกัดอัตราการเรียกข้อมูลรองที่มักท้าทายนักพัฒนาที่ทำงานกับ API โดยตรง
API GraphQL ของ GitHub มีข้อจำกัดในการเรียกข้อมูลครั้งละ 100 รายการ และมีข้อจำกัดอัตราการเรียกข้อมูลรองที่ค่อนข้างคลุมเครือ การสร้างด้วย cURL จะต้องใช้ความพยายามมาก แต่ dlt จัดการความซับซ้อนทั้งหมดนี้เพื่อสร้างไปป์ไลน์ที่แข็งแกร่งโดยการจัดเตรียมตัวเชื่อมต่อกับ API ของ GitHub
ความต้องการของระบบ:
- Python 3.9 ขึ้นไป
- npm หรือตัวจัดการแพ็คเกจของ Node.js
- Git
- OpenAI API key
- การเชื่อมต่อฐานข้อมูล PostgreSQL
ข้อมูลที่รองรับในปัจจุบัน:
- Pull Requests
- Issues
- Commits
- ข้อมูลการให้ดาว
นวัตกรรมทางเทคนิคในการประมวลผลข้อมูล
แพลตฟอร์มนี้นำเสนอการปรับปรุงทางเทคโนโลยีหลายประการในการจัดการและนำเสนอข้อมูล มีการใช้ semantic layers สำหรับประมวลผลชุดข้อมูลเชิงสัมพันธ์ และใช้ไปป์ไลน์แบบ text-to-SQL เพื่อป้องกันการสร้างข้อมูลที่ผิดพลาด วิธีการนี้มุ่งเน้นความแม่นยำในการตอบคำถามในขณะที่ยังคงความเป็นมิตรต่อผู้ใช้ผ่านการประมวลผลภาษาธรรมชาติ
คุณสมบัติที่เน้นนักพัฒนา
จุดเด่นของโครงการนี้คือระยะเวลาการพัฒนาที่รวดเร็ว - ประมาณ 10 วัน - ซึ่งสำเร็จได้ผ่านการผสมผสานเทคโนโลยีหลายอย่างรวมถึง dlt, Relta, LangGraph และ assistant-ui แพลตฟอร์มนี้มีส่วนติดต่อผู้ใช้แบบแชทพร้อมความสามารถในการสร้างแผนภูมิ ทำให้การแสดงผลข้อมูลเข้าถึงได้ง่ายขึ้น นอกจากนี้ระบบยังรวมกลไกการรับข้อเสนอแนะ ช่วยให้นักพัฒนาสามารถปรับปรุง semantic layer ผ่านการกดปุ่มไม่ถูกใจเมื่อคำตอบต้องการการปรับแต่ง
ภาพหน้าจอของที่เก็บข้อมูลบน GitHub สำหรับ "github-assistant" แสดงให้เห็นโครงสร้างและการจัดระเบียบ รวมถึงส่วนต่างๆ เช่น Code, Issues และ Contributors |
การพัฒนาในอนาคต
ทีมพัฒนาได้แสดงความตั้งใจที่จะเปิดเผยซอร์สโค้ดของ Relta ในอนาคต โดยปัจจุบันซอร์สโค้ดได้ถูกแบ่งปันทั้งในการใช้งานเชิงพาณิชย์และไม่เชิงพาณิชย์ สิ่งนี้สร้างความสนใจให้กับนักพัฒนาที่ต้องการผสานฟังก์ชันการทำงานที่คล้ายคลึงกันเข้ากับโครงการของตนเอง เช่น เครื่องมือตรวจสอบ AI และระบบวิเคราะห์ repository
โครงการนี้แสดงถึงก้าวสำคัญในการทำให้ข้อมูลบน GitHub เข้าถึงและวิเคราะห์ได้ง่ายขึ้น แม้ว่าการใช้งานในปัจจุบันจะมุ่งเน้นที่ข้อมูล API มากกว่าการวิเคราะห์โค้ดหรือการอธิบายโครงสร้างของ repository เมื่อแพลตฟอร์มพัฒนาต่อไป ข้อเสนอแนะจากชุมชนยังคงมีส่วนในการกำหนดทิศทางการพัฒนาและชุดคุณสมบัติ
อ้างอิง: github-assistant