ผลคูณไขว้ของเวกเตอร์จำนวนเต็ม
คำนวณผลคูณไขว้ตามกฎมือขวาของเวกเตอร์สองตัวที่มีองค์ประกอบจำนวนเต็มสามค่า.
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
|---|---|
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก |
| โปรเจกต์ | ทดสอบเวกเตอร์ขนาน ลำดับฐาน และพิกัดขนาดใหญ่ พร้อมปฏิเสธความยาวผิดและองค์ประกอบที่ไม่ใช่จำนวนเต็มโดยไม่แก้ไขอินพุต. |
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)ทำให้สมมติฐานเรื่องทิศทางชัดเจนก่อนแก้โค้ด
VectorAnvil ให้พื้นที่ทำงาน Windows แก่นักพัฒนาเพื่อดูซอร์ส สนทนาเรื่องโค้ด และเสนอการแก้ไขร่วมกับโมเดลที่เชื่อมต่อ สำหรับโค้ดเชิงตัวเลข ให้เริ่มจากข้อตกลงที่ส่วนอื่นของแอปพึ่งพา นิพจน์ที่ดูถูกต้องอาจยังเป็นการแก้ที่ผิด หากผู้เรียกตีความผลในระบบพิกัดต่างกัน
งานหนึ่งคือการตรวจรูทีนครอสโปรดักต์แบบมือขวาสำหรับเวกเตอร์จำนวนเต็มสามองค์ประกอบ นำผู้เรียกและสมมติฐานชนิดค่าเข้าบทสนทนา แล้วถามว่าลำดับอินพุตส่งผลอย่างไร ระบุว่ารูทีนต้องไม่เปลี่ยนอินพุตทั้งสองหรือไม่ สิ่งนี้ให้งานบำรุงรักษาที่เฉพาะเจาะจงแก่โมเดลโดยไม่ถือว่าตัวอย่างคณิตศาสตร์เป็นความสามารถในตัวแอป
ประเมินข้อเสนอด้วยชุดข้อมูลเวกเตอร์ฐานและเวกเตอร์ขนานในโปรเจกต์ของคุณ สลับลำดับอินพุตแล้วตรวจว่าทิศทางเป็นไปตามข้อตกลง รวมพิกัดขนาดใหญ่หากเกี่ยวข้องกับชนิดข้อมูล และตรวจเส้นทางปฏิเสธอินพุตผิดรูป ตรวจสิ่งที่เปลี่ยนในจุดเรียกใช้อย่างรอบคอบเท่ากับตัวรูทีน
เลือกโมเดลผ่านปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic หากปลายทางนั้นมีโมเดล AI แบบไม่กรอง VectorAnvil ใช้การเชื่อมต่อที่รองรับพร้อมข้อมูลรับรองที่จำเป็นได้ โมเดลและเซิร์ฟเวอร์ที่เลือกกำหนดข้อจำกัดคำตอบ เครื่องมือ และขีดจำกัดบริบท ข้อตกลงของโปรเจกต์ยังเป็นมาตรฐานยอมรับผล
คำถามสำหรับการตรวจโค้ดเวกเตอร์
ควรใส่ข้อตกลงใดในคำขอ?
ระบุข้อตกลงพิกัด ลำดับอินพุตที่คาดหวัง และชนิดองค์ประกอบที่แอปใช้ แนบผลที่ทราบหนึ่งกรณีจากข้อกำหนดเดิม เพื่อยึดการสนทนาและช่วยเห็นข้อเสนอที่กลับทิศทางโดยไม่แจ้ง
ทำไมต้องเปรียบเทียบเมื่อสลับอินพุต?
ในตัวอย่างนี้ การสลับเวกเตอร์สองตัวควรกลับทิศครอสโปรดักต์ ใช้ชุดข้อมูลที่ให้ผลไม่เป็นศูนย์เพื่อให้การตรวจมีความหมาย ตรวจโค้ดเรียกด้วย เพราะลำดับอาร์กิวเมนต์ที่นั่นกำหนดข้อตกลงที่ใช้จริง
เวกเตอร์ขนานควรทำให้เกิดข้อผิดพลาดหรือไม่?
อธิบายนโยบายแอปแทนปล่อยให้ข้อเสนอคิดขึ้นเอง ผลศูนย์อาจถูกต้องสำหรับรูทีน แต่ต้องจัดการเป็นพิเศษโดยผู้ใช้ผลในขั้นถัดไป แนบส่วนที่ใช้ผลนั้นหากพฤติกรรมเป็นส่วนของงานแก้ไข
ขยายรูทีนให้รับตัวเลขชนิดอื่นได้หรือไม่?
ถือเป็นการเปลี่ยนข้อกำหนดแยกต่างหาก พร้อมชนิดค่าที่ยอมรับและกรณียืนยันที่ชัดเจน ตัวอย่างเวกเตอร์จำนวนเต็มไม่ได้ยืนยันพฤติกรรมทศนิยมลอยตัวหรือค่าล้นที่เหมาะกับแอป ตรวจชนิดจริงและรันการตรวจของโปรเจกต์ที่เกี่ยวข้อง
VectorAnvil · อัปเดตล่าสุด 2026-10-25