Dela via


Vad är det azure_local_ai tillägget för Azure Database for PostgreSQL – flexibel server (förhandsversion)

Med det azure_local_ai tillägget för Azure Database for PostgreSQL flexibel server kan du använda registrerade, förtränad modeller med öppen källkod som distribuerats lokalt till din Azure Database for PostgreSQL-server. Dessa modeller kan användas för att skapa textbäddningar som kan ge kontext till ditt RAG-mönster (Retrieval Augmented Generation) när du skapar omfattande generativa AI-program.  Med tillägget azure_local_ai kan databasen anropa lokalt distribuerade modeller för att skapa vektorinbäddningar från textdata, förenkla utvecklingsprocessen och minska svarstiden genom att ta bort behovet av att göra fler fjärranslutna API-anrop till AI-inbäddningsmodeller som finns utanför PostgreSQL-gränsen. I den här versionen distribuerar tillägget en enda modell, multilingual-e5-small, till din Azure Database for PostgreSQL – flexibel serverinstans. Andra modeller med öppen källkod från tredje part kan bli tillgängliga för installation kontinuerligt.

Lokala inbäddningar hjälper kunder:

  • Minska svarstiden för att skapa inbäddning.

  • Använd inbäddningsmodeller till en förutsägbar kostnad.

  • Håll data i databasen, vilket eliminerar behovet av att överföra data till en fjärrslutpunkt.

Under den här offentliga förhandsversionen kommer azure_local_ai-tillägget att vara tillgängligt i dessa Azure-regioner:

 

  • Australien, östra

  • USA, östra

  • Centrala Frankrike

  • Japan, östra

  • Storbritannien, södra

  • Europa, västra

  • USA, västra

Den här förhandsgranskningsfunktionen är också endast tillgänglig för nyligen distribuerade Azure Database for PostgreSQL– flexibla serverinstanser.

Viktigt!

Tillägget azure_local_ai finns för närvarande i förhandsversion. Microsofts AI-modeller med öppen källkod för installation via Azure Local AI-tillägget betraktas som icke-Microsoft-produkter enligt Microsofts produktvillkor. Kundens användning av AI-modeller med öppen källkod styrs av de separata licensvillkoren i produktdokumentationen som är associerade med sådana modeller som görs tillgängliga via azure_local_ai-tillägget. Kompletterande användningsvillkor: AI-tjänster med begränsad åtkomst (förhandsversioner)

azure_local_ai Aktivera tillägget (förhandsversion)

Innan du kan aktivera azure_local_ai på din flexibla Azure Database for PostgreSQL-serverinstans måste du lägga till den i listan över tillåtna enligt beskrivningen i hur du använder PostgreSQL-tillägg och kontrollera att den har lagts till korrekt genom att köra följande SQL-instruktion, SHOW azure.extensions;.

Viktigt!

Värd för språkmodeller i databasen kräver ett stort minnesfotavtryck. För att stödja detta krav stöds azure_local_ai endast på minnesoptimerade SKU:er för virtuella Azure-datorer med minst 4 virtuella kärnor. Om du i dag använder en virtuell dator som inte uppfyller minimikraven visas inte tillägget azure_local_ai i listan över tillgängliga tillägg i serverparametrar. Välj Serverparametrar i avsnittet Inställningar i resursmenyn på Azure Database for PostgreSQL– flexibel server på azure-portalsidan.

Skärmbild av sidan PostgreSQL-serverparametrar.

Sök efter "tillägg" eller "azure.extensions"

Skärmbild av tillägg som är tillgängliga för listan över tillåtna för Azure Database for Postgresql – flexibel server.

Välj AZURE_LOCAL_AI i tilläggslistan.

Skärmbild av listan över tillåtna tillägg för Azure Local AI-tillägget.

Välj Spara för att tillämpa ändringarna och påbörja distributionsprocessen för listan över tillåtna.

Skärmbild av tillägg som sparats för listan över tillåtna för Azure Local AI-tillägget.

Du kan övervaka den här distributionen via klockikonen överst i Azure-portalen.

Skärmbild av status för tillåtna tilläggsdistribution för Azure Local AI-tillägget.

När distributionen av listan över tillåtna är klar kan du fortsätta med installationsprocessen.

Kommentar

Om du aktiverar förhandsversionen av Azure Local AI distribueras modellen multilingual-e5-small till din Azure Database for PostgreSQL – flexibel serverinstans. Den länkade dokumentationen innehåller licensvillkor från e5-teamet. Ytterligare modeller med öppen källkod från tredje part kan bli tillgängliga för installation kontinuerligt.

Nu kan du installera tillägget genom att ansluta till måldatabasen och köra kommandot CREATE EXTENSION . Du måste upprepa kommandot separat för varje databas där du vill att tillägget ska vara tillgängligt.

Listtillägg tillåts i databasen från sidan Azure-portalen – Serverparametrar.

SHOW azure.extensions;

Skapa tillägget i databasen.

CREATE EXTENSION azure_local_ai;

När du installerar tillägget azure_local_ai skapas följande schema:

  • azure_local_ai: huvudschema där tillägget skapar tabeller, funktioner och andra SQL-relaterade objekt som krävs för att implementera och exponera dess funktioner.

Viktigt!

Du vill aktivera vektortillägget eftersom det krävs för att lagra textinbäddningar i PostgreSQL-databasen.

Funktioner som tillhandahålls av azure_local_ai-tillägget

Tillägget azure_local_ai innehåller en uppsättning funktioner. Med de här funktionerna kan du skapa vektorbäddningar från textdata, vilket gör det enklare att utveckla generativa AI-program. Tillägget erbjuder funktioner för att skapa inbäddningar, hämta inställningar med mera. Med hjälp av dessa funktioner kan du förenkla utvecklingsprocessen och minska svarstiden genom att eliminera behovet av ytterligare fjärranslutna API-anrop till AI-inbäddningsmodeller som finns utanför PostgreSQL-gränsen.

Schema Name Resultatdatatyp Argumentdatatyper
azure_local_ai create_embeddings TABLE(bäddar in verkligt[]) model_uri text, matar in text[], batch_size bigint DEFAULT 128, timeout_ms heltal DEFAULT 3600000
azure_local_ai create_embeddings real[] model_uri text, indatatext, timeout_ms heltal STANDARD 3600000
azure_local_ai get_setting jsonb keys text[] DEFAULT ARRAY[]::text[], timeout_ms heltal DEFAULT 3600000
azure_local_ai get_setting text nyckeltext, timeout_ms heltal STANDARD 3600000
azure_local_ai model_metadata jsonb model_uri text

Dessa kan visas via PSQL-kommandot,

\df azure_local_ai.*

azure_local_ai.create_embeddings

Med tillägget azure_local_ai kan du skapa och uppdatera inbäddningar både i skalärt och batchformat och anropa den lokalt distribuerade LLM.

azure_local_ai.create_embeddings(model_uri text, input text, batch_size bigint DEFAULT 128, timeout_ms integer DEFAULT 3600000);
azure_local_ai.create_embeddings(model_uri text, array[inputs [text]], batch_size bigint DEFAULT 128, timeout_ms integer DEFAULT 3600000);

Argument

model_uri

text namnet på den textinbäddningsmodell som anropas för att skapa inbäddningen.

input

text eller text[] enskild text eller matris med texter, beroende på överbelastningen av den funktion som används, för vilken inbäddningar skapas.

batch_size

bigint DEFAULT 128 antal poster som ska bearbetas åt gången (endast tillgängligt för överlagring av funktionen för vilken parametern input är av typen text[]).

timeout_ms

integer DEFAULT 3600000 timeout i millisekunder varefter åtgärden stoppas.

Exempel på enkla inbäddningar för att skapa:

SELECT azure_local_ai.create_embeddings('model_uri TEXT', 'query: input TEXT');
SELECT azure_local_ai.create_embeddings('multilingual-e5-small:v1', 'query: Vector databases are awesome');
SELECT azure_local_ai.create_embeddings('model_uri TEXT', array['input TEXT', 'input TEXT']);
SELECT azure_local_ai.create_embeddings('multilingual-e5-small:v1', array['Hello', 'World']);

Kontrollera azure_local_ai-tilläggsversionen

SELECT * FROM pg_available_extensions
WHERE NAME ='azure_local_ai';

ONNX Runtime-konfiguration

azure_local_ai.get_setting

Används för att hämta aktuella värden för konfigurationsalternativ.

SELECT azure_local_ai.get_setting(key TEXT)

azure_local_ai stöder granskning av konfigurationsparametrarna för ONNX Runtime-trådpoolen i ONNX Runtime-tjänsten. Ändringar tillåts inte just nu. Se PRESTANDAjustering för ONNX Runtime.

Argument

Nyckel

Giltiga värden för key är:

  • intra_op_parallelism: Anger totalt antal trådar som används för parallellisering av en enskild operator med ONNX Runtime-trådpool. Som standard maximerar vi antalet intra ops-trådar så mycket som möjligt eftersom det förbättrar det totala dataflödet mycket (alla tillgängliga processorer som standard).
  • inter_op_parallelism: Anger totalt antal trådar som används för att beräkna flera operatorer parallellt med ONNX Runtime-trådpoolen. Som standard anger vi den till minsta möjliga tråd, vilket är 1. Att öka det skadar ofta prestanda på grund av frekventa kontextväxlar mellan trådar.
  • spin_control: Växlar ONNX Runtime-trådpoolens spinning för begäranden. När den är inaktiverad använder den mindre cpu och orsakar därmed mer svarstid. Som standard är den inställd på true (aktiverad).

Returtyp

TEXT representerar det aktuella värdet för den valda inställningen.