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.
Vyhledejte "rozšíření" nebo "azure.extensions".
V seznamu rozšíření vyberte AZURE_LOCAL_AI.
Vyberte Uložit , aby se změny použily, a spusťte proces nasazení seznamu povolených.
Toto nasazení můžete monitorovat pomocí ikony zvonku v horní části webu Azure Portal.
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í.