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 install
poetry run ptw
poetry run pytest . --testmon
poetry 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
จากการกำหนดค่าเซิร์ฟเวอร์ เรียนรู้เพิ่มเติม