การตรวจวัดระยะไกลและปลั๊กอินการบันทึกของ 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

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

    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 ที่มีประสิทธิภาพซึ่งช่วยให้ควบคุมบันทึกที่มีความละเอียดอ่อนได้แบบละเอียด

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

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

องค์ประกอบการนำทางที่โดดเด่นที่สุดใน 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 มีระดับแบบไม่เสียค่าใช้จ่ายมากมาย ดูราคาที่เฉพาะเจาะจงได้ในลิงก์ต่อไปนี้