Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengautomasikan Dokumentasi Azure dengan Pembantu AI

Mengautomasikan Dokumentasi Azure dengan Pembantu AI

Susan Sarandon
Susan Sarandonasal
2024-10-25 06:38:29411semak imbas

Automating Azure Documentation with an AI Assistant

Mengurus dan mendokumentasikan Kumpulan Sumber Azure (RG) dalam persekitaran berskala besar boleh memakan masa dan rumit. Tetapi bagaimana jika anda boleh mengautomasikan proses penjanaan dokumentasi yang bukan sahaja menerangkan sumber yang wujud tetapi juga bagaimana ia berkaitan antara satu sama lain?

Dalam artikel ini, kita akan meneroka bagaimana skrip Python ringkas boleh memanfaatkan LLM (Model Bahasa Besar) seperti OpenAI atau Azure OpenAI untuk mengautomasikan penciptaan dokumentasi penurunan harga komprehensif daripada templat ARM. Apa yang menjadikan alat ini berkuasa bukanlah penggunaan rangka kerja ejen yang kompleks atau infrastruktur berat, tetapi Python tulen digabungkan dengan alat yang mantap seperti Azure CLI dan API OpenAI. Ia juga boleh digunakan dengan penyedia AI lain dan LLM tempatan menggunakan Ollama atau alatan lain yang serupa.

Tidak Perlu Rangka Kerja Agen Kompleks

Salah tanggapan biasa ialah anda memerlukan rangka kerja ejen yang terperinci untuk memanfaatkan kuasa LLM dengan berkesan. Pada hakikatnya, anda boleh mencapai aliran kerja automatik yang berkuasa menggunakan alat sedia ada dan skrip mudah. Dalam penyelesaian ini, kami menggabungkan:

  1. Python: Sebagai bahasa skrip kerana ia biasanya dipasang dan digunakan secara meluas.
  2. Azure CLI: Untuk mengambil templat ARM daripada Kumpulan Sumber Azure.
  3. Panggilan API OpenAI: Untuk menjana dokumentasi yang boleh dibaca manusia daripada templat ARM.
  4. Markdown: Sebagai format output untuk dokumentasi, yang disepadukan dengan mudah ke dalam mana-mana pangkalan pengetahuan.

Hasilnya? Skrip yang bersih dan cekap yang mencipta dokumentasi tanpa memerlukan perkakas rumit atau orkestrasi berkuasa AI.

Kod Sumber Pembantu Azure

Kod sumber tersedia dalam repositori Github ini: itlackey/azure-assistants. Pada masa ini, ia mengandungi skrip Python tunggal yang memanfaatkan Azure CLI dan API OpenAI untuk menjana dokumentasi penurunan harga daripada templat ARM. Jika ada minat, atau saya memerlukan, repositori mungkin dikemas kini dengan alatan dan skrip tambahan untuk mengautomasikan tugasan lain.

Bagaimana Skrip Berfungsi

Inti alat ini ialah skrip document_resource_groups.py. Ia melakukan empat perkara ini:

  1. Dapatkan Semua Kumpulan Sumber dalam Langganan Azure semasa.
  2. Menggunakan az CLI untuk Mengeksport Templat ARM daripada Kumpulan Sumber Azure.
  3. Kami Menghuraikan Templat dan menghantarnya ke API serasi OpenAI.
  4. LLM digunakan untuk Menjana Dokumentasi Markdown yang sedia untuk dimasukkan ke dalam pangkalan pengetahuan.

Senaraikan Kumpulan Sumber

Langkah pertama ialah mengambil semua kumpulan sumber dalam Langganan Azure anda. Ini dilakukan menggunakan arahan az CLI daripada skrip Python kami. Kami kemudian mengulanginya untuk mengambil templat ARM.

result = subprocess.run(
    ["az", "group", "list", "--query", "[].name", "-o", "tsv"],
    stdout=subprocess.PIPE,
    text=True,
)
resource_groups = result.stdout.splitlines()

Eksport Templat ARM

Sekali lagi, menggunakan Azure CLI, skrip mendapatkan semula templat ARM untuk setiap kumpulan sumber dalam langganan semasa. Templat ini mengandungi maklumat konfigurasi terperinci untuk semua sumber, termasuk rangkaian dan tetapan keselamatannya.

export_command = [
    "az", "group", "export",
    "--name", resource_group_name,
    "--include-parameter-default-value",
    "--output", "json",
]

Meringkaskan dengan LLM

Seterusnya, skrip menghantar templat ARM ke OpenAI (atau Azure OpenAI) untuk ringkasan. Di sinilah keajaiban berlaku. Daripada menyelami aliran kerja ejen yang kompleks, mesej sistem dan gesaan pengguna yang ringkas memberikan konteks yang mencukupi kepada LLM untuk menjana dokumentasi yang bernas.

response = client.chat.completions.create(model=model, messages=messages)

Gesaan menyediakan templat output yang dijangkakan dan mengarahkan LLM untuk:

  • Senaraikan dan huraikan setiap sumber.
  • Terangkan cara sumber berkaitan antara satu sama lain.
  • Serlahkan konfigurasi rangkaian yang penting.

Ini membolehkan LLM menghasilkan dokumentasi berstruktur dan mudah dibaca tanpa memerlukan sebarang orkestrasi yang mewah.

Menjana Dokumentasi Markdown

Langkah terakhir ialah menjana fail penurunan nilai yang mengandungi butiran kumpulan sumber. Perkara hadapan termasuk metadata seperti nama kumpulan sumber, tarikh dan teg. Dokumentasi yang dijana AI kemudiannya ditambahkan sebagai kandungan dokumen.

front_matter = f"---\n"
front_matter += f'title: "{resource_group_name}"\n'
front_matter += f"date: {date}\n"
front_matter += f"internal: true\n"

Markdown ialah format universal, membolehkan output ini disepadukan dengan mudah ke dalam banyak sistem dokumentasi atau sistem pengurusan pengetahuan.

Menyesuaikan Gesaan AI

Ciri utama skrip ini ialah keupayaan untuk menyesuaikan gesaan yang dihantar ke LLM. Di sinilah pengguna boleh memperhalusi jenis output yang mereka inginkan:

  • Mesej Sistem: Membimbing LLM untuk menjana dokumentasi yang tertumpu pada menerangkan sumber, perhubungan dan rangkaian.

Contoh:

    You are an experienced Azure cloud architect helping to create reference documentation that explains the resources within an Azure Resource Manager (ARM) template.

    The documentation you create is intended for use in a knowledge base. Your role is to describe the resources in a clear and human-readable way, providing details on the following:

    - What resources exist in the ARM template.
    - How the resources relate to each other.
    - The purpose of each resource (if possible).
    - Highlighting network configurations and data locations such as storage accounts and databases.
    - Be sure to include IP addresses in the documentation when they are available.
    - Include information about virtual network peering.
    - It is very important that you also include any potential security issues that you may find.
  • Prompt Pengguna: Dijana secara dinamik berdasarkan kumpulan sumber yang diringkaskan.

Contoh:

    Provide detailed documentation of the following ARM template for resource group: 


    {template_content}


    The purpose of this documentation is to...

Dengan memastikan gesaan ini fleksibel dan mudah, skrip mengelakkan terlalu banyak kejuruteraan sambil tetap menyampaikan dokumentasi berkualiti tinggi.

Menjalankan Skrip

Nota: Anda perlu memasang az CLI dan python3 pada mesin anda sebelum anda menjalankan skrip ini.

Menyedia dan menjalankan skrip adalah mudah:

  1. Log masuk ke Azure: Pastikan anda disahkan dengan Azure CLI:
result = subprocess.run(
    ["az", "group", "list", "--query", "[].name", "-o", "tsv"],
    stdout=subprocess.PIPE,
    text=True,
)
resource_groups = result.stdout.splitlines()
  1. Jalankan skrip untuk menjana dokumentasi penurunan nilai:
export_command = [
    "az", "group", "export",
    "--name", resource_group_name,
    "--include-parameter-default-value",
    "--output", "json",
]

Skrip memproses setiap kumpulan sumber, menjana templat ARMnya dan mencipta fail markdown dalam direktori output.

Contoh Output

Berikut ialah contoh perkara yang dijana oleh skrip:

response = client.chat.completions.create(model=model, messages=messages)

Output ini ringkas, boleh dibaca dan mudah difahami - persis perkara yang anda perlukan untuk dokumentasi dalaman atau entri pangkalan pengetahuan.

Kesimpulan

Azure Assistants ialah contoh sempurna tentang cara anda boleh menggunakan alat sedia ada dan kemahiran asas Python untuk mencapai hasil yang hebat dengan LLM. Tidak ada keperluan untuk rangka kerja ejen yang terperinci apabila skrip ringkas, digabungkan dengan Azure CLI dan API OpenAI, boleh menjana dokumentasi yang jelas dan komprehensif untuk Kumpulan Sumber Azure anda.

Alat ini menunjukkan bahawa dengan gesaan yang betul dan struktur yang kukuh, sesiapa sahaja dengan kemahiran skrip asas boleh memanfaatkan AI untuk mengautomasikan dokumentasi awan - menjadikannya pembantu yang berharga untuk mana-mana pasukan DevOps atau infrastruktur.

Atas ialah kandungan terperinci Mengautomasikan Dokumentasi Azure dengan Pembantu AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn