การตรวจวัดระยะไกลและปลั๊กอินการบันทึกของ Google Cloud

ปลั๊กอิน Google Cloud จะส่งออกการวัดและส่งข้อมูลทางไกลและข้อมูลการบันทึกของ Firebase Genkit ไปยังชุดการดำเนินการของ Google Cloud

สิ่งที่ต้องดำเนินการก่อน

หากต้องการเรียกใช้โฟลว์ที่ใช้ปลั๊กอินนี้ในเครื่อง คุณต้องติดตั้งเครื่องมือ Google Cloud CLI

ตั้งค่าบัญชี Google Cloud

ปลั๊กอินนี้ต้องใช้บัญชี Google Cloud (ลงชื่อสมัครใช้หากยังไม่มีบัญชี) และโปรเจ็กต์ Google Cloud

ก่อนที่จะเพิ่มปลั๊กอิน โปรดตรวจสอบว่าได้เปิดใช้ API ต่อไปนี้สำหรับโปรเจ็กต์ของคุณแล้ว

API เหล่านี้ควรแสดงอยู่ในแดชบอร์ด API ของโปรเจ็กต์

คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดและปิดใช้ API

การกำหนดค่า

หากต้องการเปิดใช้การส่งออกไปยัง Google Cloud Tracing, Logging และ Monitoring ให้นำเข้าแพ็กเกจ googlecloud และเรียกใช้ Init() หลังจากเรียก Init() ระบบจะส่งออกการวัดและส่งข้อมูลทางไกลโดยอัตโนมัติ

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
	ctx,
	googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
	return err
}

คุณต้องระบุโปรเจ็กต์ Google Cloud ที่ต้องการส่งออกข้อมูลทางไกล นอกจากนี้ ยังมีพารามิเตอร์ที่ไม่บังคับบางรายการด้วย ดังนี้

  • ForceExport: ส่งออกข้อมูลการวัดและส่งข้อมูลทางไกลแม้จะทำงานในสภาพแวดล้อมที่กำลังพัฒนา (เช่น เมื่อใช้ genkit start หรือ genkit flow:run) ซึ่งเป็นวิธีที่รวดเร็วในการทดสอบการผสานรวมและส่งเหตุการณ์แรกเข้ารับการตรวจสอบใน Google Cloud

    หากใช้ตัวเลือกนี้ คุณต้องทำให้ข้อมูลเข้าสู่ระบบ Cloud ใช้งานได้ในเครื่องด้วย โดยทำดังนี้

    gcloud auth application-default login
    
  • MetricInterval: ช่วงเวลาในหน่วยนาโนวินาทีที่จะส่งออกข้อมูลทางไกล ค่าเริ่มต้นคือ 60 วินาที (60e9 นาโนวินาที)

  • LogLevel: ระดับความรุนแรงขั้นต่ำของรายการบันทึกที่จะส่งออก โดยค่าเริ่มต้นคือ slog.LevelInfo

ปลั๊กอินต้องใช้ข้อมูลเข้าสู่ระบบโปรเจ็กต์ Google Cloud หากคุณกำลังเรียกใช้โฟลว์จากสภาพแวดล้อม Google Cloud (Cloud Run เป็นต้น) ระบบจะตั้งค่าข้อมูลเข้าสู่ระบบโดยอัตโนมัติ การเรียกใช้ในสภาพแวดล้อมอื่นๆ ต้องมีการตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน

การตรวจสอบการผลิตผ่านชุดการดำเนินการของ Google Cloud

เมื่อทำให้โฟลว์ใช้งานได้แล้ว ให้ไปที่ชุดเครื่องมือการดำเนินการของ Google Cloud แล้วเลือกโปรเจ็กต์

บันทึกและการติดตาม

จากเมนูด้านข้าง ให้ค้นหา "การบันทึก" แล้วคลิก "เครื่องมือสำรวจบันทึก"

คุณจะเห็นบันทึกทั้งหมดที่เชื่อมโยงกับขั้นตอนที่ทำให้ใช้งานได้แล้ว รวมถึง console.log() บันทึกที่มีคํานําหน้า [genkit] คือบันทึก Genkit-internal ที่มีข้อมูลที่คุณอาจสนใจในการแก้ไขข้อบกพร่อง ตัวอย่างเช่น บันทึก Genkit ในรูปแบบ Config[...] มีข้อมูลเมตา เช่น อุณหภูมิและค่า TopK สำหรับการอนุมาน LLM ที่เฉพาะเจาะจง บันทึกในรูปแบบ Output[...] จะมีการตอบกลับ LLM ขณะที่บันทึก Input[...] จะมีข้อความแจ้ง Cloud Logging มี ACL ที่มีประสิทธิภาพซึ่งช่วยให้ควบคุมบันทึกที่มีความละเอียดอ่อนได้แบบละเอียด

สำหรับบรรทัดในบันทึกบางรายการ คุณสามารถไปที่การติดตามที่เกี่ยวข้องได้โดยคลิกไอคอนเมนูแบบขยาย และเลือก "ดูในรายละเอียดการติดตาม"

การดำเนินการนี้จะแสดงแผงแสดงตัวอย่างการติดตามเพื่อให้ดูรายละเอียดการติดตามได้อย่างรวดเร็ว หากต้องการดูรายละเอียดทั้งหมด ให้คลิกลิงก์ "ดูในการติดตาม" ที่ด้านขวาบนของหน้าต่าง

องค์ประกอบการนำทางที่โดดเด่นที่สุดใน Cloud Trace คือแผนภูมิกระจายของการติดตาม ซึ่งประกอบด้วยการติดตามที่เก็บรวบรวมทั้งหมดในระยะเวลาที่กำหนดไว้

การคลิกจุดข้อมูลแต่ละจุดจะแสดงรายละเอียดใต้แผนภูมิกระจาย

มุมมองรายละเอียดจะมีรูปร่างของโฟลว์ ซึ่งรวมถึงขั้นตอนทั้งหมด และข้อมูลเวลาที่สำคัญ Cloud Trace สามารถแทรกสลับบันทึกทั้งหมดที่เชื่อมโยงกับการติดตามที่ระบุภายในมุมมองนี้ได้ เลือกตัวเลือก "แสดงแบบขยาย" ในเมนู "บันทึกและเหตุการณ์" แบบเลื่อนลง

มุมมองผลลัพธ์ช่วยให้ตรวจสอบบันทึกอย่างละเอียดในบริบทของการติดตามได้ รวมถึงพรอมต์และคำตอบของ LLM

เมตริก

คุณดูเมตริกทั้งหมดที่ส่งออก Genkit ได้โดยเลือก "การบันทึก" จากเมนูด้านข้าง แล้วคลิก "การจัดการเมตริก"

คอนโซลการจัดการเมตริกมีมุมมองตารางของเมตริกที่รวบรวมไว้ทั้งหมด รวมถึงเมตริกที่เกี่ยวข้องกับ Cloud Run และสภาพแวดล้อมโดยรอบ การคลิกตัวเลือก "ภาระงาน" จะแสดงรายการที่มีเมตริกที่ Genkit รวบรวมไว้ เมตริกที่มีคำนำหน้า genkit จะถือเป็นเมตริก Genkit ภายใน

Genkit จะรวบรวมเมตริกหลายประเภท รวมถึงเมตริกระดับโฟลว์ ระดับการดำเนินการ และระดับการสร้าง แต่ละเมตริกมีมิติข้อมูลที่มีประโยชน์หลายอย่างที่ช่วยในการกรองและจัดกลุ่มที่มีประสิทธิภาพ

มิติข้อมูลทั่วไป ได้แก่

  • flow_name - ชื่อระดับบนสุดของขั้นตอน
  • flow_path - สแปนและห่วงโซ่สแปนระดับบนไปจนถึงสแปนระดับรูท
  • error_code - ในกรณีที่เกิดข้อผิดพลาด ให้ระบุรหัสข้อผิดพลาดที่เกี่ยวข้อง
  • error_message - ในกรณีที่เกิดข้อผิดพลาด ระบบจะใช้ข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง
  • model - ชื่อโมเดล
  • temperature - ค่าอุณหภูมิอนุมาน
  • topK - ค่าบนสุดจากการอนุมาน
  • topP - ค่าส่วนบนสุดจากการอนุมาน

เมตริกระดับโฟลว์

ชื่อ มิติข้อมูล
Genkit/flow/requests flow_name, error_code, error_message
Genkit/flow/เวลาในการตอบสนอง ชื่อโฟลว์

เมตริกระดับการดำเนินการ

ชื่อ มิติข้อมูล
Genkit/การดำเนินการ/คำขอ flow_name, error_code, error_message
Genkit/แอ็กชัน/เวลาในการตอบสนอง ชื่อโฟลว์

สร้างเมตริกระดับ

ชื่อ มิติข้อมูล
Genkit/AI/สร้าง Dataflow_path, โมเดล, อุณหภูมิ, topK, topP, error_code, error_message
Genkit/ai/generate/input_tokens โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/ai/generate/output_tokens โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/ai/generate/input_characters โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/ai/generate/output_characters โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/ai/generate/input_images โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/ai/generate/output_images โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP
Genkit/AI/สร้าง/เวลาในการตอบสนอง Dataflow_path, โมเดล, อุณหภูมิ, topK, topP, error_code, error_message

การแสดงภาพเมตริกสามารถทำได้ผ่านเครื่องมือสำรวจเมตริก เมื่อใช้เมนูด้านข้าง ให้เลือก "การบันทึก" แล้วคลิก "เครื่องมือสำรวจเมตริก"

เลือกเมตริกโดยคลิกเมนูแบบเลื่อนลง "เลือกเมตริก" เลือก "โหนดทั่วไป" "Genkit" และเมตริก

การแสดงภาพของเมตริกจะขึ้นอยู่กับประเภทของเมตริก (ตัวนับ ฮิสโตแกรม ฯลฯ) เครื่องมือสำรวจเมตริกนำเสนอการรวมและเครื่องมือค้นหาที่มีประสิทธิภาพ เพื่อช่วยสร้างกราฟเมตริกตามมิติข้อมูลต่างๆ

ความล่าช้าของการส่งข้อมูลทางไกล

อาจมีความล่าช้าเล็กน้อยก่อนที่การวัดและส่งข้อมูลทางไกลสำหรับการดำเนินการบางอย่างของโฟลว์จะปรากฏในชุดการดำเนินการของ Cloud โดยส่วนใหญ่แล้ว การหน่วงเวลานี้จะน้อยกว่า 1 นาที

โควต้าและขีดจำกัด

มีโควต้าหลายอย่างที่ควรทราบ ดังนี้

ค่าใช้จ่าย

Cloud Logging, Cloud Trace และ Cloud Monitoring มีระดับแบบไม่เสียค่าใช้จ่ายมากมาย ดูราคาที่เฉพาะเจาะจงได้ที่ลิงก์ต่อไปนี้