Dela via


Så här använder du Meta Llama-serien med modeller

Viktigt!

Vissa av de funktioner som beskrivs i den här artikeln kanske bara är tillgängliga i förhandsversionen. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

I den här artikeln får du lära dig mer om Meta Llama-serien med modeller och hur du använder dem. Meta Llama-modeller och -verktyg är en samling förtränad och finjusterade generativa AI-text- och bildvägningsmodeller – allt i skala från SLI:er (1B, 3B-bas- och instruktionsmodeller) för enhets- och kant-slutsatsdragning – till mellanstora LLM:er (7B-, 8B- och 70B Base- och Instruct-modeller) och högpresterande modeller som Meta Llama 3.1 405B Instruera för användningsfall för syntetisk datagenerering och destillation.

Dricks

Se våra meddelanden om Metas Llama 3.2-familjemodeller som nu är tillgängliga i Azure AI Model Catalog via Metas blogg och Microsoft Tech Community Blog.

Meta Llama-serien med modeller

Meta Llama-serien med modeller innehåller följande modeller:

Nu är llama 3.2-samlingen med SLA:er och modeller för bildskäl tillgängliga. Snart kommer Llama 3.2 11B Vision Instruct och Llama 3.2 90B Vision Instruct att vara tillgängliga som en serverlös API-slutpunkt via Models-as-a-Service. Från och med idag är följande modeller tillgängliga för distribution via hanterad beräkning:

  • Llama 3.2 1B
  • Llama 3.2 3B
  • Llama 3.2 1B Instruera
  • Llama 3.2 3B Instruera
  • Llama Guard 3 1B
  • Llama Guard 11B Vision
  • Llama 3.2 11B Vision Instruct
  • Llama 3.2 90B Vision Instruct är tillgängliga för hanterad beräkningsdistribution.

Förutsättningar

Om du vill använda Meta Llama-modeller med Azure AI Studio behöver du följande förutsättningar:

En modelldistribution

Distribution till serverlösa API:er

Meta Llama-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.

Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.

Distribution till en lokalt installerad hanterad beräkning

Meta Llama-modeller kan distribueras till vår egenhanterade hanterade slutsatsdragningslösning, som gör att du kan anpassa och kontrollera all information om hur modellen hanteras.

För distribution till en lokalt installerad hanterad beräkning måste du ha tillräckligt med kvot i din prenumeration. Om du inte har tillräckligt med tillgänglig kvot kan du använda vår tillfälliga kvotåtkomst genom att välja alternativet Jag vill använda delad kvot och jag bekräftar att slutpunkten tas bort om 168 timmar.

Inferenspaketet installerat

Du kan använda förutsägelser från den här modellen med hjälp azure-ai-inference av paketet med Python. För att installera det här paketet behöver du följande krav:

  • Python 3.8 eller senare installerat, inklusive pip.
  • Slutpunkts-URL:en. Om du vill skapa klientbiblioteket måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret https://your-host-name.your-azure-region.inference.ai.azure.com, där your-host-name är värdnamnet för din unika modelldistribution och your-azure-region är den Azure-region där modellen distribueras (till exempel eastus2).
  • Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.

När du har dessa förutsättningar installerar du Azure AI-slutsatsdragningspaketet med följande kommando:

pip install azure-ai-inference

Läs mer om Azure AI-slutsatsdragningspaketet och referensen.

Arbeta med chattens slutföranden

I det här avsnittet använder du Azure AI-modellinferens-API :et med en modell för chattavslut för chatt.

Dricks

Med AZURE AI-modellinferens-API:et kan du prata med de flesta modeller som distribueras i Azure AI Studio med samma kod och struktur, inklusive Meta Llama Instruct-modeller – endast text- eller bildskälmodeller.

Skapa en klient för att använda modellen

Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
)

När du distribuerar modellen till en lokalt installerad onlineslutpunkt med Microsoft Entra ID-stöd kan du använda följande kodfragment för att skapa en klient.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.identity import DefaultAzureCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

Kommentar

För närvarande stöder inte serverlösa API-slutpunkter användning av Microsoft Entra-ID för autentisering.

Hämta modellens funktioner

Vägen /info returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:

model_info = client.get_model_info()

Svaret är följande:

print("Model name:", model_info.model_name)
print("Model type:", model_info.model_type)
print("Model provider name:", model_info.model_provider_name)
Model name: Meta-Llama-3.1-405B-Instruct
Model type: chat-completions
Model provider name: Meta

Skapa en begäran om att chatten ska slutföras

I följande exempel visas hur du kan skapa en grundläggande begäran om att slutföra chatten till modellen.

from azure.ai.inference.models import SystemMessage, UserMessage

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
)

Svaret är följande, där du kan se modellens användningsstatistik:

print("Response:", response.choices[0].message.content)
print("Model:", response.model)
print("Usage:")
print("\tPrompt tokens:", response.usage.prompt_tokens)
print("\tTotal tokens:", response.usage.total_tokens)
print("\tCompletion tokens:", response.usage.completion_tokens)
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: Meta-Llama-3.1-405B-Instruct
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

usage Granska avsnittet i svaret för att se antalet token som används för prompten, det totala antalet token som genererats och antalet token som används för slutförandet.

Strömma innehåll

Som standard returnerar API:et för slutförande hela det genererade innehållet i ett enda svar. Om du genererar långa slutföranden kan det ta många sekunder att vänta på svaret.

Du kan strömma innehållet för att hämta det när det genereras. Med strömmande innehåll kan du börja bearbeta slutförandet när innehållet blir tillgängligt. Det här läget returnerar ett objekt som strömmar tillbaka svaret som databaserade serverutskickade händelser. Extrahera segment från deltafältet i stället för meddelandefältet.

result = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    temperature=0,
    top_p=1,
    max_tokens=2048,
    stream=True,
)

Om du vill strömma slutföranden anger stream=True du när du anropar modellen.

Om du vill visualisera utdata definierar du en hjälpfunktion för att skriva ut strömmen.

def print_stream(result):
    """
    Prints the chat completion with streaming.
    """
    import time
    for update in result:
        if update.choices:
            print(update.choices[0].delta.content, end="")

Du kan visualisera hur strömning genererar innehåll:

print_stream(result)

Utforska fler parametrar som stöds av slutsatsdragningsklienten

Utforska andra parametrar som du kan ange i slutsatsdragningsklienten. En fullständig lista över alla parametrar som stöds och deras motsvarande dokumentation finns i API-referensen för Azure AI-modellinferens.

from azure.ai.inference.models import ChatCompletionsResponseFormatText

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    presence_penalty=0.1,
    frequency_penalty=0.8,
    max_tokens=2048,
    stop=["<|endoftext|>"],
    temperature=0,
    top_p=1,
    response_format={ "type": ChatCompletionsResponseFormatText() },
)

Varning

Meta Llama-modeller stöder inte JSON-utdataformatering (response_format = { "type": "json_object" }). Du kan alltid uppmana modellen att generera JSON-utdata. Sådana utdata är dock inte garanterade att vara giltiga JSON.

Om du vill skicka en parameter som inte finns med i listan över parametrar som stöds kan du skicka den till den underliggande modellen med hjälp av extra parametrar. Se Skicka extra parametrar till modellen.

Skicka extra parametrar till modellen

Med AZURE AI Model Inference API kan du skicka extra parametrar till modellen. Följande kodexempel visar hur du skickar den extra parametern logprobs till modellen.

Innan du skickar extra parametrar till Azure AI-modellinferens-API:et kontrollerar du att din modell stöder dessa extra parametrar. När begäran görs till den underliggande modellen skickas rubriken extra-parameters till modellen med värdet pass-through. Det här värdet anger att slutpunkten ska skicka de extra parametrarna till modellen. Användning av extra parametrar med modellen garanterar inte att modellen faktiskt kan hantera dem. Läs modellens dokumentation för att förstå vilka extra parametrar som stöds.

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    model_extras={
        "logprobs": True
    }
)

Följande extra parametrar kan skickas till Meta Llama-modeller:

Name beskrivning Typ
n Hur många slutföranden som ska genereras för varje fråga. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
best_of Genererar best_of slutför serversidan och returnerar den bästa (den med den lägsta loggens sannolikhet per token). Resultat kan inte strömmas. När det används med nkontrollerar best_of antalet kandidatavslut och n anger hur många som ska returneras – best_of måste vara större än n. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
logprobs Ett tal som anger att loggens sannolikheter ska inkluderas på logprobs mest sannolika token och valda token. Om logprobs till exempel är 10 returnerar API:et en lista över de 10 mest sannolika token. API:et returnerar alltid logprob för den samplade token, så det kan finnas upp till logprobs+1-element i svaret. integer
ignore_eos Om du vill ignorera EOS token och fortsätta generera token när EOS token har genererats. boolean
use_beam_search Om du vill använda strålsökning i stället för sampling. I sådana fall best_of måste vara större än 1 och temperaturen måste vara 0. boolean
stop_token_ids Lista över ID:er för token som, när de genereras, stoppar ytterligare tokengenerering. De returnerade utdata innehåller stopptoken såvida inte stopptoken är särskilda token. array
skip_special_tokens Om du vill hoppa över särskilda token i utdata. boolean

Tillämpa innehållssäkerhet

Azure AI-modellinferens-API:et stöder Azure AI-innehållssäkerhet. När du använder distributioner med Azure AI-innehållssäkerhet aktiverad passerar indata och utdata genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata.

I följande exempel visas hur du hanterar händelser när modellen identifierar skadligt innehåll i indataprompten och innehållssäkerhet är aktiverat.

from azure.ai.inference.models import AssistantMessage, UserMessage, SystemMessage

try:
    response = client.complete(
        messages=[
            SystemMessage(content="You are an AI assistant that helps people find information."),
            UserMessage(content="Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."),
        ]
    )

    print(response.choices[0].message.content)

except HttpResponseError as ex:
    if ex.status_code == 400:
        response = ex.response.json()
        if isinstance(response, dict) and "error" in response:
            print(f"Your request triggered an {response['error']['code']} error:\n\t {response['error']['message']}")
        else:
            raise
    raise

Dricks

Mer information om hur du kan konfigurera och kontrollera säkerhetsinställningar för Azure AI-innehåll finns i säkerhetsdokumentationen för Azure AI-innehåll.

Kommentar

Azure AI-innehållssäkerhet är endast tillgängligt för modeller som distribueras som serverlösa API-slutpunkter.

Meta Llama-modeller

Meta Llama-modellerna innehåller följande modeller:

Meta Llama 3.1-samlingen med flerspråkiga stora språkmodeller är en samling förtränad och instruktionsjusterade generativa modeller i 8B-, 70B- och 405B-storlekar (text in/ut). Llama 3.1-instruktionen justerad text endast modeller (8B, 70B, 405B) är optimerade för flerspråkig dialog användning fall och överträffar många av de tillgängliga öppen källkod och stängda chattmodeller på vanliga bransch benchmarks.

Följande modeller är tillgängliga:

Förutsättningar

Om du vill använda Meta Llama-modeller med Azure AI Studio behöver du följande förutsättningar:

En modelldistribution

Distribution till serverlösa API:er

Meta Llama-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.

Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.

Distribution till en lokalt installerad hanterad beräkning

Meta Llama-modeller kan distribueras till vår egenhanterade hanterade slutsatsdragningslösning, som gör att du kan anpassa och kontrollera all information om hur modellen hanteras.

För distribution till en lokalt installerad hanterad beräkning måste du ha tillräckligt med kvot i din prenumeration. Om du inte har tillräckligt med tillgänglig kvot kan du använda vår tillfälliga kvotåtkomst genom att välja alternativet Jag vill använda delad kvot och jag bekräftar att slutpunkten tas bort om 168 timmar.

Inferenspaketet installerat

Du kan använda förutsägelser från den här modellen med hjälp @azure-rest/ai-inference av paketet från npm. För att installera det här paketet behöver du följande krav:

  • LTS-versioner av Node.js med npm.
  • Slutpunkts-URL:en. Om du vill skapa klientbiblioteket måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret https://your-host-name.your-azure-region.inference.ai.azure.com, där your-host-name är värdnamnet för din unika modelldistribution och your-azure-region är den Azure-region där modellen distribueras (till exempel eastus2).
  • Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.

När du har dessa förutsättningar installerar du Azure Inference-biblioteket för JavaScript med följande kommando:

npm install @azure-rest/ai-inference

Arbeta med chattens slutföranden

I det här avsnittet använder du Azure AI-modellinferens-API :et med en modell för chattavslut för chatt.

Dricks

Med Azure AI-modellinferens-API:et kan du prata med de flesta modeller som distribueras i Azure AI Studio med samma kod och struktur, inklusive Meta Llama-modeller.

Skapa en klient för att använda modellen

Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.

import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";

const client = new ModelClient(
    process.env.AZURE_INFERENCE_ENDPOINT, 
    new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL)
);

När du distribuerar modellen till en lokalt installerad onlineslutpunkt med Microsoft Entra ID-stöd kan du använda följande kodfragment för att skapa en klient.

import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { DefaultAzureCredential }  from "@azure/identity";

const client = new ModelClient(
    process.env.AZURE_INFERENCE_ENDPOINT, 
    new DefaultAzureCredential()
);

Kommentar

För närvarande stöder inte serverlösa API-slutpunkter användning av Microsoft Entra-ID för autentisering.

Hämta modellens funktioner

Vägen /info returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:

var model_info = await client.path("/info").get()

Svaret är följande:

console.log("Model name: ", model_info.body.model_name)
console.log("Model type: ", model_info.body.model_type)
console.log("Model provider name: ", model_info.body.model_provider_name)
Model name: Meta-Llama-3.1-405B-Instruct
Model type: chat-completions
Model provider name: Meta

Skapa en begäran om att chatten ska slutföras

I följande exempel visas hur du kan skapa en grundläggande begäran om att slutföra chatten till modellen.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
    }
});

Svaret är följande, där du kan se modellens användningsstatistik:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log("Response: ", response.body.choices[0].message.content);
console.log("Model: ", response.body.model);
console.log("Usage:");
console.log("\tPrompt tokens:", response.body.usage.prompt_tokens);
console.log("\tTotal tokens:", response.body.usage.total_tokens);
console.log("\tCompletion tokens:", response.body.usage.completion_tokens);
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: Meta-Llama-3.1-405B-Instruct
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

usage Granska avsnittet i svaret för att se antalet token som används för prompten, det totala antalet token som genererats och antalet token som används för slutförandet.

Strömma innehåll

Som standard returnerar API:et för slutförande hela det genererade innehållet i ett enda svar. Om du genererar långa slutföranden kan det ta många sekunder att vänta på svaret.

Du kan strömma innehållet för att hämta det när det genereras. Med strömmande innehåll kan du börja bearbeta slutförandet när innehållet blir tillgängligt. Det här läget returnerar ett objekt som strömmar tillbaka svaret som databaserade serverutskickade händelser. Extrahera segment från deltafältet i stället för meddelandefältet.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
    }
}).asNodeStream();

Om du vill strömma slutföranden använder .asNodeStream() du när du anropar modellen.

Du kan visualisera hur strömning genererar innehåll:

var stream = response.body;
if (!stream) {
    stream.destroy();
    throw new Error(`Failed to get chat completions with status: ${response.status}`);
}

if (response.status !== "200") {
    throw new Error(`Failed to get chat completions: ${response.body.error}`);
}

var sses = createSseStream(stream);

for await (const event of sses) {
    if (event.data === "[DONE]") {
        return;
    }
    for (const choice of (JSON.parse(event.data)).choices) {
        console.log(choice.delta?.content ?? "");
    }
}

Utforska fler parametrar som stöds av slutsatsdragningsklienten

Utforska andra parametrar som du kan ange i slutsatsdragningsklienten. En fullständig lista över alla parametrar som stöds och deras motsvarande dokumentation finns i API-referensen för Azure AI-modellinferens.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
        presence_penalty: "0.1",
        frequency_penalty: "0.8",
        max_tokens: 2048,
        stop: ["<|endoftext|>"],
        temperature: 0,
        top_p: 1,
        response_format: { type: "text" },
    }
});

Varning

Meta Llama-modeller stöder inte JSON-utdataformatering (response_format = { "type": "json_object" }). Du kan alltid uppmana modellen att generera JSON-utdata. Sådana utdata är dock inte garanterade att vara giltiga JSON.

Om du vill skicka en parameter som inte finns med i listan över parametrar som stöds kan du skicka den till den underliggande modellen med hjälp av extra parametrar. Se Skicka extra parametrar till modellen.

Skicka extra parametrar till modellen

Med AZURE AI Model Inference API kan du skicka extra parametrar till modellen. Följande kodexempel visar hur du skickar den extra parametern logprobs till modellen.

Innan du skickar extra parametrar till Azure AI-modellinferens-API:et kontrollerar du att din modell stöder dessa extra parametrar. När begäran görs till den underliggande modellen skickas rubriken extra-parameters till modellen med värdet pass-through. Det här värdet anger att slutpunkten ska skicka de extra parametrarna till modellen. Användning av extra parametrar med modellen garanterar inte att modellen faktiskt kan hantera dem. Läs modellens dokumentation för att förstå vilka extra parametrar som stöds.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    headers: {
        "extra-params": "pass-through"
    },
    body: {
        messages: messages,
        logprobs: true
    }
});

Följande extra parametrar kan skickas till Meta Llama-modeller:

Name beskrivning Typ
n Hur många slutföranden som ska genereras för varje fråga. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
best_of Genererar best_of slutför serversidan och returnerar den bästa (den med den lägsta loggens sannolikhet per token). Resultat kan inte strömmas. När det används med nkontrollerar best_of antalet kandidatavslut och n anger hur många som ska returneras – best_of måste vara större än n. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
logprobs Ett tal som anger att loggens sannolikheter ska inkluderas på logprobs mest sannolika token och valda token. Om logprobs till exempel är 10 returnerar API:et en lista över de 10 mest sannolika token. API:et returnerar alltid logprob för den samplade token, så det kan finnas upp till logprobs+1-element i svaret. integer
ignore_eos Om du vill ignorera EOS token och fortsätta generera token när EOS token har genererats. boolean
use_beam_search Om du vill använda strålsökning i stället för sampling. I sådana fall best_of måste vara större än 1 och temperaturen måste vara 0. boolean
stop_token_ids Lista över ID:er för token som, när de genereras, stoppar ytterligare tokengenerering. De returnerade utdata innehåller stopptoken såvida inte stopptoken är särskilda token. array
skip_special_tokens Om du vill hoppa över särskilda token i utdata. boolean

Tillämpa innehållssäkerhet

Azure AI-modellinferens-API:et stöder Azure AI-innehållssäkerhet. När du använder distributioner med Azure AI-innehållssäkerhet aktiverad passerar indata och utdata genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata.

I följande exempel visas hur du hanterar händelser när modellen identifierar skadligt innehåll i indataprompten och innehållssäkerhet är aktiverat.

try {
    var messages = [
        { role: "system", content: "You are an AI assistant that helps people find information." },
        { role: "user", content: "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills." },
    ];

    var response = await client.path("/chat/completions").post({
        body: {
            messages: messages,
        }
    });

    console.log(response.body.choices[0].message.content);
}
catch (error) {
    if (error.status_code == 400) {
        var response = JSON.parse(error.response._content);
        if (response.error) {
            console.log(`Your request triggered an ${response.error.code} error:\n\t ${response.error.message}`);
        }
        else
        {
            throw error;
        }
    }
}

Dricks

Mer information om hur du kan konfigurera och kontrollera säkerhetsinställningar för Azure AI-innehåll finns i säkerhetsdokumentationen för Azure AI-innehåll.

Kommentar

Azure AI-innehållssäkerhet är endast tillgängligt för modeller som distribueras som serverlösa API-slutpunkter.

Meta Llama-modeller

Meta Llama-modellerna innehåller följande modeller:

Meta Llama 3.1-samlingen med flerspråkiga stora språkmodeller är en samling förtränad och instruktionsjusterade generativa modeller i 8B-, 70B- och 405B-storlekar (text in/ut). Llama 3.1-instruktionsjusterade textmodeller (8B, 70B, 405B) är optimerade för användningsfall för flerspråkig dialog och överträffar många av de tillgängliga modellerna med öppen källkod och stängda modeller på vanliga branschmått.

Följande modeller är tillgängliga:

Förutsättningar

Om du vill använda Meta Llama-modeller med Azure AI Studio behöver du följande förutsättningar:

En modelldistribution

Distribution till serverlösa API:er

Meta Llama-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.

Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.

Distribution till en lokalt installerad hanterad beräkning

Meta Llama-modeller kan distribueras till vår egenhanterade hanterade slutsatsdragningslösning, som gör att du kan anpassa och kontrollera all information om hur modellen hanteras.

För distribution till en lokalt installerad hanterad beräkning måste du ha tillräckligt med kvot i din prenumeration. Om du inte har tillräckligt med tillgänglig kvot kan du använda vår tillfälliga kvotåtkomst genom att välja alternativet Jag vill använda delad kvot och jag bekräftar att slutpunkten tas bort om 168 timmar.

Inferenspaketet installerat

Du kan använda förutsägelser från den här modellen med hjälp Azure.AI.Inference av paketet från NuGet. För att installera det här paketet behöver du följande krav:

  • Slutpunkts-URL:en. Om du vill skapa klientbiblioteket måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret https://your-host-name.your-azure-region.inference.ai.azure.com, där your-host-name är värdnamnet för din unika modelldistribution och your-azure-region är den Azure-region där modellen distribueras (till exempel eastus2).
  • Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.

När du har dessa förutsättningar installerar du Azure AI-slutsatsdragningsbiblioteket med följande kommando:

dotnet add package Azure.AI.Inference --prerelease

Du kan också autentisera med Microsoft Entra-ID (tidigare Azure Active Directory). Om du vill använda autentiseringsprovidrar som medföljer Azure SDK installerar du Azure.Identity paketet:

dotnet add package Azure.Identity

Importera följande namnområden:

using Azure;
using Azure.Identity;
using Azure.AI.Inference;

I det här exemplet används även följande namnområden, men du kanske inte alltid behöver dem:

using System.Text.Json;
using System.Text.Json.Serialization;
using System.Reflection;

Arbeta med chattens slutföranden

I det här avsnittet använder du Azure AI-modellinferens-API :et med en modell för chattavslut för chatt.

Dricks

Med Azure AI-modellinferens-API:et kan du prata med de flesta modeller som distribueras i Azure AI Studio med samma kod och struktur, inklusive Meta Llama-chattmodeller.

Skapa en klient för att använda modellen

Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.

ChatCompletionsClient client = new ChatCompletionsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);

När du distribuerar modellen till en lokalt installerad onlineslutpunkt med Microsoft Entra ID-stöd kan du använda följande kodfragment för att skapa en klient.

client = new ChatCompletionsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new DefaultAzureCredential(includeInteractiveCredentials: true)
);

Kommentar

För närvarande stöder inte serverlösa API-slutpunkter användning av Microsoft Entra-ID för autentisering.

Hämta modellens funktioner

Vägen /info returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:

Response<ModelInfo> modelInfo = client.GetModelInfo();

Svaret är följande:

Console.WriteLine($"Model name: {modelInfo.Value.ModelName}");
Console.WriteLine($"Model type: {modelInfo.Value.ModelType}");
Console.WriteLine($"Model provider name: {modelInfo.Value.ModelProviderName}");
Model name: Meta-Llama-3.1-405B-Instruct
Model type: chat-completions
Model provider name: Meta

Skapa en begäran om att chatten ska slutföras

I följande exempel visas hur du kan skapa en grundläggande begäran om att slutföra chatten till modellen.

ChatCompletionsOptions requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
};

Response<ChatCompletions> response = client.Complete(requestOptions);

Svaret är följande, där du kan se modellens användningsstatistik:

Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");
Console.WriteLine($"Model: {response.Value.Model}");
Console.WriteLine("Usage:");
Console.WriteLine($"\tPrompt tokens: {response.Value.Usage.PromptTokens}");
Console.WriteLine($"\tTotal tokens: {response.Value.Usage.TotalTokens}");
Console.WriteLine($"\tCompletion tokens: {response.Value.Usage.CompletionTokens}");
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: Meta-Llama-3.1-405B-Instruct
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

usage Granska avsnittet i svaret för att se antalet token som används för prompten, det totala antalet token som genererats och antalet token som används för slutförandet.

Strömma innehåll

Som standard returnerar API:et för slutförande hela det genererade innehållet i ett enda svar. Om du genererar långa slutföranden kan det ta många sekunder att vänta på svaret.

Du kan strömma innehållet för att hämta det när det genereras. Med strömmande innehåll kan du börja bearbeta slutförandet när innehållet blir tillgängligt. Det här läget returnerar ett objekt som strömmar tillbaka svaret som databaserade serverutskickade händelser. Extrahera segment från deltafältet i stället för meddelandefältet.

static async Task StreamMessageAsync(ChatCompletionsClient client)
{
    ChatCompletionsOptions requestOptions = new ChatCompletionsOptions()
    {
        Messages = {
            new ChatRequestSystemMessage("You are a helpful assistant."),
            new ChatRequestUserMessage("How many languages are in the world? Write an essay about it.")
        },
        MaxTokens=4096
    };

    StreamingResponse<StreamingChatCompletionsUpdate> streamResponse = await client.CompleteStreamingAsync(requestOptions);

    await PrintStream(streamResponse);
}

Om du vill strömma slutföranden använder CompleteStreamingAsync du metoden när du anropar modellen. Observera att i det här exemplet omsluts anropet i en asynkron metod.

Om du vill visualisera utdata definierar du en asynkron metod för att skriva ut strömmen i konsolen.

static async Task PrintStream(StreamingResponse<StreamingChatCompletionsUpdate> response)
{
    await foreach (StreamingChatCompletionsUpdate chatUpdate in response)
    {
        if (chatUpdate.Role.HasValue)
        {
            Console.Write($"{chatUpdate.Role.Value.ToString().ToUpperInvariant()}: ");
        }
        if (!string.IsNullOrEmpty(chatUpdate.ContentUpdate))
        {
            Console.Write(chatUpdate.ContentUpdate);
        }
    }
}

Du kan visualisera hur strömning genererar innehåll:

StreamMessageAsync(client).GetAwaiter().GetResult();

Utforska fler parametrar som stöds av slutsatsdragningsklienten

Utforska andra parametrar som du kan ange i slutsatsdragningsklienten. En fullständig lista över alla parametrar som stöds och deras motsvarande dokumentation finns i API-referensen för Azure AI-modellinferens.

requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
    PresencePenalty = 0.1f,
    FrequencyPenalty = 0.8f,
    MaxTokens = 2048,
    StopSequences = { "<|endoftext|>" },
    Temperature = 0,
    NucleusSamplingFactor = 1,
    ResponseFormat = new ChatCompletionsResponseFormatText()
};

response = client.Complete(requestOptions);
Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");

Varning

Meta Llama-modeller stöder inte JSON-utdataformatering (response_format = { "type": "json_object" }). Du kan alltid uppmana modellen att generera JSON-utdata. Sådana utdata är dock inte garanterade att vara giltiga JSON.

Om du vill skicka en parameter som inte finns med i listan över parametrar som stöds kan du skicka den till den underliggande modellen med hjälp av extra parametrar. Se Skicka extra parametrar till modellen.

Skicka extra parametrar till modellen

Med AZURE AI Model Inference API kan du skicka extra parametrar till modellen. Följande kodexempel visar hur du skickar den extra parametern logprobs till modellen.

Innan du skickar extra parametrar till Azure AI-modellinferens-API:et kontrollerar du att din modell stöder dessa extra parametrar. När begäran görs till den underliggande modellen skickas rubriken extra-parameters till modellen med värdet pass-through. Det här värdet anger att slutpunkten ska skicka de extra parametrarna till modellen. Användning av extra parametrar med modellen garanterar inte att modellen faktiskt kan hantera dem. Läs modellens dokumentation för att förstå vilka extra parametrar som stöds.

requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
    AdditionalProperties = { { "logprobs", BinaryData.FromString("true") } },
};

response = client.Complete(requestOptions, extraParams: ExtraParameters.PassThrough);
Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");

Följande extra parametrar kan skickas till Meta Llama-modeller:

Name beskrivning Typ
n Hur många slutföranden som ska genereras för varje fråga. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
best_of Genererar best_of slutför serversidan och returnerar den bästa (den med den lägsta loggens sannolikhet per token). Resultat kan inte strömmas. När det används med nkontrollerar best_of antalet kandidatavslut och n anger hur många som ska returneras – best_of måste vara större än n. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
logprobs Ett tal som anger att loggens sannolikheter ska inkluderas på logprobs mest sannolika token och valda token. Om logprobs till exempel är 10 returnerar API:et en lista över de 10 mest sannolika token. API:et returnerar alltid logprob för den samplade token, så det kan finnas upp till logprobs+1-element i svaret. integer
ignore_eos Om du vill ignorera EOS token och fortsätta generera token när EOS token har genererats. boolean
use_beam_search Om du vill använda strålsökning i stället för sampling. I sådana fall best_of måste vara större än 1 och temperaturen måste vara 0. boolean
stop_token_ids Lista över ID:er för token som, när de genereras, stoppar ytterligare tokengenerering. De returnerade utdata innehåller stopptoken såvida inte stopptoken är särskilda token. array
skip_special_tokens Om du vill hoppa över särskilda token i utdata. boolean

Tillämpa innehållssäkerhet

Azure AI-modellinferens-API:et stöder Azure AI-innehållssäkerhet. När du använder distributioner med Azure AI-innehållssäkerhet aktiverad passerar indata och utdata genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata.

I följande exempel visas hur du hanterar händelser när modellen identifierar skadligt innehåll i indataprompten och innehållssäkerhet är aktiverat.

try
{
    requestOptions = new ChatCompletionsOptions()
    {
        Messages = {
            new ChatRequestSystemMessage("You are an AI assistant that helps people find information."),
            new ChatRequestUserMessage(
                "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
            ),
        },
    };

    response = client.Complete(requestOptions);
    Console.WriteLine(response.Value.Choices[0].Message.Content);
}
catch (RequestFailedException ex)
{
    if (ex.ErrorCode == "content_filter")
    {
        Console.WriteLine($"Your query has trigger Azure Content Safety: {ex.Message}");
    }
    else
    {
        throw;
    }
}

Dricks

Mer information om hur du kan konfigurera och kontrollera säkerhetsinställningar för Azure AI-innehåll finns i säkerhetsdokumentationen för Azure AI-innehåll.

Kommentar

Azure AI-innehållssäkerhet är endast tillgängligt för modeller som distribueras som serverlösa API-slutpunkter.

Meta Llama chattmodeller

Meta Llama-chattmodellerna innehåller följande modeller:

Meta Llama 3.1-samlingen med flerspråkiga stora språkmodeller är en samling förtränad och instruktionsjusterade generativa modeller i 8B-, 70B- och 405B-storlekar (text in/ut). Llama 3.1-instruktionen justerad text endast modeller (8B, 70B, 405B) är optimerade för flerspråkig dialog användning fall och överträffar många av de tillgängliga öppen källkod och stängda chattmodeller på vanliga bransch benchmarks.

Följande modeller är tillgängliga:

Förutsättningar

Om du vill använda Meta Llama-modeller med Azure AI Studio behöver du följande förutsättningar:

En modelldistribution

Distribution till serverlösa API:er

Meta Llama-chattmodeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.

Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.

Distribution till en lokalt installerad hanterad beräkning

Meta Llama-modeller kan distribueras till vår egenhanterade hanterade slutsatsdragningslösning, som gör att du kan anpassa och kontrollera all information om hur modellen hanteras.

För distribution till en lokalt installerad hanterad beräkning måste du ha tillräckligt med kvot i din prenumeration. Om du inte har tillräckligt med tillgänglig kvot kan du använda vår tillfälliga kvotåtkomst genom att välja alternativet Jag vill använda delad kvot och jag bekräftar att slutpunkten tas bort om 168 timmar.

En REST-klient

Modeller som distribueras med Azure AI-modellinferens-API :et kan användas med valfri REST-klient. Om du vill använda REST-klienten behöver du följande krav:

  • Om du vill skapa begäranden måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret https://your-host-name.your-azure-region.inference.ai.azure.com, där your-host-name`` is your unique model deployment host name and din-azure-region är den Azure-region där modellen distribueras (till exempel eastus2).
  • Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.

Arbeta med chattens slutföranden

I det här avsnittet använder du Azure AI-modellinferens-API :et med en modell för chattavslut för chatt.

Dricks

Med Azure AI-modellinferens-API:et kan du prata med de flesta modeller som distribueras i Azure AI Studio med samma kod och struktur, inklusive Meta Llama-chattmodeller.

Skapa en klient för att använda modellen

Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.

När du distribuerar modellen till en lokalt installerad onlineslutpunkt med Microsoft Entra ID-stöd kan du använda följande kodfragment för att skapa en klient.

Kommentar

För närvarande stöder inte serverlösa API-slutpunkter användning av Microsoft Entra-ID för autentisering.

Hämta modellens funktioner

Vägen /info returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:

GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json

Svaret är följande:

{
    "model_name": "Meta-Llama-3.1-405B-Instruct",
    "model_type": "chat-completions",
    "model_provider_name": "Meta"
}

Skapa en begäran om att chatten ska slutföras

I följande exempel visas hur du kan skapa en grundläggande begäran om att slutföra chatten till modellen.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ]
}

Svaret är följande, där du kan se modellens användningsstatistik:

{
    "id": "0a1234b5de6789f01gh2i345j6789klm",
    "object": "chat.completion",
    "created": 1718726686,
    "model": "Meta-Llama-3.1-405B-Instruct",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.",
                "tool_calls": null
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

usage Granska avsnittet i svaret för att se antalet token som används för prompten, det totala antalet token som genererats och antalet token som används för slutförandet.

Strömma innehåll

Som standard returnerar API:et för slutförande hela det genererade innehållet i ett enda svar. Om du genererar långa slutföranden kan det ta många sekunder att vänta på svaret.

Du kan strömma innehållet för att hämta det när det genereras. Med strömmande innehåll kan du börja bearbeta slutförandet när innehållet blir tillgängligt. Det här läget returnerar ett objekt som strömmar tillbaka svaret som databaserade serverutskickade händelser. Extrahera segment från deltafältet i stället för meddelandefältet.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "stream": true,
    "temperature": 0,
    "top_p": 1,
    "max_tokens": 2048
}

Du kan visualisera hur strömning genererar innehåll:

{
    "id": "23b54589eba14564ad8a2e6978775a39",
    "object": "chat.completion.chunk",
    "created": 1718726371,
    "model": "Meta-Llama-3.1-405B-Instruct",
    "choices": [
        {
            "index": 0,
            "delta": {
                "role": "assistant",
                "content": ""
            },
            "finish_reason": null,
            "logprobs": null
        }
    ]
}

Det sista meddelandet i strömmen har finish_reason angetts, vilket anger orsaken till att genereringsprocessen stoppas.

{
    "id": "23b54589eba14564ad8a2e6978775a39",
    "object": "chat.completion.chunk",
    "created": 1718726371,
    "model": "Meta-Llama-3.1-405B-Instruct",
    "choices": [
        {
            "index": 0,
            "delta": {
                "content": ""
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

Utforska fler parametrar som stöds av slutsatsdragningsklienten

Utforska andra parametrar som du kan ange i slutsatsdragningsklienten. En fullständig lista över alla parametrar som stöds och deras motsvarande dokumentation finns i API-referensen för Azure AI-modellinferens.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "presence_penalty": 0.1,
    "frequency_penalty": 0.8,
    "max_tokens": 2048,
    "stop": ["<|endoftext|>"],
    "temperature" :0,
    "top_p": 1,
    "response_format": { "type": "text" }
}
{
    "id": "0a1234b5de6789f01gh2i345j6789klm",
    "object": "chat.completion",
    "created": 1718726686,
    "model": "Meta-Llama-3.1-405B-Instruct",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.",
                "tool_calls": null
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

Varning

Meta Llama-modeller stöder inte JSON-utdataformatering (response_format = { "type": "json_object" }). Du kan alltid uppmana modellen att generera JSON-utdata. Sådana utdata är dock inte garanterade att vara giltiga JSON.

Om du vill skicka en parameter som inte finns med i listan över parametrar som stöds kan du skicka den till den underliggande modellen med hjälp av extra parametrar. Se Skicka extra parametrar till modellen.

Skicka extra parametrar till modellen

Med AZURE AI Model Inference API kan du skicka extra parametrar till modellen. Följande kodexempel visar hur du skickar den extra parametern logprobs till modellen.

Innan du skickar extra parametrar till Azure AI-modellinferens-API:et kontrollerar du att din modell stöder dessa extra parametrar. När begäran görs till den underliggande modellen skickas rubriken extra-parameters till modellen med värdet pass-through. Det här värdet anger att slutpunkten ska skicka de extra parametrarna till modellen. Användning av extra parametrar med modellen garanterar inte att modellen faktiskt kan hantera dem. Läs modellens dokumentation för att förstå vilka extra parametrar som stöds.

POST /chat/completions HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
extra-parameters: pass-through
{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "logprobs": true
}

Följande extra parametrar kan skickas till Meta Llama-chattmodeller:

Name beskrivning Typ
n Hur många slutföranden som ska genereras för varje fråga. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
best_of Genererar best_of slutför serversidan och returnerar den bästa (den med den lägsta loggens sannolikhet per token). Resultat kan inte strömmas. När det används med nkontrollerar best_of antalet kandidatavslut och n anger hur många som ska returneras – best_of måste vara större än n. Obs! Eftersom den här parametern genererar många slutföranden kan den snabbt förbruka din tokenkvot. integer
logprobs Ett tal som anger att loggens sannolikheter ska inkluderas på logprobs mest sannolika token och valda token. Om logprobs till exempel är 10 returnerar API:et en lista över de 10 mest sannolika token. API:et returnerar alltid logprob för den samplade token, så det kan finnas upp till logprobs+1-element i svaret. integer
ignore_eos Om du vill ignorera EOS token och fortsätta generera token när EOS token har genererats. boolean
use_beam_search Om du vill använda strålsökning i stället för sampling. I sådana fall best_of måste vara större än 1 och temperaturen måste vara 0. boolean
stop_token_ids Lista över ID:er för token som, när de genereras, stoppar ytterligare tokengenerering. De returnerade utdata innehåller stopptoken såvida inte stopptoken är särskilda token. array
skip_special_tokens Om du vill hoppa över särskilda token i utdata. boolean

Tillämpa innehållssäkerhet

Azure AI-modellinferens-API:et stöder Azure AI-innehållssäkerhet. När du använder distributioner med Azure AI-innehållssäkerhet aktiverad passerar indata och utdata genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata.

I följande exempel visas hur du hanterar händelser när modellen identifierar skadligt innehåll i indataprompten och innehållssäkerhet är aktiverat.

{
    "messages": [
        {
            "role": "system",
            "content": "You are an AI assistant that helps people find information."
        },
                {
            "role": "user",
            "content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
        }
    ]
}
{
    "error": {
        "message": "The response was filtered due to the prompt triggering Microsoft's content management policy. Please modify your prompt and retry.",
        "type": null,
        "param": "prompt",
        "code": "content_filter",
        "status": 400
    }
}

Dricks

Mer information om hur du kan konfigurera och kontrollera säkerhetsinställningar för Azure AI-innehåll finns i säkerhetsdokumentationen för Azure AI-innehåll.

Kommentar

Azure AI-innehållssäkerhet är endast tillgängligt för modeller som distribueras som serverlösa API-slutpunkter.

Fler slutsatsdragningsexempel

Fler exempel på hur du använder Meta Llama-modeller finns i följande exempel och självstudier:

beskrivning Språk Exempel
CURL-begäran Bash Länk
Azure AI-slutsatsdragningspaket för JavaScript JavaScript Länk
Azure AI-slutsatsdragningspaket för Python Python Länk
Python-webbbegäranden Python Länk
OpenAI SDK (experimentell) Python Länk
LangChain Python Länk
LiteLLM Python Länk

Kostnads- och kvotöverväganden för Meta Llama-modeller som distribueras som serverlösa API-slutpunkter

Kvot hanteras per distribution. Varje distribution har en hastighetsgräns på 200 000 token per minut och 1 000 API-begäranden per minut. För närvarande begränsar vi dock en distribution per modell per projekt. Kontakta Microsoft Azure Support om de aktuella hastighetsgränserna inte räcker för dina scenarier.

Meta Llama-modeller som distribueras som ett serverlöst API erbjuds av Meta via Azure Marketplace och integreras med Azure AI Studio för användning. Du hittar prissättningen för Azure Marketplace när du distribuerar modellen.

Varje gång ett projekt prenumererar på ett visst erbjudande från Azure Marketplace skapas en ny resurs för att spåra de kostnader som är kopplade till förbrukningen. Samma resurs används för att spåra kostnader som är associerade med slutsatsdragning. Flera mätare är dock tillgängliga för att spåra varje scenario oberoende av varandra.

Mer information om hur du spårar kostnader finns i Övervaka kostnader för modeller som erbjuds via Azure Marketplace.

Kostnads- och kvotöverväganden för Meta Llama-modeller som distribuerats till hanterad beräkning

Meta Llama-modeller som distribueras till hanterad beräkning faktureras baserat på kärntimmarna för den associerade beräkningsinstansen. Kostnaden för beräkningsinstansen bestäms av instansens storlek, antalet instanser som körs och körningens varaktighet.

Det är en bra idé att börja med ett lågt antal instanser och skala upp efter behov. Du kan övervaka kostnaden för beräkningsinstansen i Azure Portal.