Bagikan melalui


Menggunakan paket Python privat dengan Azure Machine Learning

BERLAKU UNTUK: Python SDK azureml v1

Dalam artikel ini, pelajari cara menggunakan paket Python privat dengan aman dalam Azure Machine Learning. Kasus penggunaan untuk paket Python privat meliputi:

  • Anda telah mengembangkan paket privat yang tidak ingin Anda bagikan secara publik.
  • Anda ingin menggunakan repositori paket pilihan yang disimpan dalam firewall perusahaan.

Pendekatan yang direkomendasikan tergantung pada apakah Anda memiliki beberapa paket untuk ruang kerja tunggal Azure Machine Learning, atau seluruh repositori paket untuk semua ruang kerja dalam organisasi.

Paket privat digunakan melalui kelas Lingkungan. Dalam lingkungan, Anda mendeklarasikan paket Python mana yang akan digunakan, termasuk paket privat. Untuk mempelajari lingkungan di Azure Machine Learning secara umum, lihat Cara menggunakan lingkungan.

Prasyarat

Gunakan sejumlah kecil paket untuk pengembangan dan pengujian

Untuk beberapa paket privat untuk satu ruang kerja, gunakan metode statis Environment.add_private_pip_wheel() . Pendekatan ini memungkinkan Anda untuk dengan cepat menambahkan paket privat ke ruang kerja, dan sangat cocok untuk tujuan pengembangan dan pengujian.

Arahkan argumen jalur file ke file roda lokal dan jalankan perintah add_private_pip_wheel. Perintah tersebut menampilkan URL yang digunakan untuk melacak lokasi paket di dalam Ruang Kerja Anda. Tangkap URL penyimpanan dan alihkan ke metode add_pip_package().

whl_url = Environment.add_private_pip_wheel(workspace=ws,file_path = "my-custom.whl")
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_pip_package(whl_url)
myenv.python.conda_dependencies=conda_dep

Secara internal, layanan Azure Machine Learning mengganti URL dengan URL SAS yang aman, sehingga file roda Anda tetap privat dan aman.

Menggunakan repositori paket dari umpan Azure DevOps

Jika Anda secara aktif mengembangkan paket Python untuk aplikasi pembelajaran mesin, Anda dapat menghostingnya di repositori Azure DevOps sebagai artefak dan menerbitkannya sebagai umpan. Pendekatan ini memungkinkan Anda mengintegrasikan alur kerja DevOps untuk membangun paket dengan Ruang Kerja Azure Machine Learning Anda. Untuk mempelajari cara menyiapkan umpan Python menggunakan Azure DevOps, baca Mulai menggunakan Paket Python di Azure Artifacts

Pendekatan ini menggunakan Token Akses Pribadi untuk mengautentikasi terhadap repositori. Pendekatan yang sama berlaku untuk repositori lain dengan autentikasi berbasis token, seperti repositori GitHub privat.

  1. Buat Token Akses Pribadi (PAT) untuk instans Azure DevOps Anda. Atur cakupan token ke Pengemasan > Baca.

  2. Tambahkan URL dan PAT Azure DevOps sebagai properti ruang kerja, menggunakan metode Workspace.set_connection.

    from azureml.core import Workspace
    
    pat_token = input("Enter secret token")
    ws = Workspace.from_config()
    ws.set_connection(name="connection-1", 
       category = "PythonFeed",
       target = "https://pkgs.dev.azure.com/<MY-ORG>", 
       authType = "PAT", 
       value = pat_token) 
    
  3. Buat lingkungan Azure Machine Learning dan tambahkan paket Python dari umpan.

    from azureml.core import Environment
    from azureml.core.conda_dependencies import CondaDependencies
    
    env = Environment(name="my-env")
    cd = CondaDependencies()
    cd.add_pip_package("<my-package>")
    cd.set_pip_option("--extra-index-url https://pkgs.dev.azure.com/<MY-ORG>/_packaging/<MY-FEED>/pypi/simple")")
    env.python.conda_dependencies=cd
    

Lingkungan kini siap digunakan dalam eksekusi pelatihan atau penyebaran titik akhir layanan web. Saat membangun lingkungan, layanan Azure Machine Learning menggunakan PAT untuk mengautentikasi terhadap umpan dengan URL dasar yang cocok.

Menggunakan repositori paket dari penyimpanan privat

Anda dapat menggunakan paket dari akun penyimpanan Azure dalam firewall organisasi Anda. Akun penyimpanan dapat menyimpan sekumpulan paket pilihan atau cermin internal paket yang tersedia untuk umum.

Untuk menyiapkan penyimpanan privat tersebut, lihat Mengamankan ruang kerja dan sumber daya terkait Azure Machine Learning. Anda juga harus menempatkan Azure Container Registry (ACR) di belakang jaringan virtual.

Penting

Anda harus menyelesaikan langkah ini untuk dapat melatih atau menyebarkan model menggunakan repositori paket privat.

Setelah menyelesaikan konfigurasi ini, Anda dapat mereferensikan paket dalam definisi lingkungan Azure Machine Learning berdasarkan URL lengkapnya di penyimpanan blob Azure.

Langkah berikutnya