Azure OpenAI Assistants-API (Vorschau)
Assistants, ein neues Feature von Azure OpenAI Service, ist jetzt in der öffentlichen Vorschau verfügbar. Die Assistants-API erleichtert Entwicklern das Erstellen von Anwendungen mit anspruchsvollen Copilot-ähnlichen Erfahrungen, die Daten durchsuchen, Lösungen vorschlagen und Aufgaben automatisieren können.
- Assistenten können Modelle von Azure OpenAI mit spezifischen Anweisungen aufrufen, um ihre Persönlichkeit und Fähigkeiten zu optimieren.
- Assistenten können auf mehrere Tools parallel zugreifen. Hierbei kann es sich um in Azure OpenAI gehostete Tools wie Code-Interpreter und Dateisuche oder um von Ihnen über Funktionsaufrufe erstellte, gehostete und aufgerufene Tools handeln.
- Assistenten können auf persistente Threads zugreifen. Threads vereinfachen die KI-Anwendungsentwicklung, indem sie den Nachrichtenverlauf speichern und abschneiden, wenn die Unterhaltung zu lang für die Kontextlänge des Modells wird. Sie erstellen einen Thread einmal und fügen einfach Nachrichten an ihn an, wenn Ihre Benutzer antworten.
- Assistenten können in mehreren Formaten auf Dateien zugreifen. Entweder als Teil ihrer Erstellung oder als Teil von Threads zwischen Assistenten und Benutzern. Wenn sie Tools verwenden, können Assistenten auch Dateien (z. B. Bilder oder Tabellen) erstellen und Dateien zitieren, auf die sie in den von ihnen erstellten Nachrichten verweisen.
Übersicht
Bisher war die Erstellung von benutzerdefinierten KI-Assistenten auch für erfahrene Entwickler sehr aufwändig. Während die API für die Chatvervollständigung einfach und leistungsfähig ist, ist sie inhärent zustandslos. Das bedeutet, dass Entwickler Unterhaltungszustand und Chatthreads, Toolintegrationen, das Abrufen von Dokumenten und Indizes verwalten und Code manuell ausführen mussten.
Die Assistants-API stellt als zustandsbehaftete Weiterentwicklung der Chatvervollständigungs-API eine Lösung für diese Herausforderungen bereit. Die Assistants-API unterstützt persistente automatisch verwaltete Threads. Dies bedeutet, dass Sie als Entwickler keine Verwaltungssysteme für den Unterhaltungszustand mehr entwickeln und die Kontextfenstereinschränkungen eines Modells nicht mehr umgehen müssen. Die Assistants-API behandelt automatisch die Optimierungen, um den Thread unterhalb des maximalen Kontextfensters Ihres ausgewählten Modells zu halten. Nachdem Sie einen Thread erstellt haben, können Sie einfach neue Nachrichten an ihn anfügen, wenn Benutzer antworten. Assistants kann bei Bedarf auch auf mehrere Tools parallel zugreifen. Zu diesen Tools gehören:
Tipp
Es gibt keine zusätzlichen Preise oder Kontingente für die Verwendung von Assistenten, es sei denn, Sie verwenden das Code-Interpreter oder Dateisuche-Tool.
Die Assistants-API basiert auf denselben Funktionen wie das GPT-Produkt von OpenAI. Mögliche Anwendungsfälle reichen von KI-gestützter Produktempfehlung, Vertriebsanalysten-Apps über Codierungsassistenten bis hin zu Q&A-Chatbots für Mitarbeiter. Beginnen Sie mit dem Erstellen im No-Code-Assistants-Playground in Azure KI Studio, oder beginnen Sie mit der Erstellung mit der API.
Wichtig
Wenn Sie mithilfe der Funktionen für Funktionsaufrufe, Code-Interpreter oder Dateisuche mit Dateieingabe und Assistant-Threads nicht vertrauenswürdige Daten abrufen, kann die Sicherheit von Assistant oder der Anwendung, die Assistant verwendet, kompromittiert werden. Hier erfahren Sie mehr über die Gegenmaßnahmen.
Assistants-Playground
In unserem Schnellstarthandbuch finden Sie eine exemplarische Vorgehensweise für den Assistants-Playground. Dieser bietet eine Umgebung ohne Code zum Testen der Funktionen von Assistenten.
Assistants-Komponenten
Komponente | Beschreibung |
---|---|
Assistent | Benutzerdefinierte KI, die Azure OpenAI-Modelle in Verbindung mit Tools verwendet. |
Thread | Eine Unterhaltungssitzung zwischen einem Assistenten und Benutzer*innen. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen. |
Meldung | Eine Nachricht, die von einem Assistenten oder von Benutzer*innen erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert. |
Run | Aktivierung eines Assistenten, der basierend auf dem Inhalt des Threads mit der Ausführung beginnen soll. Der Assistent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Assistent Nachrichten an den Thread an. |
Ausführungsschritt | Eine detaillierte Liste der Schritte, die der Assistent als Teil einer Ausführung durchgeführt hat. Ein Assistent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Assistent zu seinen endgültigen Ergebnissen gelangt. |
Datenzugriff für Assistenten
Aktuell werden Assistenten, Threads, Nachrichten und Dateien, die für Assistenten erstellt werden, auf der Azure OpenAI-Ressourcenebene zugewiesen. Daher kann jeder, der Zugriff auf die Azure OpenAI-Ressource oder den API-Schlüssel hat, Assistenten, Threads, Nachrichten und Dateien lesen und schreiben.
Wir empfehlen dringend die folgenden Datenzugriffskontrollen:
- Implementieren Sie Autorisierung. Bevor Sie Assistenten, Threads, Nachrichten und Dateien lesen oder schreiben, vergewissern Sie sich, dass der Endbenutzer bzw. die Endbenutzerin dazu berechtigt ist.
- Beschränken Sie den Zugriff auf Azure OpenAI-Ressourcen und API-Schlüssel. Überlegen Sie sorgfältig, wer Zugriff auf Azure OpenAI-Ressourcen hat, in denen Assistenten eingesetzt werden, und welche API-Schlüssel damit verbunden sind.
- Prüfen Sie routinemäßig, welche Konten/Personen Zugriff auf die Azure OpenAI-Ressource haben. API-Schlüssel und Zugriff auf Ressourcenebene ermöglichen eine breite Palette von Vorgängen, einschließlich des Lesens und Änderns von Nachrichten und Dateien.
- Aktivieren Sie die Diagnoseeinstellungen, um die langfristige Verfolgung bestimmter Aspekte des Aktivitätsprotokolls der Azure OpenAI-Ressource zu ermöglichen.
Parameter
Die Assistenten-API unterstützt mehrere Parameter, mit denen Sie die Ausgabe der Assistenten anpassen können. Mit dem tool_choice
-Parameter können Sie durchsetzen, dass der Assistent ein bestimmtes Tool verwendet. Sie können auch Nachrichten mit der assistant
-Rolle erstellen, um benutzerdefinierte Unterhaltungsverläufe in Diskussionen zu erstellen. Mit temperature
, top_p
, response_format
können Sie die Antworten weiter optimieren. Weitere Informationen finden Sie in der Referenzdokumentation.
Kontextfensterverwaltung
Assistenten schneiden Text automatisch ab, um sicherzustellen, dass er innerhalb der maximalen Kontextlänge des Modells bleibt. Sie können dieses Verhalten anpassen, indem Sie die maximalen Tokens angeben, die von einer Ausführung verwendet werden sollen, und/oder die maximale Anzahl der aktuellen Nachrichten, die in eine Ausführung einbezogen werden sollen.
Maximale Fertigstellungs- und maximale Eingabeaufforderungstokens
Um die Tokenverwendung in einer einzelnen Ausführung zu steuern, legen Sie max_prompt_tokens
und max_completion_tokens
fest, wenn Sie die Ausführung erstellen. Diese Grenzwerte gelten für die Gesamtanzahl der Tokens, die während des gesamten Lebenszyklus der Ausführung in allen Fertigstellungen verwendet werden.
Beispielsweise bedeutet das Initiieren einer Ausführung, bei der max_prompt_tokens
auf 500 und max_completion_tokens
auf 1000 festgelegt ist, dass der erste Abschluss den Thread bei 500 Tokens abschneidet und die Ausgabe auf 1000 Tokens begrenzt. Wenn nur 200 Eingabeaufforderungstokens und 300 Abschlusstokens im ersten Abschluss verwendet werden, weist der zweite Abschluss verfügbare Grenzwerte von 300 Eingabeaufforderungstokens und 700 Abschlusstokens auf.
Wenn ein Abschluss den max_completion_tokens
-Grenzwert erreicht, wird die Ausführung mit unvollständigem Status beendet, und Details werden im Feld incomplete_details
des Ausführungsobjekts angegeben.
Wenn Sie das Tool „Dateisuche“ verwenden, empfehlen wir, max_prompt_tokens
auf mindestens 20.000 festzulegen. Bei längeren Unterhaltungen oder mehreren Interaktionen mit der Dateisuche sollten Sie diesen Grenzwert auf 50.000 erhöhen oder im Idealfall die max_prompt_tokens
-Grenzwerte vollständig entfernen, um die höchsten Qualitätsergebnisse zu erzielen.
Strategie zum Abschneiden
Sie können auch eine Strategie zum Abschneiden angeben, um zu steuern, wie Ihr Thread im Kontextfenster des Modells gerendert werden soll. Bei Verwendung einer Strategie zum Abschneiden vom Typ auto
wird die standardmäßige Strategie zum Abschneiden von OpenAI verwendet. Wenn Sie eine Strategie zum Abschneiden vom Typ last_messages
verwenden, können Sie die Anzahl der aktuellen Nachrichten angeben, die in das Kontextfenster aufgenommen werden sollen.
Weitere Informationen
- Weitere Informationen zu Assistenten und Dateisuche
- Weitere Informationen über Assistants und Code Interpreter
- Weitere Informationen zu Assistants und Funktionsaufrufen
- Beispiele zur Azure OpenAI Assistants-API