การใช้งานและการส่งออกของ Gateway
แท็บการใช้งานแสดงค่าใช้จ่าย คำขอ และโมเดล คีย์ แผนก ผู้ใช้ปลายทางของแต่ละคำขอ ส่งออกทั้งเดือนเป็น CSV ได้จากคอนโซลหรือ gateway.usage.export ไม่มีพรอมต์หรือคำตอบ
แท็บการใช้งาน#
AI Gateway › การใช้งาน มีไว้สำหรับเจ้าของและผู้ดูแลเวิร์กสเปซ เลือกช่วงเวลา และเลือกคีย์ใดคีย์หนึ่งได้ถ้าต้องการ หน้านี้แสดงค่าใช้จ่าย จำนวนคำขอ และอัตราสำเร็จ แนวโน้มรายวัน ค่าใช้จ่ายแยกตามคีย์และตามโมเดล วิธีที่ auto เลือก แล้วตามด้วยแต่ละคำขอ ได้แก่ เวลาที่ทำงาน คีย์ โมเดลที่ตอบและเหตุผล โทเค็น และผลลัพธ์ คำขอที่ถูกปฏิเสธจะบอกว่าขีดจำกัดใดเป็นผู้ปฏิเสธ
ผู้ใช้ปลายทาง#
ระบบที่ให้บริการคนจำนวนมากผ่านคีย์เดียวระบุได้ว่าแต่ละคำขอเป็นของใคร Gateway จะบันทึกค่านี้เป็นผู้ใช้ปลายทางของคำขอ
| Endpoint | ช่อง |
|---|---|
/v1/chat/completions | user |
/v1/responses | user |
/v1/messages | metadata.user_id |
บันทึกเฉพาะตัวระบุนี้เท่านั้น ไม่มีข้อมูลอื่นในคำขอถูกเก็บไว้เพื่อการนี้ และช่องนี้ยังส่งต่อให้ผู้ให้บริการโดยไม่เปลี่ยนแปลง ให้ใช้ id ที่ระบบของคุณเข้าใจ เช่น รหัสพนักงานหรือที่อยู่ที่แฮชแล้ว แทนการใช้ชื่อ คำขอที่ไม่มีค่านี้จะแสดงว่าไม่มีผู้ใช้ปลายทาง
แท็ก#
แท็กระบุว่าคำขอใช้ทำอะไร เช่น ทีม ฟีเจอร์ หรือลูกค้า เพื่อให้แท็บการใช้งานแยกและกรองค่าใช้จ่ายตามแท็กได้ ส่งเป็นออบเจ็กต์ JSON หนึ่งตัวในเฮดเดอร์ X-AgentLab-Metadata ได้ในทุก endpoint สำหรับ inference
curl https://api.agentlab.cresclab.com/v1/chat/completions \
-H "Authorization: Bearer $AGENTLAB_API_KEY" \
-H "Content-Type: application/json" \
-H 'X-AgentLab-Metadata: {"team": "support", "feature": "summary"}' \
-d '{"model": "auto", "messages": [{"role": "user", "content": "Hello"}]}'เมื่อใช้ SDK ให้ส่งเฮดเดอร์เดียวกัน เช่นใน Python
reply = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Hello"}],
extra_headers={"X-AgentLab-Metadata": '{"team": "support", "feature": "summary"}'},
)ใน /v1/chat/completions และ /v1/responses ฟิลด์ metadata ในเนื้อหาของ OpenAI จะถูกอ่านเป็นแท็กด้วย และยังส่งต่อให้ผู้ให้บริการตามเดิม หากคำขอส่งทั้งสองแบบจะถูกรวมกัน คีย์ที่มีทั้งสองที่ต้องมีค่าเดียวกัน เฮดเดอร์นี้จะไม่ถูกส่งไปยังผู้ให้บริการ
| กฎ | ขีดจำกัด |
|---|---|
| แท็ก | ไม่เกิน 16 แท็กต่อคำขอ |
| คีย์ | ตัวอักษร ตัวเลข _ . หรือ - ยาว 1 ถึง 64 ตัว |
| ค่า | สตริงยาว 1 ถึง 512 ตัวอักษร ไม่มีอักขระควบคุม |
คำขอที่แท็กผิดกฎจะถูกปฏิเสธด้วย 400 invalid_metadata พร้อมข้อความที่บอกกฎข้อนั้น แท็กจะไม่ถูกทิ้งไปเงียบ ๆ ใน AI Gateway › การใช้งาน ให้เลือก แท็ก ในตารางแยกรายการแล้วเลือกคีย์ เพื่อดูค่าใช้จ่ายตามค่าของคีย์นั้น เลือกค่าใดค่าหนึ่งเพื่อกรองทั้งหน้า รายละเอียดคำขอและไฟล์ CSV ที่ส่งออกจะแสดงแท็กของแต่ละคำขอ แท็กเป็นป้ายกำกับของคุณเองเช่นเดียวกับผู้ใช้ปลายทาง อย่าใส่ข้อมูลส่วนบุคคลหรือเนื้อหาพรอมต์
ส่งออกทั้งเดือน#
ในแท็บการใช้งาน เลือก ส่งออก CSV เลือกเดือน แล้วดาวน์โหลด ไฟล์มีหนึ่งแถวต่อความพยายามส่งคำขอหนึ่งครั้ง เปิดใน Excel ได้โดยตัวอักษรไม่เพี้ยน และไม่มีข้อความของพรอมต์หรือคำตอบ
| คอลัมน์ | เนื้อหา |
|---|---|
request_id | id ของคำขอ ตรงกับที่ส่งในเฮดเดอร์ X-Request-Id |
attempt_id | ความพยายามครั้งนี้ คำขอที่ auto ประเมินก่อน หรือที่ถูกลองใหม่ จะมีมากกว่าหนึ่งรายการ |
started_at | เวลาที่ความพยายามเริ่ม เป็น UTC (ISO 8601) |
state | completed, failed, uncertain (ไม่เคยได้รายงานการใช้งาน), dispatched หรือ prepared |
model | โมเดลที่ความพยายามนั้นถูกส่งไป |
decision | เหตุผลที่ใช้โมเดลนั้น: explicit_pin สำหรับโมเดลที่ระบุชื่อ นอกนั้นคือวิธีที่ auto ตัดสิน |
input_tokens, output_tokens | โทเค็นที่วัดได้ เว้นว่างเมื่อไม่ทราบการใช้งาน |
cached_read_tokens, cache_write_tokens | โทเค็นของแคชพรอมต์ เว้นว่างเมื่อผู้ให้บริการไม่ได้รายงาน |
cost_usd | ค่าใช้จ่ายตามราคาในแค็ตตาล็อกของโมเดลในวันนั้น เว้นว่างเมื่อไม่ทราบการใช้งานหรือราคา |
key_id, key_name | คีย์ที่ส่งคำขอ |
departments | แผนกที่คีย์คิดค่าใช้จ่ายด้วยตอนที่ความพยายามเริ่ม คั่นด้วย ; |
end_user | ผู้ใช้ปลายทางที่คำขอระบุ หรือเว้นว่าง |
failure_code | เหตุที่ความพยายามไม่ได้คำตอบ เมื่อ Gateway บันทึกไว้ เช่น inference_allowance_exceeded |
tags | แท็กของคำขอเป็นออบเจ็กต์ JSON เช่น {"team":"support"} หรือเว้นว่าง |
ช่องว่างหมายถึงไม่ทราบ ไม่ใช่ศูนย์ เดือนนับตามปฏิทิน UTC ช่องที่ขึ้นต้นด้วย =, +, -, @, แท็บ หรือ carriage return จะมี ' นำหน้า เพื่อให้สเปรดชีตแสดงค่าแทนการเรียกใช้
ส่งออกด้วยโค้ด#
ไฟล์เดียวกันนี้ได้จาก procedure gateway.usage.export ของ API คอนโซล ทีละหน้า แต่ละการเรียกส่งคืนได้สูงสุด 5,000 แถวเป็นข้อความ CSV ใน content พร้อม nextCursor ให้เรียกอีกครั้งด้วย cursor นั้นจนกว่าจะเป็น null แล้วต่อ content ของทุกหน้าตามลำดับ เฉพาะหน้าแรกเท่านั้นที่มี byte-order mark และแถวหัวตาราง ผู้เรียกต้องเป็นเจ้าของหรือผู้ดูแลเวิร์กสเปซ