Sdílet prostřednictvím


Co je rozšíření azure_local_ai pro flexibilní server Azure Database for PostgreSQL (Preview)

Rozšíření azure_local_ai pro flexibilní server Azure Database for PostgreSQL umožňuje používat zaregistrované, předem natrénované opensourcové modely nasazené místně na server Azure Database for PostgreSQL. Tyto modely se dají použít k vytváření vkládání textu, které můžou poskytovat kontext vzoru rag (Retrieval Augmented Generation) při vytváření bohatých aplikací pro generování AI.  Rozšíření azure_local_ai umožňuje databázi volat místně nasazené modely k vytváření vektorových vkládání z textových dat, zjednodušení procesu vývoje a snížení latence odebráním nutnosti provádět vzdálenější volání rozhraní API do modelů vložených do AI hostovaných mimo hranice PostgreSQL. V této verzi rozšíření nasadí do instance flexibilního serveru Azure Database for PostgreSQL jeden model s vícejazyčným e5-small. Další opensourcové modely třetích stran se můžou průběžně zpřístupnit pro instalaci.

Místní vkládání pomáhá zákazníkům:

  • Snižte latenci vytváření vkládání.

  • Používejte modely vkládání s předvídatelnými náklady.

  • Udržujte data v databázi a eliminujte nutnost přenášet data do vzdáleného koncového bodu.

Během této verze Public Preview bude rozšíření azure_local_ai dostupné v těchto oblastech Azure:

 

  • Austrálie – východ

  • USA – východ

  • Francie – střed

  • Japonsko – východ

  • Velká Británie – jih

  • Západní Evropa

  • USA – západ

Tato funkce Preview je dostupná jenom pro nově nasazené instance flexibilního serveru Azure Database for PostgreSQL.

Důležité

Rozšíření azure_local_ai je aktuálně ve verzi Preview. Opensourcové modely AI od Microsoftu pro instalaci prostřednictvím rozšíření Azure Local AI se považují za produkty jiné společnosti než Microsoft v rámci podmínek produktů Společnosti Microsoft. Použití opensourcových modelů AI zákazníka se řídí samostatnými licenčními podmínkami uvedenými v dokumentaci k produktům, které jsou k dispozici prostřednictvím rozšíření azure_local_ai. Doplňkové podmínky použití: Služby AI s omezeným přístupem (Preview)

azure_local_ai Povolení rozšíření (Preview)

Než budete moct povolit azure_local_ai na instanci flexibilního serveru Azure Database for PostgreSQL, musíte ji přidat do seznamu povolených, jak je popsáno v tom, jak používat rozšíření PostgreSQL, a zkontrolovat, jestli byla správně přidaná spuštěním následujícího příkazu SHOW azure.extensions;SQL.

Důležité

Hostování jazykových modelů v databázi vyžaduje velké nároky na paměť. Pro podporu tohoto požadavku se azure_local_ai podporuje pouze u skladových položek virtuálních počítačů Azure optimalizovaných pro paměť s minimálně 4 virtuálními jádry. Pokud dnes používáte virtuální počítač, který nesplňuje minimální požadavky, rozšíření azure_local_ai se nezobrazí v seznamu dostupných rozšíření v parametrech serveru. V části Nastavení nabídky prostředků na stránce Webu Azure Portal flexibilního serveru Azure Database for PostgreSQL vyberte parametry serveru.

Snímek obrazovky se stránkou parametrů serveru PostgreSQL

Vyhledejte "rozšíření" nebo "azure.extensions".

Snímek obrazovky s dostupnými rozšířeními pro flexibilní server Azure Database for Postgresql

V seznamu rozšíření vyberte AZURE_LOCAL_AI.

Snímek obrazovky s seznamem povolených rozšíření rozšíření Azure Local AI

Vyberte Uložit , aby se změny použily, a spusťte proces nasazení seznamu povolených.

Snímek obrazovky s rozšířeními uloženými do seznamu povolených pro rozšíření Azure Local AI

Toto nasazení můžete monitorovat pomocí ikony zvonku v horní části webu Azure Portal.

Snímek obrazovky se stavem nasazení seznamu povolených rozšíření rozšíření Azure Local AI

Po dokončení nasazení seznamu povolených položek můžete pokračovat v procesu instalace.

Poznámka:

Povolením verze Azure Local AI Preview nasadíte do instance flexibilního serveru Azure Database for PostgreSQL vícejazyčný model e5-small . Propojená dokumentace poskytuje licenční podmínky od týmu e5. Další opensourcové modely třetích stran se můžou průběžně zpřístupnit pro instalaci.

Teď můžete rozšíření nainstalovat připojením k cílové databázi a spuštěním příkazu CREATE EXTENSION . Tento příkaz je potřeba opakovat zvlášť pro každou databázi, ve které chcete, aby rozšíření bylo dostupné.

Rozšíření seznamu jsou povolená na webu Azure Portal – Parametry serveru.

SHOW azure.extensions;

Vytvořte rozšíření v databázi.

CREATE EXTENSION azure_local_ai;

Instalace rozšíření azure_local_ai vytvoří následující schéma:

  • azure_local_ai: schéma objektu zabezpečení, ve kterém rozšíření vytváří tabulky, funkce a všechny ostatní objekty související s SQL, které vyžaduje k implementaci a zveřejnění jeho funkcí.

Důležité

Chcete povolit vektorové rozšíření, protože je nutné ukládat vkládání textu do databáze PostgreSQL.

Funkce poskytované rozšířením azure_local_ai

Rozšíření azure_local_ai poskytuje sadu funkcí. Tyto funkce umožňují vytvářet vektorové vkládání z textových dat, což usnadňuje vývoj generovaných aplikací umělé inteligence. Rozšíření nabízí funkce pro vytváření vkládání, získávání nastavení a další funkce. Pomocí těchto funkcí můžete zjednodušit proces vývoje a snížit latenci tím, že eliminujete potřebu dalších vzdálených volání rozhraní API pro modely vkládání AI hostované mimo hranice PostgreSQL.

Schéma Název Datový typ výsledku Datové typy argumentů
azure_local_ai create_embeddings TABLE(embedding real[]) model_uri text, vstupy[], batch_size bigint DEFAULT 128, timeout_ms celé číslo DEFAULT 3600000
azure_local_ai create_embeddings real[] model_uri text, vstupní text, timeout_ms celé číslo VÝCHOZÍ 36000000
azure_local_ai get_setting jsonb key text[] DEFAULT ARRAY[]::text[], timeout_ms celé číslo DEFAULT 36000000
azure_local_ai get_setting text text klíče, timeout_ms celé číslo DEFAULT 36000000
azure_local_ai model_metadata jsonb model_uri text

Ty se dají zobrazit pomocí příkazu PSQL,

\df azure_local_ai.*

azure_local_ai.create_embeddings

Rozšíření azure_local_ai umožňuje vytvářet a aktualizovat vkládání jak ve skalárním, tak dávkovém formátu a vyvolat místně nasazené 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);

Argumenty

model_uri

text název modelu vkládání textu vyvolaného k vytvoření vkládání

input

text nebo text[] jeden text nebo pole textu v závislosti na přetížení použité funkce, pro kterou se vytvářejí vkládání.

batch_size

bigint DEFAULT 128 počet záznamů, které se mají zpracovat najednou (k dispozici pouze pro přetížení funkce, pro kterou je parametr input typu text[]).

timeout_ms

integer DEFAULT 3600000 časový limit v milisekundách, po kterém je operace zastavena.

Příklady jednoduchých vkládání:

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

Kontrola verze rozšíření azure_local_ai

SELECT * FROM pg_available_extensions
WHERE NAME ='azure_local_ai';

Konfigurace modulu runtime ONNX

azure_local_ai.get_setting

Slouží k získání aktuálních hodnot možností konfigurace.

SELECT azure_local_ai.get_setting(key TEXT)

azure_local_ai podporuje kontrolu parametrů konfigurace fondu vláken modulu runtime ONNX ve službě ONNX Runtime. Změny nejsou v tuto chvíli povoleny. Viz ladění výkonu modulu runtime ONNX.

Argumenty

Klíč

Platné hodnoty pro následující key hodnoty:

  • intra_op_parallelism: Nastaví celkový počet vláken používaných pro paralelizaci jednoho operátoru podle fondu vláken modulu runtime ONNX. Ve výchozím nastavení maximalizujeme co nejvíce počtu vláken uvnitř operací, protože zvyšuje celkovou propustnost (ve výchozím nastavení všechny dostupné procesory).
  • inter_op_parallelism: Nastaví celkový počet vláken používaných pro paralelní výpočty více operátorů pomocí fondu vláken modulu runtime ONNX. Ve výchozím nastavení jsme ho nastavili na minimální možné vlákno, což je 1. Zvýšení často snižuje výkon kvůli častým přepínání kontextu mezi vlákny.
  • spin_control: Pro požadavky se přepíná do fondu vláken modulu runtime ONNX. Pokud je tato možnost zakázaná, využívá méně procesoru a tím způsobí větší latenci. Ve výchozím nastavení je nastavená na true (povoleno).

Návratový typ

TEXT představuje aktuální hodnotu vybraného nastavení.