Seagoat
เครื่องมือค้นหารหัสสำหรับอายุ AI Seagoat เป็นเครื่องมือค้นหาในท้องถิ่นที่ใช้ประโยชน์จากการฝังตัวของเวกเตอร์เพื่อให้คุณสามารถค้นหารหัสเบสของคุณได้

ในการติดตั้ง seagoat คุณต้องมีการพึ่งพาต่อไปนี้ติดตั้งบนคอมพิวเตอร์ของคุณแล้ว:
เมื่อติดตั้ง bat จะใช้เพื่อแสดงผลลัพธ์ตราบใดที่เปิดใช้งานสี เมื่อใช้ Seagoat เป็นส่วนหนึ่งของท่อจะใช้รูปแบบเอาต์พุต Grep-Line เมื่อเปิดใช้งานสี แต่ไม่ได้ติดตั้ง bat Seagoat จะเน้นเอาต์พุตโดยใช้ pygments แนะนำให้ใช้ bat
ในการติดตั้ง seagoat โดยใช้ pipx ให้ใช้คำสั่งต่อไปนี้:
pipx install seagoatควรทำงานกับแล็ปท็อปที่เหมาะสม
Seagoat ได้รับการออกแบบมาเพื่อทำงานบน Linux ( ทดสอบ ✅), macOS (ทดสอบบางส่วน, ช่วยเหลือ ) และ windows ( ต้องการความช่วยเหลือ )
ในการใช้ Seagoat ในโครงการของคุณคุณต้องเริ่มเซิร์ฟเวอร์ Seagoat โดยใช้คำสั่งต่อไปนี้:
seagoat-server start /path/to/your/repo หากคุณมีเซิร์ฟเวอร์ที่ทำงานอยู่คุณสามารถใช้คำสั่ง gt หรือ seagoat เพื่อสอบถามพื้นที่เก็บข้อมูลของคุณ ตัวอย่างเช่น:
gt " Where are the numbers rounded "นอกจากนี้คุณยังสามารถใช้นิพจน์ทั่วไปในแบบสอบถามของคุณได้เช่น
gt " function calc_.* that deals with taxes "คุณสามารถหยุดเซิร์ฟเวอร์ที่ทำงานโดยใช้คำสั่งต่อไปนี้:
seagoat-server stop /path/to/your/repo Seagoat สามารถปรับให้เหมาะกับความต้องการของคุณผ่านไฟล์การกำหนดค่า YAML ไม่ว่าจะเป็นทั่วโลกหรือโครงการโดยเฉพาะกับไฟล์ .seagoat.yml ตัวอย่างเช่น:
# .seagoat.yml
server :
port : 31134 # Specify server portตรวจสอบเอกสารสำหรับรายละเอียดเพิ่มเติม!
ความต้องการ :
หลังจากโคลนนิ่งที่เก็บแล้วให้ติดตั้งการพึ่งพาโดยใช้คำสั่งต่อไปนี้:
poetry installpoetry run ptwpoetry run pytest . --testmonpoetry run pytest . คุณสามารถทดสอบคำสั่ง SEAGOAT ด้วยตนเองในสภาพแวดล้อมการพัฒนาท้องถิ่นของคุณ ตัวอย่างเช่นการทดสอบเวอร์ชันการพัฒนาของคำสั่ง seagoat-server คุณสามารถเรียกใช้:
poetry run seagoat-server start ~ /path/an/example/repositoryคะแนนในคำถามที่พบบ่อยนี้เป็นข้อบ่งชี้ว่า Seagoat ทำงานอย่างไร แต่ไม่ใช่สัญญาทางกฎหมาย Seagoat ได้รับใบอนุญาตภายใต้ใบอนุญาตโอเพ่นซอร์สและหากคุณมีข้อสงสัยเกี่ยวกับความเป็นส่วนตัว/ความปลอดภัย/ฯลฯ ของ Seagoat คุณสามารถตรวจสอบซอร์สโค้ด, เพิ่มข้อกังวลของคุณหรือสร้างคำขอดึงเพื่อแก้ไขปัญหา
Seagoat ไม่พึ่งพา API ของบุคคลที่สามหรือ API ระยะไกลใด ๆ และดำเนินการฟังก์ชั่นทั้งหมดในพื้นที่โดยใช้เซิร์ฟเวอร์ Seagoat ที่คุณสามารถทำงานบนเครื่องของคุณเองได้
แทนที่จะพึ่งพา APIs หรือ "เชื่อมต่อกับ chatgpt" มันใช้ฐานข้อมูลเวกเตอร์ที่เรียกว่า Chromadb โดยใช้เครื่องมือฝังเวกเตอร์ท้องถิ่นและ telemetry ปิดใช้งานโดยค่าเริ่มต้น
นอกเหนือจากนั้น Seagoat ยังใช้ RIPGREP ซึ่งเป็นเครื่องมือค้นหารหัสตามการแสดงออกตามปกติเพื่อให้ผู้ให้บริการการจับคู่ตามนิพจน์/คำหลักปกตินอกเหนือจากการจับคู่ "AI-based"
แม้ว่า Seagoat เวอร์ชันปัจจุบันจะไม่ส่งข้อมูลของคุณไปยังเซิร์ฟเวอร์ระยะไกล แต่อาจเป็นไปได้ว่าในอนาคตจะมีคุณสมบัติ ทางเลือก ที่ทำเช่นนั้นหากสามารถปรับปรุงเพิ่มเติมได้
Seagoat ต้องการเซิร์ฟเวอร์เพื่อให้การตอบสนองที่รวดเร็ว Seagoat อาศัยการฝังตัวของเวกเตอร์และฐานข้อมูลเวกเตอร์อย่างหนักซึ่งในขณะนี้ไม่สามารถแทนที่ด้วยสถาปัตยกรรมที่ประมวลผลไฟล์ได้ทันที
เป็นที่น่าสังเกตว่า คุณสามารถเรียกใช้เซิร์ฟเวอร์ Seagoat ได้อย่างสมบูรณ์ในพื้นที่ และใช้งานได้แม้ว่าคุณจะไม่มีการเชื่อมต่ออินเทอร์เน็ตก็ตาม กรณีการใช้งานนี้ไม่ต้องการให้คุณแชร์ข้อมูลกับเซิร์ฟเวอร์ระยะไกลคุณสามารถใช้เซิร์ฟเวอร์ Seagoat ของคุณเองได้แม้ว่าจะเป็นไปได้ที่จะเรียกใช้เซิร์ฟเวอร์ Seagoat และอนุญาตให้คอมพิวเตอร์เครื่องอื่นเชื่อมต่อกับมันหากคุณต้องการ
หากคุณมีความกังวลเกี่ยวกับผลกระทบทางจริยธรรมของการใช้เครื่องมือ AI โปรดทราบว่า Seagoat ไม่ใช่ตัวสร้างรหัส แต่เป็นเครื่องมือค้นหารหัสดังนั้นจึงไม่ได้สร้างงานที่ได้มาจาก AI
ที่ถูกกล่าวว่าโมเดลภาษา กำลัง ถูกใช้เพื่อสร้างการฝังเวกเตอร์ ในขณะที่ Seagoat ใช้โมเดลเริ่มต้นของ Chromadb สำหรับการคำนวณการฝังตัวของเวกเตอร์และฉันไม่ได้ตระหนักถึงสิ่งนี้ว่าเป็นปัญหาด้านจริยธรรม
ปัจจุบัน Seagoat เป็นรหัสยากที่จะประมวลผลไฟล์ในรูปแบบต่อไปนี้เท่านั้น:
*.txt )*.md )*.py )*.c , *.h )*.cpp , *.cc , *.cxx , *.hpp )*.ts , *.tsx )*.js , *.jsx )*.html )*.go )*.java )*.php )*.rb )เนื่องจากการประมวลผลไฟล์สำหรับที่เก็บขนาดใหญ่อาจใช้เวลานาน Seagoat ได้ รับการออกแบบมาเพื่อให้คุณใช้คอมพิวเตอร์ของคุณในขณะประมวลผลไฟล์ มันเป็นตัวเลือกการออกแบบโดยเจตนาเพื่อหลีกเลี่ยงการปิดกั้น/ทำให้คอมพิวเตอร์ของคุณช้าลง
การตัดสินใจออกแบบนี้ไม่ส่งผลกระทบต่อประสิทธิภาพของการสืบค้น
โดยวิธีการที่คุณสามารถใช้ seagoat เพื่อสอบถามพื้นที่เก็บข้อมูลของคุณในขณะที่กำลังประมวลผลไฟล์ของคุณ! เมื่อคุณทำการสืบค้นและไฟล์ยังไม่ได้ประมวลผลคุณจะได้รับคำเตือนด้วยการประเมินความถูกต้องของผลลัพธ์ของคุณ นอกจากนี้ผลการค้นหาข้อความตามปกติ/การค้นหาข้อความแบบเต็มจะแสดงตั้งแต่เริ่มต้น!
การเข้ารหัสอักขระที่ต้องการคือ UTF-8 การเข้ารหัสอักขระอื่น ๆ ส่วนใหญ่ควรใช้งานได้เช่นกัน รองรับไฟล์ข้อความเท่านั้น SeoGoat จะไม่สนใจไฟล์ไบนารี
ที่ Seagoat เก็บฐานข้อมูลและแคชขึ้นอยู่กับระบบปฏิบัติการของคุณ เพื่อความสะดวกของคุณคุณสามารถใช้คำสั่ง seagoat-server server-info เพื่อค้นหาว่าไฟล์เหล่านี้ถูกเก็บไว้ในระบบของคุณที่ไหน
ใช่ถ้าคุณต้องการใช้ seagoat โดยไม่ต้องเรียกใช้เซิร์ฟเวอร์บนคอมพิวเตอร์เครื่องเดียวกันคุณสามารถใช้เซิร์ฟเวอร์ SeoGoat ด้วยตนเองบนคอมพิวเตอร์เครื่องอื่นหรือในคลาวด์และกำหนดค่าคำสั่ง seagoat / gt เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลนี้ ผ่านอินเทอร์เน็ต
โปรดทราบว่า SeoGoat เองไม่ได้บังคับใช้ความปลอดภัยใด ๆ เนื่องจากได้รับการออกแบบมาเพื่อทำงานในพื้นที่เป็นหลัก หากคุณมีรหัสส่วนตัวที่คุณไม่ต้องการรั่วไหลคุณจะต้องแน่ใจว่ามีเพียงคนที่เชื่อถือได้เท่านั้นที่สามารถเข้าถึงเซิร์ฟเวอร์ Seagoat ได้ สิ่งนี้สามารถทำได้โดยทำให้สามารถใช้งานได้ผ่าน VPN เท่านั้นที่มีเพียงเพื่อนร่วมทีมของคุณเท่านั้นที่สามารถเข้าถึงได้
Seagoat ไม่สนใจไฟล์/ไดเรกทอรีทั้งหมดที่ละเว้นใน. .gitignore ของคุณแล้ว หากคุณต้องการเพิกเฉยต่อไฟล์เพิ่มเติม แต่เก็บไว้ใน Git คุณสามารถใช้แอตทริบิวต์ ignorePatterns จากการกำหนดค่าเซิร์ฟเวอร์ เรียนรู้เพิ่มเติม