Dela via


Självstudie: Kom igång med DeepSeek-R1 resonemangsmodell i Azure AI Foundry Models

I den här självstudien får du lära dig hur du distribuerar och använder en DeepSeek-resonemangsmodell i Azure AI Foundry. I den här självstudien används DeepSeek-R1 som illustration. Innehållet gäller dock även för den nyare resonemangsmodellen DeepSeek-R1-0528 .

Stegen du utför i den här självstudien är:

  • Skapa och konfigurera Azure-resurserna så att de använder DeepSeek-R1 i Azure AI Foundry Models.
  • Konfigurera modelldistributionen.
  • Använd DeepSeek-R1 med Azure AI Inference SDK eller REST API:er.
  • Använd DeepSeek-R1 med andra SDK:er.

Förutsättningar

För att slutföra den här artikeln behöver du:

Resonemangsmodeller

Resonemangsmodeller kan nå högre prestandanivåer inom domäner som matematik, kodning, vetenskap, strategi och logistik. Det sätt som dessa modeller producerar utdata på är genom att uttryckligen använda tankekedjan för att utforska alla möjliga sökvägar innan du genererar ett svar. De verifierar sina svar när de producerar dem, vilket hjälper till att komma fram till mer exakta slutsatser. Därför kan resonemangsmodeller kräva mindre kontext för att uppnå effektiva resultat.

Det här sättet att skala en modells prestanda kallas inferensberäkningstid eftersom den byter prestanda mot högre svarstid och kostnad. Andra metoder kan däremot skalas genom träningsberäkningstid.

Resonemangsmodeller skapar två typer av innehåll som utdata:

  • Slutförande av resonemang
  • Utdatakompletteringar

Båda dessa slutföranden räknas mot innehåll som genereras från modellen. Därför bidrar de till de tokengränser och kostnader som är associerade med modellen. Vissa modeller, till exempel DeepSeek-R1, kan svara med resonemangsinnehållet. Andra, till exempel o1, matar bara ut resultaten.

Skapa resurserna

Foundry Models är en funktion i Azure AI Foundry-resurser i Azure. Du kan skapa modellutplaceringar inom resursen för att konsumera deras förutsägelser. Du kan också ansluta resursen till Azure AI-hubbar och projekt i Azure AI Foundry för att skapa intelligenta program om det behövs.

Följ dessa steg för att skapa ett Azure AI-projekt som stöder distribution för DeepSeek-R1. Du kan också skapa resurserna med hjälp av Azure CLI eller infrastruktur som kod med Bicep.

Tips/Råd

Eftersom du kan anpassa det vänstra fönstret i Azure AI Foundry-portalen kan du se andra objekt än vad som visas i de här stegen. Om du inte ser det du letar efter väljer du ... Mer längst ned i det vänstra fönstret.

  1. Logga in på Azure AI Foundry-portalen.

  2. På landningssidan går du till avsnittet Utforska modeller och funktioner och väljer Gå till fullständig modellkatalog för att öppna modellkatalogen. En skärmbild av startsidan för Foundry-portalen som visar avsnittet modellkatalog.

  3. Sök efter DeepSeek-R1-modellen och öppna dess modellkort.

  4. Välj Använd den här modellen. Den här åtgärden öppnar en guide för att skapa ett Azure AI Foundry-projekt och resurser som du kommer att arbeta i. Du kan behålla standardnamnet för projektet eller ändra det.

    Tips/Råd

    Använder du Azure OpenAI i Azure AI Foundry Models? När du är ansluten till Azure AI Foundry-portalen med hjälp av en Azure OpenAI-resurs visas endast Azure OpenAI-modeller i katalogen. Om du vill visa den fullständiga listan över modeller, inklusive DeepSeek-R1, använder du det översta avsnittet Meddelanden och letar upp kortet med alternativet Utforska fler modeller.

    Skärmbild som visar kortet med alternativet att utforska alla modeller från katalogen.

    Ett nytt fönster visas med en fullständig lista över modeller. Välj DeepSeek-R1 i listan och välj Distribuera. Trollkarlen ber om att skapa ett nytt projekt.

  5. Välj listrutan i avsnittet "Avancerade alternativ" i guiden för att se information om inställningar och andra standardinställningar som skapats tillsammans med projektet. Dessa standardvärden har valts för optimala funktioner och omfattar:

    Fastighet Beskrivning
    Resursgrupp Huvudcontainern för alla resurser i Azure. Den här containern hjälper dig att organisera resurser som fungerar tillsammans. Det hjälper också till att ha ett omfång för de kostnader som är kopplade till hela projektet.
    Region Regionen för de resurser som du skapar.
    Azure AI Foundry-resurs Resursen som ger åtkomst till flaggskeppsmodellerna i Azure AI-modellkatalogen. I den här självstudien skapas ett nytt konto, men Azure AI Foundry-resurser (kallades tidigare Azure AI Services-resurs) kan delas mellan flera hubbar och projekt. Hubbar använder en anslutning till resursen för att komma åt de modeller som har implementerats där. Information om hur du kan skapa anslutningar till Azure AI Foundry-resurser för att använda modeller finns i Ansluta ditt AI-projekt.
  6. Välj Skapa för att skapa Foundry-projektet tillsammans med de andra standardvärdena. Vänta tills projektet har skapats. Den här processen tar några minuter.

Distribuera modellen

  1. När du skapar projektet och resurserna visas en distributionsguide. DeepSeek-R1 är tillgänglig som en Foundry-modell som säljs direkt av Azure. Du kan granska prisinformationen för modellen genom att välja fliken DeepSeek på prissidan för Azure AI Foundry Models.

  2. Konfigurera distributionsinställningarna. Som standard tar distributionen emot namnet på den modell som du distribuerar. Distributionsnamnet används i parametern model för begäranden att dirigera till den här modelldistributionen. Med den här konfigurationen kan du konfigurera specifika namn för dina modeller när du kopplar specifika konfigurationer.

  3. Azure AI Foundry väljer automatiskt den Foundry-resurs som du skapade tidigare med projektet. Använd alternativet Anpassa för att ändra anslutningen baserat på dina behov. DeepSeek-R1 erbjuds för närvarande under distributionstypen Global Standard , vilket ger högre dataflöde och prestanda.

    Skärmbild som visar hur du distribuerar modellen.

  4. Välj Distribuera.

  5. När distributionen är klar öppnas sidan distributionsinformation . Nu är den nya modellen redo att användas.

Använd modellen på lekplatsen

Du kan komma igång med modellen på lekplatsen för att få en uppfattning om modellens funktioner.

  1. På sidan distributionsinformation väljer du Öppna på lekplatsen i det övre fältet. Den här åtgärden öppnar chattlekplatsen.

  2. I listrutan Distribution på chattlekplatsen väljs redan den distribution som du skapade automatiskt.

  3. Konfigurera systemprompten efter behov. I allmänhet använder inte resonemangsmodeller systemmeddelanden på samma sätt som andra typer av modeller.

    Skärmbild som visar hur du väljer en modelldistribution som ska användas på playground, konfigurerar systemmeddelandet och testar det.

  4. Skriv din uppmaning och se resultaten.

  5. Använd Visa kod för att se information om hur du kommer åt modelldistributionen programmatiskt.

Modeller för att stimulera resonemang

När du skapar frågor om resonemangsmodeller bör du tänka på följande:

  • Använd enkla instruktioner och undvik att använda tankekedja.
  • Inbyggda resonemangsförmågor gör enkla zero-shot-promptar lika effektiva som mer komplexa metoder.
  • När du tillhandahåller ytterligare kontext eller dokument, till exempel i RAG-scenarier, kan endast den mest relevanta informationen bidra till att förhindra att modellen överkomplicerar sitt svar.
  • Resonemangsmodeller kan ha stöd för användning av systemmeddelanden. De kanske dock inte följer dem lika strikt som andra modeller som inte är resonemangsmodeller.
  • När du skapar program med flera interaktioner bör du överväga att bara lägga till det slutliga svaret från modellen, utan resonemangsinnehållet, som förklaras i avsnittet Resonemangsinnehåll .

Observera att det kan ta längre tid för resonemangsmodeller att generera svar. De använder långa tankekedjor som möjliggör djupare och mer strukturerad problemlösning. De utför också självverifiering för att korskontrollera sina svar och korrigera sina misstag, vilket visar framväxande självreflekterande beteenden.

Använda modellen i koden

Använd slutpunkten för Foundry Models och autentiseringsuppgifterna för att ansluta till modellen:

Skärmbild som visar hur du hämtar url:en och nyckeln som är associerad med distributionen.

Använd Azure AI Model Inference-paketet för att använda modellen i koden:

Installera paketet azure-ai-inference med hjälp av pakethanteraren, till exempel pip:

pip install azure-ai-inference

Sedan kan du använda paketet för att konsumera modellen. I följande exempel visas hur du skapar en klient för att hantera chattavslut:

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

client = ChatCompletionsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
)

Utforska våra exempel och läs API-referensdokumentationen för att komma igång.

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

response = client.complete(
    messages=[
        UserMessage(content="How many languages are in the world?"),
    ],
    model="DeepSeek-R1"
)

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

Resonemang kan generera längre svar och förbruka ett större antal token. Du kan se de hastighetsgränser som gäller för DeepSeek-R1 modeller. Överväg att ha en strategi för återförsök för att hantera hastighetsbegränsningar. Du kan också begära ökningar av standardgränserna.

Resonemangsinnehåll

Vissa resonemangsmodeller, till exempel DeepSeek-R1, genererar slutföranden och inkluderar resonemanget bakom dem. Det resonemang som är associerat med slutförandet ingår i svarets innehåll i taggarna <think> och </think>. Modellen kan välja de scenarier som du vill generera resonemangsinnehåll för. I följande exempel visas hur du genererar resonemangsinnehållet med hjälp av Python:

import re

match = re.match(r"<think>(.*?)</think>(.*)", response.choices[0].message.content, re.DOTALL)

print("Response:", )
if match:
    print("\tThinking:", match.group(1))
    print("\tAnswer:", match.group(2))
else:
    print("\tAnswer:", 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)
Thinking: Okay, the user is asking how many languages exist in the world. I need to provide a clear and accurate answer. Let's start by recalling the general consensus from linguistic sources. I remember that the number often cited is around 7,000, but maybe I should check some reputable organizations.\n\nEthnologue is a well-known resource for language data, and I think they list about 7,000 languages. But wait, do they update their numbers? It might be around 7,100 or so. Also, the exact count can vary because some sources might categorize dialects differently or have more recent data. \n\nAnother thing to consider is language endangerment. Many languages are endangered, with some having only a few speakers left. Organizations like UNESCO track endangered languages, so mentioning that adds context. Also, the distribution isn't even. Some countries have hundreds of languages, like Papua New Guinea with over 800, while others have just a few. \n\nA user might also wonder why the exact number is hard to pin down. It's because the distinction between a language and a dialect can be political or cultural. For example, Mandarin and Cantonese are considered dialects of Chinese by some, but they're mutually unintelligible, so others classify them as separate languages. Also, some regions are under-researched, making it hard to document all languages. \n\nI should also touch on language families. The 7,000 languages are grouped into families like Indo-European, Sino-Tibetan, Niger-Congo, etc. Maybe mention a few of the largest families. But wait, the question is just about the count, not the families. Still, it's good to provide a bit more context. \n\nI need to make sure the information is up-to-date. Let me think – recent estimates still hover around 7,000. However, languages are dying out rapidly, so the number decreases over time. Including that note about endangerment and language extinction rates could be helpful. For instance, it's often stated that a language dies every few weeks. \n\nAnother point is sign languages. Does the count include them? Ethnologue includes some, but not all sources might. If the user is including sign languages, that adds more to the count, but I think the 7,000 figure typically refers to spoken languages. For thoroughness, maybe mention that there are also over 300 sign languages. \n\nSummarizing, the answer should state around 7,000, mention Ethnologue's figure, explain why the exact number varies, touch on endangerment, and possibly note sign languages as a separate category. Also, a brief mention of Papua New Guinea as the most linguistically diverse country. \n\nWait, let me verify Ethnologue's current number. As of their latest edition (25th, 2022), they list 7,168 living languages. But I should check if that's the case. Some sources might round to 7,000. Also, SIL International publishes Ethnologue, so citing them as reference makes sense. \n\nOther sources, like Glottolog, might have a different count because they use different criteria. Glottolog might list around 7,000 as well, but exact numbers vary. It's important to highlight that the count isn't exact because of differing definitions and ongoing research. \n\nIn conclusion, the approximate number is 7,000, with Ethnologue being a key source, considerations of endangerment, and the challenges in counting due to dialect vs. language distinctions. I should make sure the answer is clear, acknowledges the variability, and provides key points succinctly.

Answer: The exact number of languages in the world is challenging to determine due to differences in definitions (e.g., distinguishing languages from dialects) and ongoing documentation efforts. However, widely cited estimates suggest there are approximately **7,000 languages** globally.
Model: DeepSeek-R1
Usage: 
  Prompt tokens: 11
  Total tokens: 897
  Completion tokens: 886

Parameterar

I allmänhet stöder inte resonemangsmodeller följande parametrar som du kan hitta i modeller för chattens slutförande:

  • Temperatur
  • Närvarostraff
  • Upprepningsstraff
  • Parameter top_p