การรวม log-sum-exp ที่เสถียร
รวมค่าลอการิทึมไม่เกิน 1000 ค่าจากลบ 1e300 ถึง 1e300 โดยลบค่าสูงสุดก่อนยกกำลัง.
from math import exp, fsum, log, inf
def log_sum_exp(values):
if type(values) not in (list, tuple) or len(values) > 1000:
raise ValueError("values.container")
values = tuple(values)
if len(values) > 1000 or any(
type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
):
raise ValueError("values.range")
if not values:
return -inf
peak = max(values)
return peak + log(fsum(exp(v - peak) for v in values))| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
|---|---|
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก |
| โปรเจกต์ | ทดสอบข้อมูลว่าง ค่าสูงซ้ำและค่าลบมาก พร้อมคืนลบอนันต์เฉพาะข้อมูลว่างและปฏิเสธบูลีน ค่าไม่จำกัดหรือค่านอกช่วง. |
from math import exp, fsum, log, inf
def log_sum_exp(values):
if type(values) not in (list, tuple) or len(values) > 1000:
raise ValueError("values.container")
values = tuple(values)
if len(values) > 1000 or any(
type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
):
raise ValueError("values.range")
if not values:
return -inf
peak = max(values)
return peak + log(fsum(exp(v - peak) for v in values))ตรวจพฤติกรรมเชิงตัวเลขก่อนเชื่อผลใหม่
ExponQuay เป็นไคลเอนต์เขียนโค้ดด้วย AI บน Windows สำหรับนักพัฒนาที่ต้องการคำอธิบายการแก้เชิงตัวเลขในบริบทแอปพลิเคชัน นำซอร์ส ข้อมูลเข้าที่มีปัญหา และพฤติกรรมคาดหวังมาในการสนทนาโครงการ คำขอแรกที่มีประโยชน์คือขอให้โมเดลที่เชื่อมต่อแยกการดำเนินการคณิตศาสตร์ที่ตั้งใจจากข้อจำกัดของโค้ดปัจจุบัน
เช่น งานรวมค่าเชิงลอการิทึมอาจกำหนดขอบเขตค่าข้อมูลเข้า ขนาดชุดข้อมูลสูงสุด และผลเมื่อข้อมูลว่าง ขอให้โมเดลตรวจวิธีเลื่อนด้วยค่าสูงสุดโดยรักษาข้อกำหนดนั้น ใส่ผู้เรียกที่ใช้คำตอบ โดยเฉพาะหากแยกผลรวมว่างจากผลตัวเลขจำกัด การสนทนายังคงเกี่ยวกับโค้ดในโครงการของคุณ
ก่อนรับข้อเสนอ ให้รันกรณีค่ามากซ้ำกันและค่าติดลบมากในสภาพแวดล้อมของคุณ ตรวจการปฏิเสธชนิดที่ไม่รองรับและข้อมูลนอกช่วงควบคู่ผลปกติ เทียบกับค่าอ้างอิงที่เหมาะกับความเที่ยงตรงที่แอปพลิเคชันต้องการ วิธีที่มุ่งเพิ่มเสถียรภาพยังต้องตรวจบนภาระงานที่จะใช้จริง
เลือกปลายทางที่เข้ากันได้กับ OpenAI หรือ Anthropic ซึ่ง ExponQuay รองรับ หากมีโมเดล AI ไม่กรองที่นั่น คุณเลือกได้พร้อมข้อมูลรับรองที่จำเป็น ป้ายชื่อไม่ได้รับประกันความเที่ยงตรงทางคณิตศาสตร์ ข้อจำกัดโมเดล ขีดจำกัดบริบท และการรองรับเครื่องมือขึ้นกับปลายทางจริงและการตั้งค่าโมเดล
เตรียมตรวจการรวมค่าเชิงตัวเลข
ควรแนบอะไรกับข้อมูลเข้าที่มีปัญหาเชิงตัวเลข?
ใส่ช่วงหรือผลอ้างอิงที่คาดหวัง ชนิดข้อมูลเข้าที่รับ และวิธีที่ผู้เรียกจัดการผลพิเศษ ข้อเท็จจริงเหล่านี้ให้การสนทนาตอบความต้องการแอปพลิเคชัน แทนเพียงเปลี่ยนนิพจน์ด้วยสูตรคณิตศาสตร์คล้ายกัน
ข้อมูลว่างควรคืนตัวเลขทั่วไปหรือไม่?
ทำตามข้อกำหนดที่คุณระบุ ตัวอย่างใช้ลบอนันต์สำหรับผลรวมว่างซึ่งส่วนใช้ผลต้องเข้าใจ ตรวจผู้เรียกและทดสอบกรณีว่างแยกจากข้อมูลติดลบมากแต่ถูกต้องก่อนรับการแก้
ทำไมต้องทดสอบค่ามากซ้ำกัน?
เป็นการทดสอบขอบเขตที่มีประโยชน์ของวิธีรวมค่าในตัวอย่างโครงการนี้ ระบุพฤติกรรมคาดหวังและเทียบโค้ดกับค่าอ้างอิงที่เหมาะสม อย่าสรุปความแม่นยำเชิงตัวเลขทั่วไปจากชุดทดสอบปกติชุดเดียวที่เลี่ยงค่าสุดขั้ว
โมเดลเลือกค่าความคลาดเคลื่อนที่ยอมรับได้หรือไม่?
โมเดลอธิบายข้อแลกเปลี่ยนได้ แต่ข้อกำหนดแอปพลิเคชันตัดสินค่าคลาดเคลื่อน ให้ข้อกำหนดนั้นและชนิดตัวเลขที่ใช้ รันข้อเสนอที่ได้กับข้อมูลตัวแทนด้วยเครื่องมือของคุณและบันทึกขีดจำกัดที่พบระหว่างตรวจ
ExponQuay · อัปเดต 2026-10-25