ปลั๊กอิน Google Cloud จะส่งออกการวัดและส่งข้อมูลทางไกลและข้อมูลการบันทึกของ Firebase Genkit ไปยัง ชุดการดำเนินการของ Google Cloud
การติดตั้ง
npm i --save @genkit-ai/google-cloud
หากต้องการเรียกใช้โฟลว์ที่ใช้ปลั๊กอินนี้ในเครื่อง คุณจะต้องติดตั้งเครื่องมือ Google Cloud CLI ด้วย
ตั้งค่าบัญชี Google Cloud
ปลั๊กอินนี้ต้องใช้บัญชี Google Cloud (ลงชื่อสมัครใช้หากยังไม่มีบัญชี) และโปรเจ็กต์ Google Cloud
ก่อนที่จะเพิ่มปลั๊กอิน โปรดตรวจสอบว่าได้เปิดใช้ API ต่อไปนี้สำหรับโปรเจ็กต์ของคุณแล้ว
API เหล่านี้ควรแสดงอยู่ในแดชบอร์ด API ของโปรเจ็กต์
คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดและปิดใช้ API
การกําหนดค่า Genkit
หากต้องการเปิดใช้การส่งออกไปยังการติดตาม การบันทึก และการตรวจสอบของ Google Cloud ให้เพิ่มปลั๊กอิน googleCloud
ลงในการกำหนดค่า Genkit โดยทำดังนี้
import { googleCloud } from '@genkit-ai/google-cloud';
export default configureGenkit({
plugins: [googleCloud()],
enableTracingAndMetrics: true,
telemetry: {
instrumentation: 'googleCloud',
logger: 'googleCloud',
},
});
เมื่อทํางานในเวอร์ชันที่ใช้งานจริง ระบบจะส่งออกข้อมูลการวัดผลโดยอัตโนมัติ
การตรวจสอบสิทธิ์
ปลั๊กอินต้องใช้รหัสโปรเจ็กต์ Google Cloud และข้อมูลเข้าสู่ระบบโปรเจ็กต์ Google Cloud หากคุณเรียกใช้ขั้นตอนจากสภาพแวดล้อม Google Cloud (Cloud Functions, Cloud Run ฯลฯ) ระบบจะตั้งค่ารหัสโปรเจ็กต์และข้อมูลเข้าสู่ระบบโดยอัตโนมัติ
ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
การเรียกใช้ในสภาพแวดล้อมอื่นๆ จำเป็นต้องตั้งค่าตัวแปรสภาพแวดล้อม GCLOUD_PROJECT
ให้กับโปรเจ็กต์ Google Cloud และตรวจสอบสิทธิ์โดยใช้เครื่องมือ gcloud
ดังนี้
gcloud auth application-default login
สำหรับข้อมูลเพิ่มเติม โปรดดูที่เอกสารข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
ข้อมูลเข้าสู่ระบบบัญชีบริการ
หากใช้บัญชีบริการและทำงานนอกสภาพแวดล้อม Google Cloud คุณสามารถตั้งค่าข้อมูลเข้าสู่ระบบเป็นตัวแปรสภาพแวดล้อมได้ ทำตามวิธีการที่นี่เพื่อตั้งค่าคีย์บัญชีบริการ Google Cloud
เมื่อดาวน์โหลดไฟล์คีย์แล้ว คุณจะระบุข้อมูลเข้าสู่ระบบได้ 2 วิธี ได้แก่ ตำแหน่งไฟล์โดยใช้ตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS
หรือคัดลอกเนื้อหาของไฟล์ JSON ไปยังตัวแปรสภาพแวดล้อม GCLOUD_SERVICE_ACCOUNT_CREDS
โดยตรง
เส้นทางไฟล์
GOOGLE_APPLICATION_CREDENTIALS = "path/to/your/key/file"
คัดลอกโดยตรง
GCLOUD_SERVICE_ACCOUNT_CREDS='{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "your-private-key-id",
"private_key": "your-private-key",
"client_email": "your-client-email",
"client_id": "your-client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "your-cert-url"
}'
การกำหนดค่าปลั๊กอิน
ปลั๊กอิน googleCloud()
รับออบเจ็กต์การกำหนดค่าที่ไม่บังคับดังนี้
{
projectId?: string,
telemetryConfig?: TelemetryConfig
}
projectId
ตัวเลือกนี้ช่วยให้ระบุรหัสโปรเจ็กต์ Google Cloud ได้อย่างชัดเจน ในกรณีส่วนใหญ่ คุณไม่จำเป็นต้องดำเนินการนี้
telemetryConfig
ตัวเลือกนี้จะกำหนดค่าอินสแตนซ์ OpenTelemetry NodeSDK
import { AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';
googleCloud({
telemetryConfig: {
forceDevExport: false, // Set this to true to export telemetry for local runs
sampler: new AlwaysOnSampler(),
autoInstrumentation: true,
autoInstrumentationConfig: {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-net': { enabled: false },
},
metricExportIntervalMillis: 5_000,
},
});
ForceDevExport
ตัวเลือกนี้จะบังคับให้ Genkit ส่งออกข้อมูลบันทึกทางไกลและข้อมูลบันทึกเมื่อทำงานในสภาพแวดล้อม dev
(เช่น ในเครื่อง)
วิดีโอตัวอย่าง
ในกรณีที่ส่งออกการติดตามทั้งหมดไม่ได้ OpenTelemetry จะอนุญาตการสุ่มตัวอย่างการติดตาม
ตัวอย่างที่กำหนดค่าไว้ล่วงหน้ามีอยู่ 4 รายการดังนี้
- AlwaysOnSampler - สุ่มตัวอย่างการติดตามทั้งหมด
- AlwaysOffSampler - ไม่สุ่มตัวอย่างร่องรอย
- ตามหลัก - ตัวอย่างตามสแปนระดับบน
- TraceIdRatioBased - สุ่มตัวอย่างการติดตามตามเปอร์เซ็นต์ที่กำหนดได้
autoInstrumentation และ autoInstrumentationConfig
การเปิดใช้การวัดคุมอัตโนมัติช่วยให้ OpenTelemetry บันทึกการวัดและส่งข้อมูลทางไกลจากไลบรารีของบุคคลที่สามได้โดยไม่ต้องแก้ไขโค้ด
ช่วงการส่งออกของเมตริก
ฟิลด์นี้ระบุช่วงเวลาการส่งออกเมตริกเป็นมิลลิวินาที
ทดสอบการผสานรวม
เมื่อกําหนดค่าปลั๊กอิน ให้ใช้ forceDevExport: true
เพื่อเปิดใช้การส่งออกข้อมูลการวัดผลสําหรับการเรียกใช้ในเครื่อง วิธีนี้เป็นวิธีที่รวดเร็วในการส่งเหตุการณ์แรกเพื่อตรวจสอบใน Google Cloud
การตรวจสอบการผลิตผ่านชุดการดำเนินการของ 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
- ค่า topP ของการอนุมาน
เมตริกระดับโฟลว์
ชื่อ | มิติข้อมูล |
---|---|
genkit/flow/requests | flow_name, error_code, error_message |
genkit/flow/latency | flow_name |
เมตริกระดับการดำเนินการ
ชื่อ | มิติข้อมูล |
---|---|
Genkit/การดำเนินการ/คำขอ | flow_name, error_code, error_message |
Genkit/แอ็กชัน/เวลาในการตอบสนอง | ชื่อโฟลว์ |
สร้างเมตริกระดับ
ชื่อ | มิติข้อมูล |
---|---|
Genkit/AI/สร้าง | flow_path, model, temperature, 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 | flow_path, model, temperature, topK, topP |
Genkit/ai/generate/input_images | โฟลว์_เส้นทาง, โมเดล, อุณหภูมิ, TopK, TopP |
Genkit/ai/generate/output_images | flow_path, model, temperature, topK, topP |
genkit/ai/generate/latency | flow_path, model, temperature, topK, topP, error_code, error_message |
การแสดงภาพเมตริกทำได้ผ่านเครื่องมือสํารวจเมตริก เลือก "การบันทึก" โดยใช้เมนูด้านข้าง แล้วคลิก "เครื่องมือสํารวจเมตริก"
เลือกเมตริกโดยคลิก "เลือกเมตริก" แบบเลื่อนลง แล้วเลือก "โหนดทั่วไป" "Genkit" และเมตริก
การแสดงภาพของเมตริกจะขึ้นอยู่กับประเภทของเมตริก (ตัวนับ ฮิสโตแกรม ฯลฯ) เครื่องมือสํารวจเมตริกมีเครื่องมือรวบรวมและค้นหาที่มีประสิทธิภาพเพื่อช่วยสร้างกราฟเมตริกตามมิติข้อมูลต่างๆ
ความล่าช้าของข้อมูลที่ได้รับจากทางไกล
อาจมีความล่าช้าเล็กน้อยก่อนที่การวัดและส่งข้อมูลทางไกลสำหรับการดำเนินการบางอย่างของโฟลว์จะปรากฏในชุดการดำเนินการของ Cloud ในกรณีส่วนใหญ่ ความล่าช้านี้จะน้อยกว่า 1 นาที
โควต้าและขีดจำกัด
โควต้าที่สำคัญที่ควรทราบมีดังนี้
- โควต้า Cloud Trace
- 128 ไบต์ต่อคีย์แอตทริบิวต์
- 256 ไบต์ต่อค่าแอตทริบิวต์
- โควต้าของ Cloud Logging
- 256 KB ต่อรายการบันทึก
- โควต้า Cloud Monitoring
ค่าใช้จ่าย
Cloud Logging, Cloud Trace และ Cloud Monitoring มีระดับการใช้งานแบบไม่มีค่าใช้จ่ายที่คุ้มค่า ดูราคาที่เจาะจงได้ที่ลิงก์ต่อไปนี้