इंटरमीडिएट YAML

Machine Learning के लिए CI/CD

Ravi Bhadauria

Machine Learning Engineer

मल्टीलाइन स्ट्रिंग्स: ब्लॉक स्केलर फ़ॉर्मेट

  • मल्टीलाइन स्ट्रिंग या टेक्स्ट ब्लॉक्स दर्शाएँ
    • कोड स्निपेट्स (shell commands)
    • पैराग्राफ (logs)
    • कॉन्फ़िगरेशन फाइलें

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें रूट नोड "Block String" हाइलाइट है.

Machine Learning के लिए CI/CD

स्टाइल इंडिकेटर्स - लिटरल

  • लिटरल स्टाइल (|): लाइन ब्रेक और इंडेंटेशन जस का तस रखता है
  • shell commands लिखने में उपयोगी
commands: |
  echo "Running python script..."
  python3 script.py

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें लीफ नोड "Literal Style" हाइलाइट है.

Machine Learning के लिए CI/CD

लिटरल स्टाइल उदाहरण

लिटरल मल्टीलाइन स्टाइल में लिखा YAML टेक्स्ट उदाहरण. टेक्स्ट से पहले "|" सिंबल है.

YAML लिटरल मल्टीलाइन स्टाइल में लिखे टेक्स्ट का आउटपुट.

1 https://yaml-multiline.info/
Machine Learning के लिए CI/CD

स्टाइल इंडिकेटर्स - फोल्ड

  • फोल्ड स्टाइल (>): लाइन ब्रेक हटा देता है
  • पैराग्राफ जैसे रैप्ड मैसेज के लिए उपयोगी
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें लीफ नोड "Fold Style" हाइलाइट है.

Machine Learning के लिए CI/CD

फोल्ड स्टाइल उदाहरण

फोल्ड मल्टीलाइन स्टाइल में लिखा YAML टेक्स्ट उदाहरण. टेक्स्ट से पहले ">" सिंबल है.

YAML फोल्ड मल्टीलाइन स्टाइल में लिखे टेक्स्ट का आउटपुट.

1 https://yaml-multiline.info/
Machine Learning के लिए CI/CD

Chomping इंडिकेटर्स

  • स्ट्रिंग के अंत में नई लाइनों के व्यवहार को नियंत्रित करें
  • स्टाइल इंडिकेटर्स के बाद जोड़ा जाता है
  • clip: डिफ़ॉल्ट मोड, अंत में एक सिंगल newline
    • दिखाने के लिए अतिरिक्त सिंबल की जरूरत नहीं

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें लीफ नोड "Clip Chomping indicator" हाइलाइट है.

Machine Learning के लिए CI/CD

Chomping इंडिकेटर्स - strip

  • strip (-): अंत में सभी newlines हटा देता है

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें लीफ नोड "Strip Chomping indicator" हाइलाइट है.

Machine Learning के लिए CI/CD

Strip chomping उदाहरण

strip chomping के साथ लिटरल मल्टीलाइन स्टाइल में लिखा YAML उदाहरण. टेक्स्ट से पहले "|-" सिंबल है.

strip chomping के साथ YAML लिटरल मल्टीलाइन स्टाइल का आउटपुट. यह अंत की सभी newlines हटा देता है.

1 https://yaml-multiline.info/
Machine Learning के लिए CI/CD

Chomping इंडिकेटर्स - keep

  • keep (+): अंत की सभी newlines बनाए रखता है

YAML ब्लॉक स्ट्रिंग का एक श्रेणीबद्ध चित्र, जिसमें लीफ नोड "Keep Chomping indicator" हाइलाइट है.

Machine Learning के लिए CI/CD

Keep chomping उदाहरण

keep chomping के साथ लिटरल मल्टीलाइन स्टाइल में लिखा YAML उदाहरण. टेक्स्ट से पहले "|+" सिंबल है.

keep chomping के साथ YAML लिटरल मल्टीलाइन स्टाइल का आउटपुट. यह अंत की कोई newline नहीं हटाता.

1 https://yaml-multiline.info/
Machine Learning के लिए CI/CD

डायनामिक वैल्यू इंजेक्शन

  • Expressions पार्सर्स को वैल्यू डायनामिक रूप से सब्स्टिट्यूट करने देती हैं
  • उपयोग:
    • Environment variables
    • YAML के अन्य हिस्सों के रेफरेंस
  • आम तौर पर ${{ ... }} के रूप में दर्शाई जाती हैं
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
Machine Learning के लिए CI/CD

मल्टी-डॉक्युमेंट YAML

  • एक ही फाइल में कई अलग YAML डॉक्युमेंट्स
  • हर डॉक्युमेंट में वैध YAML कंटेंट होता है
  • संबंधित डॉक्युमेंट्स के अनुसार व्यवस्थित करना आसान
  • डॉक्युमेंट्स को तीन डैश से अलग करें –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
Machine Learning के लिए CI/CD

सारांश

नाम YAML सिंबल
लिटरल स्टाइल इंडिकेटर |
फोल्ड स्टाइल इंडिकेटर >
Strip Chomping इंडिकेटर
Keep Chomping इंडिकेटर +
Expressions ${{ ... }}
मल्टी-डॉक्युमेंट YAML –––
Machine Learning के लिए CI/CD

अभ्यास करते हैं!

Machine Learning के लिए CI/CD

Preparing Video For Download...