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.
Met de SRE Agent-code-interpreter kunt u Python-code- en shellopdrachten uitvoeren in een beveiligde, geïsoleerde sandbox-omgeving. Gebruik Code Interpreter om gegevens te analyseren, visualisaties te maken, PDF-rapporten te genereren en bestandsbewerkingen te automatiseren zonder uw SRE Agent-gesprek te verlaten.
In dit artikel leert u het volgende:
- Python-code uitvoeren om gegevens te analyseren en visualisaties te maken
- Shell-opdrachten uitvoeren voor bestandsbewerkingen
- PDF-rapporten genereren en downloaden
- Werken met bestanden in de sandbox-omgeving
Vereiste voorwaarden
Als u een agent wilt maken, moet u uw agent de juiste machtigingen verlenen, de juiste instellingen configureren en toegang verlenen tot de juiste resources:
Azure-account: u hebt een Azure-account met een actief abonnement nodig. Als u dat nog niet hebt, kunt u gratis een account maken.
Beveiligingscontext: zorg ervoor dat uw gebruikersaccount de
Microsoft.Authorization/roleAssignments/writemachtigingen heeft als op rollen gebaseerd toegangsbeheerbeheerder of beheerder van gebruikerstoegang.Firewallinstellingen: Voeg toe
*.azuresre.aiaan de acceptatielijst in uw firewallinstellingen. Sommige netwerkprofielen blokkeren standaard de toegang tot*.azuresre.aihet domein.
Hoe code-interpreter werkt
De SRE-agentcode-interpreter wordt uitgevoerd in een geïsoleerde Azure Container Apps-sessie met de volgende kenmerken:
- Geen netwerktoegang: de sandbox kan geen uitgaande HTTP- of HTTPS-aanvragen indienen.
-
Geen processen starten: De opdrachten zoals
subprocessenos.systemworden geblokkeerd. -
Geen pakketinstallatie:
pip installenconda installzijn niet beschikbaar. -
Geïsoleerd bestandssysteem: alle bestanden moeten worden opgeslagen in
/mnt/data/.
Deze beperkingen zorgen ervoor dat code-uitvoering veilig en voorspelbaar is. Algemene data science-bibliotheken zoals pandas, matplotlib en seaborn zijn vooraf geïnstalleerd.
Aan de slag met code-interpreter
Hulpprogramma's voor code-interpreters zijn automatisch beschikbaar in uw SRE Agent-gesprekken. Vraag de agent om taken uit te voeren met behulp van natuurlijke taal.
Voorbeelden van aanwijzingen
Probeer deze aanwijzingen om aan de slag te gaan:
- "Analyseer deze CSV-gegevens en maak een grafiek met incidenten per categorie."
- "Genereer een PDF-overzicht van de incidenten van vandaag."
- "Parseert dit JSON-bestand en extraheer de foutpatronen."
- "Geef alle bestanden in de sessie weer en geef hun grootte weer."
Uw eerste Python-script
In het volgende voorbeeld ziet u hoe u een visualisatie maakt:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
categories = ['Critical', 'High', 'Medium', 'Low']
counts = [5, 12, 28, 45]
# Create bar chart
plt.figure(figsize=(10, 6))
plt.bar(categories, counts, color=['red', 'orange', 'yellow', 'green'])
plt.title('Incidents by Severity')
plt.xlabel('Severity Level')
plt.ylabel('Count')
plt.savefig('/mnt/data/incidents_by_severity.png', dpi=150)
Wanneer de code is uitgevoerd, retourneert de agent de inline-afbeelding in het gesprek.
Scenariën
Incidentgegevens analyseren
Gebruik code-interpreter om onbewerkte incidentgegevens om te zetten in bruikbare inzichten en visualisaties.
Vraag de SRE-agent om een CSV-bestand te maken van alle incidenten die in de afgelopen maand zijn opgetreden met behulp van de volgende prompt:
Create a CSV file of all the incidents that occurred in the last month. Name the file `incidents.csv` and save it to `/mnt/data`.Gebruik Python om incidentpatronen te analyseren en trends te identificeren:
import pandas as pd # Load incident data df = pd.read_csv('/mnt/data/incidents.csv') # Calculate summary statistics summary = df.groupby('category').agg({ 'id': 'count', 'resolution_time': 'mean' }).rename(columns={'id': 'count', 'resolution_time': 'avg_resolution_hours'}) # Export results summary.to_csv('/mnt/data/incident_summary.csv') print(summary)
Visualisaties maken
Grafieken genereren om inzichten te communiceren.
import matplotlib.pyplot as plt
import seaborn as sns
# Load data
df = pd.read_csv('/mnt/data/incidents.csv')
# Create visualization
plt.figure(figsize=(12, 6))
sns.barplot(data=df, x='category', y='count', palette='viridis')
plt.title('Incidents by Category')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('/mnt/data/category_chart.png', dpi=150)
PDF-rapporten genereren
Opgemaakte PDF-documenten maken voor belanghebbenden.
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
# Create PDF
c = canvas.Canvas('/mnt/data/weekly_report.pdf', pagesize=letter)
# Add content
c.setFont('Helvetica-Bold', 18)
c.drawString(72, 750, 'Weekly Incident Report')
c.setFont('Helvetica', 12)
c.drawString(72, 720, 'Period: January 10-17, 2026')
c.drawString(72, 700, 'Total incidents: 90')
c.drawString(72, 680, 'Critical incidents: 5')
c.drawString(72, 660, 'Average resolution time: 4.2 hours')
c.save()
De agent retourneert een downloadkoppeling voor de gegenereerde PDF.
Logboekbestanden verwerken
Zoek en analyseer logboekbestanden met behulp van shell-opdrachten.
# Count error occurrences by type
grep -E "ERROR|WARN|FATAL" application.log | sort | uniq -c | sort -rn
# Find the most recent log entries
tail -100 application.log
Toolreferentie
Code Interpreter biedt de volgende hulpprogramma's:
ExecutePythonCode
Voert Python-code uit in een geïsoleerde sandbox.
| Kenmerk | Typologie | Verplicht | Description |
|---|---|---|---|
pythonCode |
touw | Yes | Python-code die moet worden uitgevoerd (maximaal 20.000 tekens) |
timeoutSeconds |
integer | Nee. | Time-out voor uitvoering in seconden (standaard: 120, maximum: 900) |
Uitvoer: Afbeeldingen worden inline weergegeven met Markdown-opmaak. Gegevensbestanden worden geretourneerd als downloadlinks.
GenereerPdfRapport
Hiermee maakt u PDF-documenten op basis van Python-code.
| Kenmerk | Typologie | Verplicht | Description |
|---|---|---|---|
pythonCode |
touw | Yes | Python-code waarmee een PDF-bestand wordt gemaakt |
expectedOutputFilename |
touw | Yes | Pad waar het PDF-bestand is opgeslagen (bijvoorbeeld report.pdf) |
saveAsFilename |
touw | Yes | Bestandsnaam downloaden (bijvoorbeeld daily_summary.pdf) |
timeoutSeconds |
integer | Nee. | Time-out voor uitvoering in seconden (standaard: 180, maximum: 900) |
VoerShellOpdrachtUit
Hiermee worden shell-opdrachten uitgevoerd in de sandbox.
| Kenmerk | Typologie | Verplicht | Description |
|---|---|---|---|
command |
touw | Yes | Shell-opdracht om uit te voeren |
explanation |
touw | Nee. | Beschrijving om met de opdracht te loggen |
isBackground |
booleaan | Nee. | Moet zijn false (achtergrondtaken worden niet ondersteund) |
timeoutSeconds |
integer | Nee. | Time-out voor uitvoering (standaard: 120, max: 240) |
Opmerking
De opdrachten worden uitgevoerd vanaf /mnt/data/. Gebruik relatieve paden en ketenopdrachten met behulp ; van in plaats van &&.
Bestandsbewerkingen
| Tool | Description |
|---|---|
ReadSessionFile |
Leest de inhoud van een bestand van /mnt/data/. |
SearchSessionFiles |
Hiermee wordt gezocht naar tekst in bestanden met grep-stijlpatronen. |
ListSessionFiles |
Een lijst met alle bestanden in de sessie met metagegevens. |
GetSessionFile |
Hiermee downloadt u een bestand uit de sessie. |
UploadFileToSession |
Uploadt een bestand voor verdere verwerking. |
Ondersteunde bestandstypen
- Afbeeldingen: PNG, JPG, GIF, SVG, WebP, BMP, TIFF, EPS
- Gegevens: CSV, TSV, Excel, JSON, XML, YAML, HDF5, NetCDF, pickle
- Documenten: PDF, HTML, Markdown, Office-indelingen
- Code: Python, Jupyter-notebooks, R, SQL
- Archieven: ZIP, TAR, GZ
Beperkingen
Om veiligheidsredenen blokkeert het systeem de volgende bewerkingen:
| Categorie | Geblokkeerde bewerkingen |
|---|---|
| Procesverwekking |
subprocess,os.system,os.popen,os.spawn* |
| Netwerktoegang | Uitgaande HTTP-/HTTPS-aanvragen |
| Pakketinstallatie |
pip install, conda install |
| Bestandssysteem | Toegang buiten /mnt/data/ |
Problemen met code-interpreter oplossen
Uitvoering van code mislukt
- Controleer of uw code geen geblokkeerde bewerkingen zoals
subprocessof netwerkoproepen gebruikt. - Controleer of alle bestandspaden verwijzen naar
/mnt/data/. - Zorg ervoor dat uw code minder dan 20.000 tekens bevat.
Bestanden worden niet weergegeven in uitvoer
- Bevestig dat u bestanden opslaat in
/mnt/data/. - Gebruik
ListSessionFilesom het maken van bestanden te verifiëren. - Controleer of de bestandsextensie wordt ondersteund.
Time-outfouten
- Verhoog de
timeoutSecondsparameter (maximaal 900 seconden). - Optimaliseer uw code om de uitvoeringstijd te verkorten.
- Split grote bewerkingen in kleinere delen.