ช่วงไบต์ HTTP เดี่ยว
หาช่วงไบต์ HTTP แบบ ASCII เพียงช่วงเดียวสำหรับทรัพยากรขนาดศูนย์ถึง 10^12 ไบต์ด้วยส่วนหัวไม่เกิน 80 ตัวอักษร.
import re
def byte_range(header, size):
if type(header) is not str or len(header) > 80 or type(size) is not int or not 0 <= size <= 10**12:
raise ValueError("range.input")
match = re.fullmatch(r"bytes=([0-9]*)-([0-9]*)", header)
if match is None or not any(match.groups()):
raise ValueError("range.syntax")
left, right = match.groups()
if not left:
suffix = int(right)
if suffix == 0 or size == 0:
return None
return max(0, size-suffix), size-1
start = int(left)
end = int(right) if right else size-1
if start >= size or end < start:
return None
return start, min(end, size-1)
ตรวจสอบก่อนนำไปใช้
เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
โมเดล
ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
โปรเจกต์
ทดสอบปลายเปิดและส่วนท้าย จำกัดปลายที่เกินและคืนว่าไม่มีช่วงเมื่อใช้ไม่ได้ พร้อมปฏิเสธไวยากรณ์ผิดหรือหลายช่วง.
import re
def byte_range(header, size):
if type(header) is not str or len(header) > 80 or type(size) is not int or not 0 <= size <= 10**12:
raise ValueError("range.input")
match = re.fullmatch(r"bytes=([0-9]*)-([0-9]*)", header)
if match is None or not any(match.groups()):
raise ValueError("range.syntax")
left, right = match.groups()
if not left:
suffix = int(right)
if suffix == 0 or size == 0:
return None
return max(0, size-suffix), size-1
start = int(left)
end = int(right) if right else size-1
if start >= size or end < start:
return None
return start, min(end, size-1)
ให้การปรับโครงสร้างยูทิลิตีคงความหมายของคำขอที่ตีความ
RangeTallow เป็นซอฟต์แวร์เขียนโค้ดด้วย AI สำหรับตรวจการแก้ยูทิลิตีในบริบทแอปที่พึ่งพา เปิดโปรเจกต์บน Windows และอธิบายว่าพฤติกรรมใดต้องคงเดิมตลอดการปรับโครงสร้าง ขอให้โมเดลตรวจการแยกอินพุต ค่าคืน และผู้เรียกที่เกี่ยวข้องร่วมกัน เพื่อไม่ให้โค้ดที่สั้นลงแอบเปลี่ยนความหมายคำขอ
คุณอาจใช้ byte_range.py อภิปรายการแปลงช่วงส่วนท้ายตามขนาดไฟล์ที่ทราบ ให้ตัวอย่างชัดสำหรับช่วงปกติ ทรัพยากรว่าง และคำขอนอกเนื้อหาที่มี ตรวจค่าที่ตัวช่วยคืนก่อนตัดสินใจว่าตัวจัดการตอบควรใช้อย่างไร มองการตีความช่วงกับการสร้างคำตอบเป็นหน้าที่เกี่ยวข้องกันที่มีขอบเขตอธิบายได้
ทดสอบการแก้ไขในสภาพแวดล้อมโปรเจกต์ รวมกรณีที่แยกอินพุตผิดรูปจากช่วงที่ตอบสนองไม่ได้ ตรวจโค้ดตอบที่ใช้ผลเพื่อไม่ให้ข้อตกลงค่าคืนใหม่สร้างผลชวนเข้าใจผิด RangeTallow รองรับการเชื่อมต่อแบบเข้ากันได้กับ OpenAI หรือ Anthropic พร้อมข้อมูลรับรองตามจำเป็น เลือกโมเดลแบบไม่จำกัดได้เมื่อปลายทางมีให้ ขีดจำกัดบริบท เครื่องมือ และข้อจำกัดยังขึ้นกับโมเดลและเซิร์ฟเวอร์ ตัวอย่างคำขอที่ยอมรับให้เกณฑ์สำเร็จชัดแก่บทสนทนาปรับโครงสร้าง
ตรวจการแก้ไขการจัดการช่วง
ทำไมแยกอินพุตผิดรูปกับช่วงที่ตอบสนองไม่ได้
เป็นคนละเงื่อนไข คำขออาจไม่ตรงไวยากรณ์ที่ยอมรับ หรือขอเนื้อหาที่ไม่มีตามขนาดที่ทราบ ระบุว่าตัวช่วยแทนแต่ละกรณีอย่างไรและตรวจว่าตัวจัดการตอบใช้ความต่างนั้นอย่างไร
ช่วงที่แยกได้เพียงพอสร้างคำตอบถูกต้องหรือไม่
ไม่ ผู้เรียกยังต้องสร้างคำตอบตามข้อกำหนดของตัวเองและทรัพยากรจริง ตรวจการใช้ขอบเขตที่คืน รวมการเลือกเนื้อหาและพฤติกรรมสถานะ แทนถือว่าการแยกสำเร็จคือผสานงานเสร็จแล้ว
ตัวอย่างช่วงส่วนท้ายควรระบุอะไร
ให้ความยาวส่วนท้ายที่ขอ ขนาดทรัพยากรที่ทราบ และขอบเขตแบบรวมปลายที่คาดหวังหรือผลปฏิเสธ ใส่ทรัพยากรว่างเพื่อให้โค้ดไม่ตั้งสมมติฐานว่ามีไบต์สุดท้ายให้เลือกเสมอ
จะจำกัดขอบเขตการปรับโครงสร้างอย่างไร
จดกรณีที่ยอมรับปัจจุบันและการเปลี่ยนที่ตั้งใจ หากมี ขอข้อเสนอที่รักษาพฤติกรรมอื่น แล้วตรวจผลต่างและรันกรณีเหล่านั้นผ่านทั้งตัวช่วยและผู้เรียก
RangeTallow · อัปเดต 2026-10-25