Share via


Wat is de azure_local_ai-extensie voor Azure Database for PostgreSQL - Flexible Server (preview)

Met de azure_local_ai-extensie voor flexibele Azure Database for PostgreSQL-server kunt u geregistreerde, vooraf getrainde, opensource-modellen gebruiken die lokaal zijn geïmplementeerd op uw Azure Database for PostgreSQL-server. Deze modellen kunnen worden gebruikt om tekstinsluitingen te maken die context kunnen bieden voor uw RAG-patroon (Retrieval Augmented Generation) terwijl u rijke generatieve AI-toepassingen bouwt.  Met de azure_local_ai-extensie kan de database lokaal geïmplementeerde modellen aanroepen om vector-insluitingen van tekstgegevens te maken, het ontwikkelingsproces te vereenvoudigen en latentie te verminderen door de noodzaak om meer externe API-aanroepen te doen voor AI-insluitingsmodellen die buiten de grens van PostgreSQL worden gehost. In deze release implementeert de extensie één model, meertalige e5-small, in uw Azure Database for PostgreSQL Flexible Server-exemplaar. Andere opensource-modellen van derden zijn mogelijk doorlopend beschikbaar voor installatie.

Lokale insluitingen helpen klanten:

  • Verminder de latentie van het maken van insluiten.

  • Gebruik insluitingsmodellen tegen voorspelbare kosten.

  • Zorg ervoor dat gegevens in hun database niet meer nodig zijn om gegevens naar een extern eindpunt te verzenden.

Belangrijk

De azure_local_ai-extensie is momenteel beschikbaar als preview-versie. Opensource AI-modellen van Microsoft voor installatie via de Lokale AI-extensie van Azure worden beschouwd als niet-Microsoft-producten onder de Microsoft-productvoorwaarden. Het gebruik van opensource-AI-modellen door de klant wordt bepaald door de afzonderlijke licentievoorwaarden in productdocumentatie die zijn gekoppeld aan dergelijke modellen die beschikbaar worden gesteld via de azure_local_ai-extensie. Aanvullende gebruiksvoorwaarden: AI-services met beperkte toegang (previews)

De azure_local_ai extensie inschakelen (preview)

Voordat u azure_local_ai kunt inschakelen op uw exemplaar van flexibele Azure Database for PostgreSQL-server, moet u deze toevoegen aan uw acceptatielijst, zoals beschreven in het gebruik van PostgreSQL-extensies en controleren of deze juist is toegevoegd door de volgende SQL-instructie uit te voeren. SHOW azure.extensions;

Belangrijk

Voor het hosten van taalmodellen in de database is een grote geheugenvoetafdruk vereist. Ter ondersteuning van deze vereiste wordt azure_local_ai alleen ondersteund op door het geheugen geoptimaliseerde Azure VM-SKU's met minimaal 4 vCores. Als u momenteel een VIRTUELE machine gebruikt die niet voldoet aan de minimale vereisten, wordt de azure_local_ai-extensie niet weergegeven in de lijst met beschikbare extensies in serverparameters. Selecteer Serverparameters in de sectie Instellingen van het resourcemenu op de azure-portalpagina van Azure Database for PostgreSQL Flexible Server.

Schermopname van de pagina Parameters van PostgreSQL-server.

Zoek naar extensies of azure.extensions

Schermopname van extensies die beschikbaar zijn voor allowlist voor Azure Database for Postgresql - Flexibele server.

Selecteer AZURE_LOCAL_AI in de lijst met extensies.

Schermopname van de allowlist-schermafbeelding van extensies voor de Azure Local AI-extensie.

Selecteer Opslaan om de wijzigingen toe te passen en het implementatieproces voor de acceptatielijst te starten.

Schermopname van extensies die zijn opgeslagen om toe te staan voor de Azure Local AI-extensie.

U kunt deze implementatie bewaken via het belpictogram boven aan Azure Portal.

Schermopname van de implementatiestatus van extensies voor de lokale AI-extensie van Azure.

Zodra de implementatie van de acceptatielijst is voltooid, kunt u doorgaan met het installatieproces.

Notitie

Als u Azure Local AI Preview inschakelt, wordt het meertalige e5-kleine model geïmplementeerd in uw Azure Database for PostgreSQL Flexible Server-exemplaar. De gekoppelde documentatie bevat licentievoorwaarden van het e5-team. Er kunnen doorlopend extra opensource-modellen van derden beschikbaar komen voor installatie.

U kunt de extensie nu installeren door verbinding te maken met uw doeldatabase en de opdracht CREATE EXTENSION uit te voeren. U moet de opdracht afzonderlijk herhalen voor elke database waarin u wilt dat de extensie beschikbaar is.

Lijstextensies zijn toegestaan op de database vanaf de pagina Serverparameters in Azure Portal.

SHOW azure.extensions;

Maak de extensie in de database.

CREATE EXTENSION azure_local_ai;

Als u de extensie installeert azure_local_ai maakt u het volgende schema:

  • azure_local_ai: principal-schema waarin de extensie tabellen, functies en andere SQL-gerelateerde objecten maakt die nodig zijn om de functionaliteit ervan te implementeren en beschikbaar te maken.

Belangrijk

U wilt de vectorextensie inschakelen, omdat het vereist is om tekst insluitingen op te slaan in uw PostgreSQL-database.

Functies die worden geleverd door de azure_local_ai-extensie

De azure_local_ai-extensie biedt een set functies. Met deze functies kunt u vector-insluitingen maken op basis van tekstgegevens, zodat u eenvoudiger generatieve AI-toepassingen kunt ontwikkelen. De extensie biedt functies voor het maken van insluitingen, het ophalen van instellingen en meer. Door deze functies te gebruiken, kunt u het ontwikkelingsproces vereenvoudigen en latentie verminderen door extra externe API-aanroepen naar AI-insluitingsmodellen die buiten de grens van PostgreSQL worden gehost, te elimineren.

Schema Naam Resultaatgegevenstype Argumentgegevenstypen
azure_local_ai create_embeddings TABLE(insluiten van real[]) model_uri tekst, invoertekst[], batch_size bigint DEFAULT 128, timeout_ms geheel getal DEFAULT 3600000
azure_local_ai create_embeddings real[] model_uri tekst, invoertekst, timeout_ms geheel getal DEFAULT 3600000
azure_local_ai get_setting jsonb toetsentekst[] STANDAARDMATRIX[]::text[], timeout_ms geheel getal STANDAARD 36000000
azure_local_ai get_setting sms verzenden sleuteltekst, timeout_ms geheel getal DEFAULT 3600000
azure_local_ai model_metadata jsonb tekst model_uri

Deze kunnen worden weergegeven via de PSQL-opdracht,

\df azure_local_ai.*

azure_local_ai.create_embeddings

Met de azure_local_ai-extensie kunt u insluitingen maken en bijwerken, zowel in scalaire als batch-indeling, waardoor de lokaal geïmplementeerde LLM wordt aangeroepen.

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);

Argumenten

model_uri

text naam van het insluitmodel voor tekst dat is aangeroepen om het insluiten te maken.

input

text of text[] één tekst of matrix van teksten, afhankelijk van de overbelasting van de gebruikte functie, waarvoor insluitingen worden gemaakt.

batch_size

bigint DEFAULT 128 aantal records dat tegelijk moet worden verwerkt (alleen beschikbaar voor de overbelasting van de functie waarvoor de parameter input van het type text[]is).

timeout_ms

integer DEFAULT 3600000 time-out in milliseconden waarna de bewerking is gestopt.

Voorbeelden van eenvoudige insluitingen maken:

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']);

De azure_local_ai-extensieversie controleren

SELECT * FROM pg_available_extensions
WHERE NAME ='azure_local_ai';

ONNX Runtime-configuratie

azure_local_ai.get_setting

Wordt gebruikt om de huidige waarden van configuratieopties te verkrijgen.

SELECT azure_local_ai.get_setting(key TEXT)

azure_local_ai ondersteunt het controleren van de configuratieparameters van ONNX Runtime-threadpool binnen de ONNX Runtime-service. Wijzigingen zijn op dit moment niet toegestaan. Zie PRESTATIES van ONNX Runtime afstemmen.

Argumenten

Sleutel

Geldige waarden voor de key volgende zijn:

  • intra_op_parallelism: Hiermee stelt u het totale aantal threads in dat wordt gebruikt voor het parallelliseren van één operator door ONNX Runtime-thread-pool. Standaard maximaliseren we het aantal intra-ops-threads zoveel mogelijk, omdat de totale doorvoer veel wordt verbeterd (standaard alle beschikbare CPU's).
  • inter_op_parallelism: Hiermee stelt u het totale aantal threads in dat wordt gebruikt voor het parallel berekenen van meerdere operators door ONNX Runtime-thread-pool. Standaard stellen we deze in op minimaal mogelijke threads, namelijk 1. Het verhogen doet vaak pijn aan de prestaties als gevolg van frequente contextswitches tussen threads.
  • spin_control: schakelt ONNX Runtime thread-pool draaien voor aanvragen. Wanneer deze optie is uitgeschakeld, wordt minder cpu gebruikt en wordt er dus meer latentie veroorzaakt. Deze is standaard ingesteld op true (ingeschakeld).

Retourtype

TEXT de huidige waarde van de geselecteerde instelling weergeven.