Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie is beschikbaar als preview-versie.
In dit document ziet u voorbeelden van het gebruik van Azure OpenAI in Fabric met behulp van REST API.
Initialisatie
from synapse.ml.fabric.service_discovery import get_fabric_env_config
from synapse.ml.fabric.token_utils import TokenUtils
fabric_env_config = get_fabric_env_config().fabric_env_config
auth_header_value = TokenUtils().get_openai_auth_header()
auth_headers = {
"Authorization": auth_header_value,
"Content-Type": "application/json"
}
Babbelen
GPT-4.1 en GPT-4.1-mini zijn taalmodellen die zijn geoptimaliseerd voor gespreksinterfaces. Gebruik GPT-5 voor redeneringsmogelijkheden.
import requests
def print_chat_result(messages, response_code, response):
print("=" * 90)
print("| OpenAI Input |")
for msg in messages:
if msg["role"] == "system":
print("[System]", msg["content"])
elif msg["role"] == "user":
print("Q:", msg["content"])
else:
print("A:", msg["content"])
print("-" * 90)
print("| Response Status |", response_code)
print("-" * 90)
print("| OpenAI Output |")
if response.status_code == 200:
print(response.json()["choices"][0]["message"]["content"])
else:
print(response.content)
print("=" * 90)
deployment_name = "gpt-4.1"
openai_url = (
f"{fabric_env_config.ml_workload_endpoint}cognitive/openai/openai/deployments/"
f"{deployment_name}/chat/completions?api-version=2024-02-15-preview"
)
payload = {
"messages": [
{"role": "system", "content": "You are an AI assistant that helps people find information."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"}
]
}
response = requests.post(openai_url, headers=auth_headers, json=payload)
print_chat_result(payload["messages"], response.status_code, response)
Uitvoer
==========================================================================================
| OpenAI Input |
[System] You are an AI assistant that helps people find information.
Q: Does Azure OpenAI support customer managed keys?
------------------------------------------------------------------------------------------
| Response Status | 200
------------------------------------------------------------------------------------------
| OpenAI Output |
Yes, **Azure OpenAI Service** supports **customer managed keys (CMK)** for encrypting your data at rest. This allows organizations to control and manage their own encryption keys using **Azure Key Vault**. By integrating with Azure Key Vault, you can bring your own keys (BYOK) to have full control over the encryption of data stored and processed by Azure OpenAI.
**Reference:**
- [Azure OpenAI encryption documentation - Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/security#encryption)
- [Azure OpenAI Security - Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/security)
**Key features:**
- Data at rest is encrypted by default with a service-managed key.
- You can specify your own customer managed key (CMK) in Azure Key Vault for additional control.
- Supported for both Standard and Enterprise Azure OpenAI deployments.
**Summary:**
You can use customer managed keys with Azure OpenAI for enhanced security and regulatory compliance.
==========================================================================================
Insluitingen
Een insluiting is een speciale indeling voor gegevensweergave die machine learning-modellen en -algoritmen eenvoudig kunnen gebruiken. Het bevat informatierijke semantische betekenis van een tekst, vertegenwoordigd door een vector van drijvendekommanummers. De afstand tussen twee insluitingen in de vectorruimte is gerelateerd aan de semantische gelijkenis tussen twee oorspronkelijke invoerwaarden. Als twee teksten bijvoorbeeld vergelijkbaar zijn, moeten hun vectorweergaven ook vergelijkbaar zijn.
Voor toegang tot azure OpenAI-insluitingseindpunten in Fabric kunt u een API-aanvraag verzenden met de volgende indeling:
POST <url_prefix>/openai/deployments/<deployment_name>/embeddings?api-version=2024-02-01
deployment_name zou kunnen zijn text-embedding-ada-002.
from synapse.ml.fabric.service_discovery import get_fabric_env_config
from synapse.ml.fabric.token_utils import TokenUtils
import requests
fabric_env_config = get_fabric_env_config().fabric_env_config
auth_header_value = TokenUtils().get_openai_auth_header()
auth_headers = {
"Authorization": auth_header_value,
"Content-Type": "application/json"
}
def print_embedding_result(prompts, response_code, response):
print("=" * 90)
print("| OpenAI Input |\n\t" + "\n\t".join(prompts))
print("-" * 90)
print("| Response Status |", response_code)
print("-" * 90)
print("| OpenAI Output |")
if response_code == 200:
for data in response.json()['data']:
print("\t[" + ", ".join([f"{n:.8f}" for n in data["embedding"][:10]]) + ", ... ]")
else:
print(response.content)
print("=" * 90)
deployment_name = "text-embedding-ada-002"
openai_url = (
f"{fabric_env_config.ml_workload_endpoint}cognitive/openai/openai/deployments/"
f"{deployment_name}/embeddings?api-version=2024-02-15-preview"
)
payload = {
"input": [
"empty prompt, need to fill in the content before the request",
"Once upon a time"
]
}
response = requests.post(openai_url, headers=auth_headers, json=payload)
print_embedding_result(payload["input"], response.status_code, response)
Uitvoer:
==========================================================================================
| OpenAI Input |
empty prompt, need to fill in the content before the request
Once upon a time
------------------------------------------------------------------------------------------
| Response Status | 200
------------------------------------------------------------------------------------------
| OpenAI Output |
[-0.00263638, -0.00441368, -0.01702866, 0.00410065, -0.03052361, 0.01894856, -0.01293149, -0.01421838, -0.03505902, -0.01835033, ... ]
[0.02133885, -0.02018847, -0.00464259, -0.01151640, -0.01114348, 0.00194205, 0.00229917, -0.01371602, 0.00857094, -0.01467678, ... ]
==========================================================================================
Gerelateerde inhoud
- Vooraf samengestelde Text Analytics gebruiken in Fabric met REST API
- Vooraf samengestelde Text Analytics gebruiken in Fabric met SynapseML
- Vooraf samengestelde Azure AI Translator gebruiken in Fabric met REST API
- Vooraf samengestelde Azure AI Translator gebruiken in Fabric met SynapseML
- Vooraf samengestelde Azure OpenAI gebruiken in Fabric met Python SDK
- Vooraf samengestelde Azure OpenAI gebruiken in Fabric met SynapseML