Skip to main content

Microsoft Azure Machine Learning Client Library for Python

Project description

Azure AI Generative Package client library for Python

The Azure AI Generative package is part of the Azure AI SDK for Python and contains functionality for building, evaluating and deploying Generative AI applications that leverage Azure AI services. The default installation of the package contains capabilities for cloud-connected scenarios, and by installing extras you can also run operations locally (such as building indexes and calculating metrics).

Source code | Package (PyPI) | API reference documentation | Product documentation | Samples

This package has been tested with Python 3.8, 3.9, 3.10, 3.11 and 3.12.

For a more complete set of Azure libraries, see https://aka.ms/azsdk/python/all.

Getting started

Prerequisites

Install the package

Install the Azure AI generative package for Python with pip:

pip install azure-ai-generative[index,evaluate,promptflow]
pip install azure-identity

Key concepts

The [index,evaluate,promptflow] syntax specifies extra packages that you can optionally remove if you don't need the functionality:

  • [index] adds the ability to build indexes on your local development environment
  • [evaluate] adds the ability to run evaluation and calculate metrics in your local development environment
  • [promptflow] adds the ability to develop with prompt flow connected to your Azure AI project

Usage

Connecting to Projects

The generative package includes the azure-ai-resources package and uses the AIClient for connecting to your project.

First, create an AI Client:

from azure.ai.resources.client import AIClient
from azure.identity import DefaultAzureCredential

ai_client = AIClient(
    credential=DefaultAzureCredential(),
    subscription_id='subscription_id',
    resource_group_name='resource_group',
    project_name='project_name'
)

Using the generative package

Azure AI Generative Python SDK offers the following key capabilities.

To build an index locally, import the build_index function:

from azure.ai.generative.index import build_index

To run a local evaluation, import the evaluate function:

from azure.ai.generative.evaluate import evaluate

To deploy chat functions and prompt flows, import the deploy function:

from azure.ai.resources.entities.deployment import Deployment

For sample usage of these, refer to this sample

Examples

See our samples repository for examples of how to use the Azure AI Generative Python SDK.

Troubleshooting

General

Azure AI clients raise exceptions defined in Azure Core.

from azure.core.exceptions import HttpResponseError

try:
    ai_client.compute.get("cpu-cluster")
except HttpResponseError as error:
    print("Request failed: {}".format(error.message))

Logging

This library uses the standard logging library for logging. Basic information about HTTP sessions (URLs, headers, etc.) is logged at INFO level.

Detailed DEBUG level logging, including request/response bodies and unredacted headers, can be enabled on a client with the logging_enable argument.

See full SDK logging documentation with examples here.

Telemetry

The Azure AI Generative Python SDK includes a telemetry feature that collects usage and failure data about the SDK and sends it to Microsoft when you use the SDK in a Jupyter Notebook only. Telemetry will not be collected for any use of the Python SDK outside of a Jupyter Notebook.

Telemetry data helps the SDK team understand how the SDK is used so it can be improved and the information about failures helps the team resolve problems and fix bugs. The SDK telemetry feature is enabled by default for Jupyter Notebook usage and cannot be enabled for non-Jupyter scenarios. To opt out of the telemetry feature in a Jupyter scenario, set the environment variable "AZURE_AI_GENERATIVE_ENABLE_LOGGING" to "False".

Next steps

See our samples repository for examples of how to use the Azure AI Generative Python SDK.

Contributing

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.

Impressions

Release History

1.0.0b3 (2024-01-30)

Other Changes

  • Support for Python 3.12

1.0.0b2 (2023-11-30)

Features Added

  • Added new format to export data to in qa generator.

Other Changes

  • Dependency improvements.

1.0.0b1 (2023-11-10)

Features Added

  • Try use langchain VectorStore and fallback to vendor.
  • Add azure-search-documents 11.4.0b11 and above support.
  • Invoke OpenAI with dynamic batch size.
  • Fix LangChain importing path
  • First preview.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure-ai-generative-1.0.0b3.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

azure_ai_generative-1.0.0b3-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file azure-ai-generative-1.0.0b3.tar.gz.

File metadata

File hashes

Hashes for azure-ai-generative-1.0.0b3.tar.gz
Algorithm Hash digest
SHA256 a23744fd4d518776be463ef00c6509cf2be9472cd6063310b980caec7c77917f
MD5 c1a09363a4e34ccb06c46b1315e0dd35
BLAKE2b-256 c7c2ec021e95b0d659eea536146662815b1c0bfc7c8e34fa08f8d50670b03bc7

See more details on using hashes here.

File details

Details for the file azure_ai_generative-1.0.0b3-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_ai_generative-1.0.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 0bb1f35f20f10bdca6501995354e8474b6d05dc340eec7f054fea0143be30216
MD5 893929ced6d32688c37997f2dbc8283f
BLAKE2b-256 dc004c590ea63840990e343d34582795f479f4093fb0a003c57b4142ebddf863

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page