Freigeben über


Bereitstellen von Cohere Command-Modellen mit Azure KI Studio

Wichtig

Einige der in diesem Artikel beschriebenen Features sind möglicherweise nur in der Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

In diesem Artikel erfahren Sie, wie Sie Azure KI Studio zum Bereitstellen der Cohere Command-Modelle als serverlose APIs mit tokenbasierter Abrechnung mit nutzungsbasierter Bezahlung verwenden.

Cohere bietet zwei Command-Modelle in Azure KI Studio. Diese Modelle sind als serverlose APIs mit tokenbasierter Abrechnung mit nutzungsbasierter Bezahlung verfügbar. Sie können die Cohere-Modellfamilie im Modellkatalog durchsuchen, indem Sie nach der Cohere-Sammlung filtern.

Cohere Command-Modelle

In diesem Abschnitt erfahren Sie mehr über die beiden Cohere Command-Modelle, die im Modellkatalog verfügbar sind:

  • Cohere Command R
  • Cohere Command R+

Sie können die Cohere-Modellfamilie im Modellkatalog durchsuchen, indem Sie nach der Cohere-Sammlung filtern.

  • Modellarchitektur: Sowohl Command R und Command R+ sind ein auto-regressives Sprachmodell, die eine optimierte Transformationsarchitektur verwenden. Nach dem Vortraining verwenden diese Modelle überwachte Feinabstimmung (Supervised Fine-Tuning, SFT) und Präferenztraining, um das Modellverhalten an menschlichen Vorlieben für Nützlichkeit und Sicherheit auszurichten.

  • Abgedeckte Sprachen: Die Modelle sind für eine gute Leistung in den folgenden Sprachen optimiert: Englisch, Französisch, Spanisch, Italienisch, Deutsch, Portugiesisch (Brasilien), Japanisch, Koreanisch, Vereinfachtes Chinesisch und Arabisch.

    Zu den Vortrainingsdaten gehören zusätzlich die folgenden 13 Sprachen: Russisch, Polnisch, Türkisch, Vietnamesisch, Niederländisch, Tschechisch, Indonesien, Ukrainisch, Rumänisch, Griechisch, Hindi, Hebräisch, Persisch.

  • Kontextlänge: Command R und Command R+ unterstützt eine Kontextlänge von 128K.

  • Eingabe: Nur Eingabetext von Modellen.

  • Ausgabe: Modelle generieren nur Text.

Bereitstellen als serverlose API

Bestimmte Modelle im Modellkatalog können als serverlose API mit Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden. Diese Art von Bereitstellung bietet eine Möglichkeit, Modelle als API zu nutzen, ohne sie in Ihrem Abonnement zu hosten, während die Unternehmenssicherheit und Compliance beibehalten werden, die Organisationen benötigen. Für diese Bereitstellungsoption ist kein Kontingent aus Ihrem Abonnement erforderlich.

Die oben erwähnten Cohere-Modelle können als Dienst mit Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden und werden von Cohere über den Microsoft Azure Marketplace angeboten. Cohere kann die Nutzungsbedingungen und Preise für diese Modelle ändern oder aktualisieren.

Voraussetzungen

  • Ein Azure-Abonnement mit einer gültigen Zahlungsmethode. Kostenlose Versionen oder Testversionen von Azure-Abonnements funktionieren nicht. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie zunächst ein kostenpflichtiges Azure-Konto.

  • Ein Azure KI Studio-Hub.

    Wichtig

    Für Modelle der Cohere-Familie ist das Angebot für die Modellimplementierung als serverlose API nur mit Hubs verfügbar, die in den Regionen USA, Osten 2 oder Schweden, Mitte erstellt wurden.

  • Ein KI Studio-Projekt in Azure KI Studio.

  • Die rollenbasierten Zugriffssteuerungen in Azure (Azure RBAC) werden verwendet, um Zugriff auf Vorgänge in Azure KI Studio zuzuweisen. Um die Schritte in diesem Artikel auszuführen, muss Ihrem Benutzerkonto die Azure KI-Entwicklerrolle in der Ressourcengruppe zugewiesen sein. Weitere Informationen zu Berechtigungen finden Sie unter Rollenbasierte Zugriffssteuerung in Azure KI Studio.

Erstellen einer neuen Bereitstellung

Die folgenden Schritte veranschaulichen die Bereitstellung von Cohere Command R, aber Sie können dieselben Schritte zum Bereitstellen von Cohere Command R+ verwenden, indem Sie den Modellnamen ersetzen.

So erstellen Sie eine Bereitstellung

  1. Melden Sie sich beim Azure KI Studio an.

  2. Wählen Sie Modellkatalog auf der linken Randleiste aus.

  3. Suchen Sie nach Cohere.

  4. Wählen Sie Cohere-command-r aus, um die Seite „Modelldetails“ zu öffnen.

    Screenshot, der zeigt, wie Sie über den Modellkatalog auf die Seite mit den Modelldetails zugreifen.

  5. Klicken Sie auf Bereitstellen, um das Fenster für die Bereitstellung als serverlose API für das Modell zu öffnen.

  6. Alternativ können Sie eine Bereitstellung initiieren, indem Sie von Ihrem Projekt in KI Studio aus starten.

    1. Wählen Sie auf der linken Randleiste des Projekts Komponenten>Bereitstellungen aus.

    2. Klicken Sie auf + Bereitstellung erstellen.

    3. Suchen Sie nachCohere-command-r, und wählen Sie dies aus. um die Seite mit den Modelldetails zu öffnen.

      Screenshot, der zeigt, wie Sie über die Seite „Bereitstellungen“ auf die Seite mit den Modelldetails zugreifen.

    4. Klicken Sie auf Bestätigen, um das Fenster für die Bereitstellung als serverlose API für das Modell zu öffnen.

    Ein Screenshot, der zeigt, wie Sie ein Modell als serverlose API bereitstellen.

  7. Wählen Sie das Projekt, in dem Sie Ihr Modell bereitstellen möchten. Um das Modell bereitzustellen, muss sich Ihr Projekt in den Regionen USA, Osten 2 oder Schweden, Mitte befinden.

  8. Wählen Sie im Bereitstellungsassistenten den Link zu Azure Marketplace-Nutzungsbedingungen aus, um mehr über die Nutzungsbedingungen zu erfahren.

  9. Wählen Sie die Registerkarte Preise und Geschäftsbedingungen aus, um mehr über die Preise für das ausgewählte Modell zu erfahren.

  10. Wählen Sie die Schaltfläche Abonnieren und Bereitstellen aus. Wenn Sie das Modell zum ersten Mal im Projekt bereitstellen, müssen Sie Ihr Projekt für das jeweilige Angebot abonnieren. Dieser Schritt erfordert, dass Ihr Konto wie in den Voraussetzungen aufgeführt über die Berechtigungen der Rolle Azure KI-Entwickler für die Ressourcengruppe verfügt. Jedes Projekt hat sein eigenes Abonnement für das jeweilige Azure Marketplace-Angebot des Modells, mit dem Sie die Ausgaben kontrollieren und überwachen können. Derzeit ist nur eine Bereitstellung für jedes Modell innerhalb eines Projekts möglich.

  11. Sobald Sie das Projekt für ein bestimmtes Azure Marketplace-Angebot abonniert haben, müssen Sie sich für nachfolgende Bereitstellungen desselben Angebots im selben Projekt nicht erneut anmelden. Wenn dieses Szenario für Sie gilt, wird die Option Weiter zur Bereitstellung zum Auswählen angezeigt.

    Screenshot zeigt ein Projekt, das bereits für das Angebot abonniert ist.

  12. Geben Sie der Bereitstellung einen Namen. Dieser Name wird Teil der Bereitstellungs-API-URL. Diese URL muss in jeder Azure-Region eindeutig sein.

    Ein Screenshot zeigt, wie der Name der Bereitstellung angegeben wird, die Sie erstellen möchten.

  13. Klicken Sie auf Bereitstellen. Warten Sie, bis die Bereitstellung fertig ist und Sie auf die Seite Bereitstellungen weitergeleitet werden.

  14. Wählen Sie Im Playground öffnen aus, um mit der Interaktion mit dem Modell zu beginnen.

  15. Navigieren Sie zurück zur Seite „Bereitstellungen“, wählen Sie die Bereitstellung aus, und notieren Sie sich die Ziel-URL und den geheimen Schlüssel des Endpunkts. Weitere Informationen zur Verwendung der APIs finden Sie im Abschnitt Referenz.

  16. Sie können die Details, URL und Zugriffsschlüssel für den Endpunkt jederzeit abrufen, indem Sie zu Ihrer Seite Projektübersicht navigieren. Wählen Sie dann auf der linken Randleiste des Projekts Komponenten>Bereitstellungen aus.

Informationen zur Abrechnung für die Cohere-Modelle, die als serverlose API mit tokenbasierter Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden, finden Sie unter Überlegungen zu Kosten und Kontingenten für Modelle, die als serverlose API bereitgestellt werden.

Nutzen der Cohere-Modelle als Dienste

Diese Modelle können mithilfe der Chat-API genutzt werden.

  1. Navigieren Sie auf der Seite Projektübersicht zur linken Randleiste, und wählen Sie Komponenten>Bereitstellungen aus.

  2. Suchen Sie die von Ihnen erstellte Bereitstellung, und wählen Sie sie aus.

  3. Kopieren Sie die Ziel-URL und den Schlüsselwert.

  4. Cohere macht zwei Routen für die Ableitung mit den Modellen Command R und Command R+ verfügbar. Die Azure KI Model Inference API auf der Route /chat/completions und die systemeigene Cohere API.

Weitere Informationen zur Verwendung der APIs finden Sie im Abschnitt Referenz.

Referenz für Cohere-Modelle, die als Dienst bereitgestellt werden

Cohere Command R und Command R+ Modelle akzeptieren sowohl die Azure KI Model Inference API auf der Route /chat/completions als auch die native Cohere Chat API auf /v1/chat.

Azure KI-Modellrückschluss-API

Das Azure KI-Modellrückschluss-API-Schema finden Sie in der -Referenz für den Artikel „Chat-Fertigstellungen“, und eine OpenAPI-Spezifikation kann vom Endpunkt selbst abgerufen werden.

Cohere Chat API

Im Folgenden finden Sie Details zur Cohere Chat API.

Anfordern

    POST /v1/chat HTTP/1.1
    Host: <DEPLOYMENT_URI>
    Authorization: Bearer <TOKEN>
    Content-type: application/json

v1/Chat-Anforderungsschema

Cohere Command R und Command R+ akzeptieren die folgenden Parameter für einen v1/chat-Antwortrückschlussaufruf:

Schlüssel Typ Standard BESCHREIBUNG
message string Erforderlich Texteingabe für das Modell, dem geantwortet werden soll.
chat_history array of messages None Eine Liste der vorherigen Nachrichten zwischen dem Benutzer und dem Modell, die dem Modell Unterhaltungskontext geben sollen, um auf die Nachricht des Benutzers zu reagieren.
documents array None Eine Liste relevanter Dokumente, die das Modell zitieren kann, um eine genauere Antwort zu generieren. Jedes Dokument ist ein Zeichenfolge-Zeichenfolge-Wörterbuch. Schlüssel und Werte aus jedem Dokument werden in eine Zeichenfolge serialisiert und an das Modell übergeben. Die resultierende Generierung enthält Zitate, die auf einige dieser Dokumente verweisen. Einige vorgeschlagene Schlüssel sind „Text“, „Autor“ und „Datum“. Um eine bessere Qualität der Generation zu erzielen, empfiehlt es sich, die Gesamtanzahl der Wörter im Wörterbuch auf unter 300 Wörter zu beschränken. Ein _excludes-Feld (Array von Zeichenfolgen) kann optional bereitgestellt werden, um einige Schlüsselwertpaare aus dem Modell anzuzeigen. Die ausgelassenen Felder werden weiterhin im Zitatobjekt angezeigt. Das Feld „_excludes“ wird nicht an das Modell übergeben. Weitere Informationen finden Sie im Dokumentmodusleitfaden der Cohere Dokumentation.
search_queries_only boolean false Wenn true, enthält die Antwort nur eine Liste der generierten Suchabfragen, aber es wird keine Suche durchgeführt, und es wird keine Antwort vom Modell auf die message des Benutzers generiert.
stream boolean false Wenn true, dann ist die Antwort ein JSON-Datenstrom von Ereignissen. Das endgültige Ereignis enthält die vollständige Antwort und hat eine event_type von "stream-end". Streaming ist von Vorteil für Benutzeroberflächen, die den Inhalt der Antwort Stück für Stück rendern, während er generiert wird.
max_tokens integer Keine Die maximale Anzahl von Token, die das Modell als Teil der Antwort generiert. Hinweis: Das Festlegen eines niedrigen Werts kann zu unvollständigen Generierungen führen. Wenn nicht festgelegt, werden Token bis zum Ende der Sequenz generiert.
temperature float 0.3 Verwenden Sie einen niedrigeren Wert, um die Zufälligkeit in der Antwort zu verringern. Die Zufälligkeit kann weiter maximiert werden, indem der Wert des p-Parameters erhöht wird. Der Mindestwert ist 0, und der maximale Wert ist 2.
p float 0.75 Verwenden Sie einen niedrigeren Wert, um weniger wahrscheinliche Optionen zu ignorieren. Legen Sie es zum Deaktivieren auf 0 oder 1,0 fest. Wenn sowohl p als auch k aktiviert sind, wirkt p nach k. Der Mindestwert ist 0,01, und der maximale Wert ist 0,99.
k float 0 Geben Sie die Anzahl der Tokenauswahlmöglichkeiten an, die das Modell zum Generieren des nächsten Tokens verwendet. Wenn sowohl p als auch k aktiviert sind, wirkt p nach k. Der Mindestwert ist 0, und der maximale Wert ist 500.
prompt_truncation enum string OFF Akzeptiert AUTO_PRESERVE_ORDER, AUTO, OFF. Bestimmt, wie die Eingabeaufforderung erstellt wird. Wenn prompt_truncation auf AUTO_PRESERVE_ORDER festgelegt ist, werden einige Elemente aus chat_history und documents abgelegt, um eine Eingabeaufforderung zu erstellen, die in die Kontextlängenbeschränkung des Modells passt. Während dieses Prozesses wird die Reihenfolge der Dokumente und des Chatverlaufs beibehalten. Wenn prompt_truncation auf „OFF“ festgelegt ist, werden keine Elemente abgelegt.
stop_sequences array of strings None Der generierte Text wird am Ende des frühesten Vorkommens einer Stoppsequenz abgeschnitten. Die Sequenz ist im Text enthalten.
frequency_penalty float 0 Wird verwendet, um die Wiederholung von generierten Token zu reduzieren. Je höher der Wert ist, desto stärker wird eine Strafe auf zuvor vorhandene Token angewendet, proportional dazu, wie oft sie bereits in der Eingabeaufforderung oder früheren Generierungen aufgetreten sind. Der Mindestwert ist 0,0, und der maximale Wert ist 1,0.
presence_penalty float 0 Wird verwendet, um die Wiederholbarkeit von generierten Token zu reduzieren. Ähnlich wie frequency_penalty, außer dass diese Strafe gleichermaßen auf alle Token angewendet wird, die bereits erschienen sind, unabhängig von ihren genauen Frequenzen. Der Mindestwert ist 0,0, und der maximale Wert ist 1,0.
seed integer None Wenn dies angeben ist, wird sich das Back-End nach besten Kräften bemühen, eine deterministische Auswahl der Token zu treffen, so dass wiederholte Anfragen mit demselben Seed und denselben Parametern dasselbe Ergebnis liefern sollten. Determinismus kann jedoch nicht garantiert werden.
return_prompt boolean false Gibt die vollständige Eingabeaufforderung zurück, die bei true an das Modell gesendet wurde.
tools array of objects None Das Feld unterliegt Änderungen. Eine Liste der verfügbaren Tools (Funktionen), die das Modell vor dem Erstellen einer Textantwort vorschlagen könnte. Wenn tools übergeben wird (ohne tool_results), wird das Feld text in der Antwort "" sein, und das Feld tool_calls in der Antwort wird mit einer Liste von Toolaufrufen gefüllt, die durchgeführt werden müssen. Wenn keine Aufrufe durchgeführt werden müssen, ist das tool_calls-Array leer.
tool_results array of objects None Das Feld unterliegt Änderungen. Eine Liste der Ergebnisse des Aufrufs von Tools, die vom Modell in der vorherigen Chat-Runde empfohlen wurden. Ergebnisse werden verwendet, um eine Textantwort zu erzeugen und werden in Zitaten referenziert. Bei Verwendung von tool_results muss tools ebenfalls übergeben werden. Jedes tool_result enthält Informationen darüber, wie es aufgerufen wurde, und eine Liste der Ausgaben in Form von Wörterbüchern. Die einzigartige feinkörnige Zitatlogik von Cohere erfordert, dass die Ausgabe eine Liste ist. Falls die Ausgabe beispielsweise nur ein Element ist, z. B. {"status": 200}, brechen Sie es trotzdem in eine Liste um.

Das chat_history-Objekt erfordert die folgenden Felder:

Schlüssel type Beschreibung
role enum string Übernimmt USER, SYSTEM oder CHATBOT.
message string Textinhalte der Nachricht.

Das documents-Objekt weist die folgenden optionalen Felder auf:

Schlüssel Typ Standard Beschreibung
id string None Kann angegeben werden, um das Dokument in den Zitaten zu identifizieren. Dieses Feld wird nicht an das Modell übergeben.
_excludes array of strings None Kann optional bereitgestellt werden, um zu verhindern, dass einige Schlüssel/Wert-Paare dem Modell angezeigt werden. Die ausgelassenen Felder werden weiterhin im Zitatobjekt angezeigt. Das _excludes-Feld wird nicht an das Modell übergeben.

v1/chat-Antwortschema

Antwortfelder werden vollständig in der Chat-API-Referenz von Cohere dokumentiert. Das Antwortobjekt enthält immer Folgendes:

Schlüssel type Beschreibung
response_id string Eindeutiger Bezeichner für den Chatabschluss.
generation_id string Eindeutiger Bezeichner für den Chatabschluss, der mit dem Feedback-Endpunkt auf der Cohere-Plattform verwendet wird.
text string Die Antwort des Modells auf die Chatnachrichteneingabe.
finish_reason enum string Warum die Generierung abgeschlossen wurde. Dies kann einer der folgenden Werte sein: COMPLETE, ERROR, ERROR_TOXIC, ERROR_LIMIT, USER_CANCEL oder MAX_TOKENS
token_count integer Anzahl der verwendeten Token.
meta string API-Verbrauchsdaten, einschließlich der aktuellen Version und der abrechenbaren Token.

Dokumente

Wenn documents in der Anforderung angegeben sind, gibt es zwei weitere Felder in der Antwort:

Schlüssel type Beschreibung
documents array of objects Listet die Dokumente auf, die in der Antwort zitiert wurden.
citations array of objects Gibt an, welcher Teil der Antwort in einem bestimmten Dokument gefunden wurde.

citations ist ein Array von Objekten mit den folgenden erforderlichen Feldern:

Schlüssel type Beschreibung
start integer Der Index des Texts, bei dem das Zitat beginnt, von Null hochgezählt. Beispielsweise würde eine Generierung von Hello, world! mit einem Zitat für world einen Anfangswert von 7haben. Dies liegt daran, dass das Zitat bei w beginnt, was das siebte Zeichen ist.
end integer Der Index des Texts, nach dem das Zitat endet, von Null hochgezählt. Beispielsweise würde eine Generierung von Hello, world! mit einem Zitat für world einen Endwert von 11 haben. Dies liegt daran, dass das Zitat nach d endet, was das elfte Zeichen ist.
text string Der Text des Zitats. Beispielsweise würde eine Generierung von Hello, world! mit einem Zitat von world einen Textwert von world haben.
document_ids array of strings Bezeichner von Dokumenten, die in diesem Abschnitt der generierten Antwort zitiert werden.

Extras

Wenn tools angegeben und vom Modell aufgerufen wird, gibt es ein weiteres Feld in der Antwort:

Schlüssel type Beschreibung
tool_calls array of objects Enthält die vom Modell generierten Toolaufrufe. Verwenden Sie dies, um Ihre Tools aufzurufen.

tool_calls ist ein Array von Objekten mit den folgenden Feldern:

Schlüssel type Beschreibung
name string Name des aufzurufenden Tools.
parameters object Der Name und der Wert der Parameter, die beim Aufrufen eines Tools verwendet werden sollen.

Search_queries_only

Wenn search_queries_only=TRUE in der Anforderung angegeben ist, gibt es zwei weitere Felder in der Antwort:

Schlüssel type Beschreibung
is_search_required boolean Weist das Modell an, eine Suchabfrage zu generieren.
search_queries array of objects Objekt, das eine Liste von Suchabfragen enthält.

search_queries ist ein Array von Objekten mit den folgenden Feldern:

Schlüssel type Beschreibung
text string Der Text der Suchabfrage.
generation_id string Eindeutiger Bezeichner für die generierte Suchabfrage. Nützlich für das Übermitteln von Feedback.

Beispiele

Chat – Vervollständigungen

Das folgende Beispiel ist ein Beispielanforderungsaufruf zum Abrufen von Chatabschlüssen aus dem Cohere Command-Modell. Wird beim Generieren eines Chatabschlusses verwendet.

Anforderung:

    {
        "chat_history": [
            {"role":"USER", "message": "What is an interesting new role in AI if I don't have an ML background"},
            {"role":"CHATBOT", "message": "You could explore being a prompt engineer!"}
        ],
        "message": "What are some skills I should have"
    }

Antwort:

    {
        "response_id": "09613f65-c603-41e6-94b3-a7484571ac30",
        "text": "Writing skills are very important for prompt engineering. Some other key skills are:\n- Creativity\n- Awareness of biases\n- Knowledge of how NLP models work\n- Debugging skills\n\nYou can also have some fun with it and try to create some interesting, innovative prompts to train an AI model that can then be used to create various applications.",
        "generation_id": "6d31a57f-4d94-4b05-874d-36d0d78c9549",
        "finish_reason": "COMPLETE",
        "token_count": {
            "prompt_tokens": 99,
            "response_tokens": 70,
            "total_tokens": 169,
            "billed_tokens": 151
        },
        "meta": {
            "api_version": {
                "version": "1"
            },
            "billed_units": {
                "input_tokens": 81,
                "output_tokens": 70
            }
        }
    }
Chat – Geerdete Generierung und RAG-Funktionalitäten

Command R und Command R+ werden mit einer bestimmten Eingabeaufforderungsvorlage über eine Mischung aus überwachter Feinabstimmung und Präferenzfeinabstimmung für RAG trainiert. Wir führen diese Eingabeaufforderungsvorlage über den documents-Parameter ein. Die Dokumentausschnitte sollten Blöcke statt langer Dokumente sein, in der Regel etwa 100 bis 400 Wörter pro Block. Dokumentausschnitte bestehen aus Schlüssel/Wert-Paaren. Die Schlüssel sollten kurze beschreibende Zeichenfolgen sein. Die Werte können Text oder halbstrukturiert sein.

Anforderung:

    {
    "message": "Where do the tallest penguins live?",
    "documents": [
        {
        "title": "Tall penguins",
        "snippet": "Emperor penguins are the tallest."
        },
        {
        "title": "Penguin habitats",
        "snippet": "Emperor penguins only live in Antarctica."
        }
    ]
    }

Antwort:

    {
        "response_id": "d7e72d2e-06c0-469f-8072-a3aa6bd2e3b2",
        "text": "Emperor penguins are the tallest species of penguin and they live in Antarctica.",
        "generation_id": "b5685d8d-00b4-48f1-b32f-baebabb563d8",
        "finish_reason": "COMPLETE",
        "token_count": {
            "prompt_tokens": 615,
            "response_tokens": 15,
            "total_tokens": 630,
            "billed_tokens": 22
        },
        "meta": {
            "api_version": {
                "version": "1"
            },
            "billed_units": {
                "input_tokens": 7,
                "output_tokens": 15
            }
        },
        "citations": [
            {
                "start": 0,
                "end": 16,
                "text": "Emperor penguins",
                "document_ids": [
                    "doc_0"
                ]
            },
            {
                "start": 69,
                "end": 80,
                "text": "Antarctica.",
                "document_ids": [
                    "doc_1"
                ]
            }
        ],
        "documents": [
            {
                "id": "doc_0",
                "snippet": "Emperor penguins are the tallest.",
                "title": "Tall penguins"
            },
            {
                "id": "doc_1",
                "snippet": "Emperor penguins only live in Antarctica.",
                "title": "Penguin habitats"
            }
        ]
    }
Chat – Toolverwendung

Wenn Sie Tools aufrufen oder eine Antwort basierend auf Toolergebnissen generieren, verwenden Sie die folgenden Parameter.

Anforderung:

    {
        "message":"I'd like 4 apples and a fish please",
        "tools":[
            {
                "name":"personal_shopper",
                "description":"Returns items and requested volumes to purchase",
                "parameter_definitions":{
                    "item":{
                        "description":"the item requested to be purchased, in all caps eg. Bananas should be BANANAS",
                        "type": "str",
                        "required": true
                    },
                    "quantity":{
                        "description": "how many of the items should be purchased",
                        "type": "int",
                        "required": true
                    }
                }
            }
        ],
        
    "tool_results": [
        {
        "call": {
            "name": "personal_shopper",
            "parameters": {
                "item": "Apples",
                "quantity": 4
            },
            "generation_id": "cb3a6e8b-6448-4642-b3cd-b1cc08f7360d"
        },
        "outputs": [
            {
            "response": "Sale completed"
            }
        ]
        },
        {
        "call": {
            "name": "personal_shopper",
            "parameters": {
            "item": "Fish",
            "quantity": 1
            },
            "generation_id": "cb3a6e8b-6448-4642-b3cd-b1cc08f7360d"
        },
        "outputs": [
            {
            "response": "Sale not completed"
            }
        ]
        }
    ]
    }

Antwort:

    {
        "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
        "text": "I've completed the sale for 4 apples. \n\nHowever, there was an error regarding the fish; it appears that there is currently no stock.",
        "generation_id": "f567e78c-9172-4cfa-beba-ee3c330f781a",
        "chat_history": [
            {
                "message": "I'd like 4 apples and a fish please",
                "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
                "generation_id": "a4c5da95-b370-47a4-9ad3-cbf304749c04",
                "role": "User"
            },
            {
                "message": "I've completed the sale for 4 apples. \n\nHowever, there was an error regarding the fish; it appears that there is currently no stock.",
                "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
                "generation_id": "f567e78c-9172-4cfa-beba-ee3c330f781a",
                "role": "Chatbot"
            }
        ],
        "finish_reason": "COMPLETE",
        "token_count": {
            "prompt_tokens": 644,
            "response_tokens": 31,
            "total_tokens": 675,
            "billed_tokens": 41
        },
        "meta": {
            "api_version": {
                "version": "1"
            },
            "billed_units": {
                "input_tokens": 10,
                "output_tokens": 31
            }
        },
        "citations": [
            {
                "start": 5,
                "end": 23,
                "text": "completed the sale",
                "document_ids": [
                    ""
                ]
            },
            {
                "start": 113,
                "end": 132,
                "text": "currently no stock.",
                "document_ids": [
                    ""
                ]
            }
        ],
        "documents": [
            {
                "response": "Sale completed"
            }
        ]
    }

Nachdem Sie die Funktion ausgeführt und Toolausgaben empfangen haben, können Sie diese an das Modell übergeben, um eine Antwort für den Benutzer zu generieren.

Anforderung:

    {
        "message":"I'd like 4 apples and a fish please",
        "tools":[
            {
                "name":"personal_shopper",
                "description":"Returns items and requested volumes to purchase",
                "parameter_definitions":{
                    "item":{
                        "description":"the item requested to be purchased, in all caps eg. Bananas should be BANANAS",
                        "type": "str",
                        "required": true
                    },
                    "quantity":{
                        "description": "how many of the items should be purchased",
                        "type": "int",
                        "required": true
                    }
                }
            }
        ],
        
    "tool_results": [
        {
        "call": {
            "name": "personal_shopper",
            "parameters": {
                "item": "Apples",
                "quantity": 4
            },
            "generation_id": "cb3a6e8b-6448-4642-b3cd-b1cc08f7360d"
        },
        "outputs": [
            {
            "response": "Sale completed"
            }
        ]
        },
        {
        "call": {
            "name": "personal_shopper",
            "parameters": {
            "item": "Fish",
            "quantity": 1
            },
            "generation_id": "cb3a6e8b-6448-4642-b3cd-b1cc08f7360d"
        },
        "outputs": [
            {
            "response": "Sale not completed"
            }
        ]
        }
    ]
    }

Antwort:

    {
        "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
        "text": "I've completed the sale for 4 apples. \n\nHowever, there was an error regarding the fish; it appears that there is currently no stock.",
        "generation_id": "f567e78c-9172-4cfa-beba-ee3c330f781a",
        "chat_history": [
            {
                "message": "I'd like 4 apples and a fish please",
                "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
                "generation_id": "a4c5da95-b370-47a4-9ad3-cbf304749c04",
                "role": "User"
            },
            {
                "message": "I've completed the sale for 4 apples. \n\nHowever, there was an error regarding the fish; it appears that there is currently no stock.",
                "response_id": "fa634da2-ccd1-4b56-8308-058a35daa100",
                "generation_id": "f567e78c-9172-4cfa-beba-ee3c330f781a",
                "role": "Chatbot"
            }
        ],
        "finish_reason": "COMPLETE",
        "token_count": {
            "prompt_tokens": 644,
            "response_tokens": 31,
            "total_tokens": 675,
            "billed_tokens": 41
        },
        "meta": {
            "api_version": {
                "version": "1"
            },
            "billed_units": {
                "input_tokens": 10,
                "output_tokens": 31
            }
        },
        "citations": [
            {
                "start": 5,
                "end": 23,
                "text": "completed the sale",
                "document_ids": [
                    ""
                ]
            },
            {
                "start": 113,
                "end": 132,
                "text": "currently no stock.",
                "document_ids": [
                    ""
                ]
            }
        ],
        "documents": [
            {
                "response": "Sale completed"
            }
        ]
    }
Chat – Suchabfragen

Wenn Sie einen RAG-Agent erstellen, können Sie auch die Chat-API von Cohere verwenden, um Suchabfragen von Command abzurufen. Geben Sie search_queries_only=TRUE in Ihrer Anforderung an.

Anforderung:

    {
    "message": "Which lego set has the greatest number of pieces?",
    "search_queries_only": true
    }

Antwort:

    {
        "response_id": "5e795fe5-24b7-47b4-a8bc-b58a68c7c676",
        "text": "",
        "finish_reason": "COMPLETE",
        "meta": {
            "api_version": {
                "version": "1"
            }
        },
        "is_search_required": true,
        "search_queries": [
            {
                "text": "lego set with most pieces",
                "generation_id": "a086696b-ad8e-4d15-92e2-1c57a3526e1c"
            }
        ]
    }
Modellrückschluss: Beispiele
Paket Beispielnotebook
CLI mit CURL- und Python-Webanforderungen – Command R command-r.ipynb
CLI mit CURL- und Python-Webanforderungen – Command R+ command-r-plus.ipynb
OpenAI SDK (experimentell) openaisdk.ipynb
LangChain langchain.ipynb
Cohere-SDK cohere-sdk.ipynb
LiteLLM SDK litellm.ipynb
Retrieval Augmented Generation (RAG) und das Tool verwenden Stichproben
Beschreibung Paket Beispielnotebook
Erstellen eines lokalen FAISS-Vektorindex (Facebook AI Similarity Search) mithilfe von Cohere-Einbettungen: Langchain langchain, langchain_cohere cohere_faiss_langchain_embed.ipynb
Verwenden von Cohere Command R/R+ zum Beantworten von Fragen mit Daten im lokalen FAISS-Vektorindex: Langchain langchain, langchain_cohere command_faiss_langchain.ipynb
Verwenden von Cohere Command R/R+ zum Beantworten von Fragen mit Daten im KI-Suchvektorindex: Langchain langchain, langchain_cohere cohere-aisearch-langchain-rag.ipynb
Verwenden von Cohere Command R/R+ zum Beantworten von Fragen mit Daten im KI-Suchvektorindex: Cohere SDK cohere, azure_search_documents cohere-aisearch-rag.ipynb
Aufrufen von Command R+-Tools/-Funktionen mit LangChain cohere, langchain, langchain_cohere command_tools-langchain.ipynb

Kosten und Kontingente

Kosten- und Kontingentüberlegungen für als serverlose API bereitgestellte Modelle

Cohere-Modelle, die als serverlose API mit nutzungsbasierter Bezahlung bereitgestellt werden, werden von Cohere über den Azure Marketplace angeboten und zur Verwendung in Azure KI Studio integriert. Die Preise für den Azure Marketplace finden Sie, wenn Sie das Modell bereitstellen.

Jedes Mal, wenn ein Projekt ein bestimmtes Angebot aus dem Azure Marketplace abonniert, wird eine neue Ressource erstellt, um die mit der Nutzung verbundenen Kosten nachzuverfolgen. Dieselbe Ressource wird verwendet, um die mit der Inferenz verbundenen Kosten zu verfolgen. Es stehen jedoch mehrere Verbrauchseinheiten zur Verfügung, um jedes Szenario unabhängig zu verfolgen.

Weitere Informationen zum Nachverfolgen von Kosten finden Sie unter Überwachen der Kosten für Modelle, die über den Azure Marketplace angeboten werden.

Das Kontingent wird pro Bereitstellung verwaltet. Jede Bereitstellung hat eine Rate von 200.000 Token pro Minute und 1.000 API-Anforderungen pro Minute. Derzeit wird jedoch eine Bereitstellung pro Modell und Projekt beschränkt. Wenden Sie sich an den Microsoft Azure-Support, wenn die aktuellen Ratenbegrenzungen für Ihre Szenarien nicht ausreichen.

Inhaltsfilterung

Modelle, die als serverlose API mit nutzungsbasierter Bezahlung bereitgestellt werden, werden durch Azure KI Inhaltssicherheit geschützt. Mit Azure KI Content Safety (Inhaltssicherheit) durchlaufen sowohl die Eingabeaufforderung als auch die Fertigstellung ein Ensemble von Klassifizierungsmodellen, die darauf abzielen, die Ausgabe von schädlichen Inhalten zu erkennen und zu verhindern. Das Inhaltsfiltersystem erkennt bestimmte Kategorien potenziell schädlicher Inhalte sowohl in Eingabeeingabeaufforderungen als auch in Ausgabeabschlüssen und ergreift entsprechende Maßnahmen. Weitere Informationen zur Inhaltsfilterung finden Sie hier.