Azure Database for PostgreSQL 유연한 서버의 azure_ai 확장

Azure Database for PostgreSQL azure_ai 확장을 사용하면 데이터베이스 내 LLM(대규모 언어 모델)을 사용하여 생성 AI 애플리케이션을 빌드할 수 있습니다. 데이터베이스는 Microsoft Foundry 모델, Azure OpenAI Service, Azure Cognitive Services(Foundry 도구의 Azure 언어)Azure OpenAI를 호출할 수 있습니다>Azure Machine Learning 서비스, 이러한 서비스와의 원활한 통합을 통해 개발을 간소화합니다.

azure_ai 확장을 사용하도록 설정하기

azure_ai 확장을 사용하려면 해당 확장을 허용 목록에 추가한 다음 Azure Database for PostgreSQL 인스턴스에 설치해야 합니다. 시작하려면 아래 단계를 따르세요.

확장을 허용 목록에 추가합니다.

azure_ai를 귀하의 Azure Database for PostgreSQL 유연한 서버 허용 목록에 추가하며, 이는 PostgreSQL 확장 사용 방법에 설명된 대로 입니다. 쿼리를 실행하여 올바르게 추가되었는지 확인합니다 SHOW azure.extensions; .

익스텐션 설치

데이터베이스에 연결하고 다음 명령을 실행합니다 CREATE EXTENSION .

CREATE EXTENSION IF NOT EXISTS azure_ai;

확장이 필요한 각 데이터베이스에 대해 이 명령을 반복합니다.

azure_ai를 설치하면 다음 스키마를 생성합니다.

  • azure_ai: 구성 및 관련 기능에 대한 주된 스키마
  • azure_openai: Foundry 모델의 Azure OpenAI 함수 및 형식과 Microsoft Foundry의 OpenAI 모델
  • azure_cognitive: Azure Cognitive Services의 함수 및 형식(Foundry 도구의 Azure 언어)
  • azure_ml: Azure Machine Learning Services의 함수 및 형식

팁 (조언)

또한 Azure Database for PostgreSQL에서 pgvector를 사용하도록 설정하고 활용하기 를 사용 설정하는 것도 좋습니다. 이 기능은 azure_ai과 함께 자주 사용됩니다.

비고

현재 데이터베이스에서 확장을 제거하려면 .를 실행합니다 DROP EXTENSION azure_ai;.

azure_ai 확장 구성하기

확장을 구성하려면 사용하려는 Azure AI + 기계 학습 서비스에 대한 엔드포인트 및 인증 세부 정보(API 키 또는 관리 ID)를 제공합니다. azure_ai.set_setting 다양한 구성 키와 함께 구성 함수를 사용하여 이러한 값을 저장합니다.

Permissions

확장은 azure_ai_settings_manager 역할을 정의하여, azure_ai.set_gettingazure_ai.set_setting 함수를 사용해 구성 설정을 읽고 쓸 수 있는 권한을 부여합니다. 이 역할의 슈퍼 사용자와 멤버만 이러한 함수를 호출할 수 있습니다. Azure Database for PostgreSQL 유연한 서버에서 azure_pg_admin 역할은 기본적으로 이 역할을 부여합니다.

구성 함수

azure_ai_set_setting

AI + 기계 학습 구성을 설정합니다.

사용법:

-- Syntax
azure_ai.set_setting(key TEXT, value TEXT)

-- Usage example: Set the Endpoint and an API Key for Azure OpenAI
select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');

지원되는 구성 키 및 값 목록:

key value
azure_openai.endpoint 지원되는 OpenAI 엔드포인트(예: https://example.openai.azure.com).
azure_openai.auth_type subscription-key 또는 managed-identity
azure_openai.subscription_key OpenAI 리소스에 대한 구독 키입니다.
azure_cognitive.endpoint 지원되는 Cognitive Services 엔드포인트(예: https://example.cognitiveservices.azure.com)
azure_cognitive.auth_type subscription-key 또는 managed-identity
azure_cognitive.subscription_key Cognitive Services 리소스에 대한 구독 키
azure_ml.scoring_endpoint 지원되는 Machine Learning 온라인 엔드포인트 URI입니다.
azure_ml.auth_type subscription-key 또는 managed-identity
azure_ml.endpoint_key Azure ML 엔드포인트에 대한 엔드포인트 키입니다.

azure_ai.get_setting

지정된 key 항목에 대한 현재 구성 값을 가져옵니다(위의 목록에서 지원되는 키 참조). 선택한 설정의 현재 값을 나타내는 반환 TEXT 입니다.

사용법:

-- Syntax
azure_ai.get_setting(key TEXT)

-- Usage example: Get the Endpoint and API Key for Azure OpenAI
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');

azure_ai.version

현재 버전의 TEXT 확장을 나타내는 azure_ai을 반환합니다.

사용법:

SELECT azure_ai.version()

관리 ID 인증 사용

Azure Database for PostgreSQL azure_ai 확장은 향상된 보안 이점을 제공하는 SAMI(시스템 할당 관리 ID)를 지원합니다. Microsoft Entra ID 사용하면 액세스 키 없이 인증하여 무단 액세스 위험을 줄이고 자격 증명 관리를 간소화할 수 있습니다.

관리 ID 인증을 사용하도록 설정하려면 이 방법 가이드를 참조하세요.

azure_ai 확장 기능의 능력들

AI 기능

azure_ai 확장을 사용하면 다음 AI 함수(미리 보기)을 통해 Foundry 및 Azure OpenAI에 호스트된 모델에 대한 데이터베이스 내 호출을 사용할 수 있습니다.

  • Azure Database for PostgreSQL Azure OpenAI를 사용하여 벡터 포함 생성: 지정된 입력 텍스트에 대한 벡터 포함을 만듭니다.
  • azure_ai.generate(): LLM(큰 언어 모델)을 사용하여 텍스트 또는 구조적 출력을 생성합니다.
  • azure_ai.is_true(): 지정된 문이 사실일 가능성을 평가합니다.
  • azure_ai.extract(): 텍스트에서 구조화된 기능이나 엔터티를 추출합니다.
  • azure_ai.rank(): 지정된 쿼리와의 관련성을 기준으로 문서 목록을 다시 순위 지정합니다.

추가 기능

확장은 호출도 지원합니다.

AI + 기계 학습 확장 업그레이드

설치된 버전 및 사용 가능한 업그레이드를 확인하려면 다음을 실행합니다.

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

확장을 지원되는 최신 버전으로 업데이트하려면 다음을 실행합니다.

ALTER EXTENSION azure_ai UPDATE;