Azure AI Foundry 에이전트 서비스는 Azure Functions와 통합되어 최소한의 오버헤드로 지능형 이벤트 기반 애플리케이션을 만들 수 있습니다. 이 조합을 통해 AI 기반 워크플로는 서버리스 컴퓨팅의 확장성과 유연성을 활용하여 실시간 이벤트 또는 복잡한 워크플로에 응답하는 솔루션을 보다 쉽게 빌드하고 배포할 수 있습니다.
Azure Functions는 트리거 및 바인딩을 지원하여 AI 에이전트가 외부 시스템 및 서비스와 상호 작용하는 방식을 간소화합니다. 트리거는 HTTP 요청, 큐의 메시지 또는 Azure Blob Storage에 대한 파일 업로드와 같은 함수가 실행되는 시기를 결정하며 에이전트가 들어오는 이벤트에 따라 동적으로 작동할 수 있도록 합니다.
한편 바인딩은 광범위한 상용구 코드 없이 데이터베이스 또는 API와 같은 입력 또는 출력 데이터 원본에 대한 간소화된 연결을 지원합니다. 예를 들어 챗봇에서 고객 메시지를 받을 때마다 Azure Function을 실행하고 출력 바인딩을 사용하여 Azure AI 에이전트를 통해 응답을 보내도록 트리거를 구성할 수 있습니다.
지원되는 모델
병렬 함수를 포함하여 함수 호출의 모든 기능을 사용하려면 2023년 11월 6일 이후에 릴리스된 모델을 사용해야 합니다.
필수 조건
- Azure Functions Core Tools v4.x
-
표준 설정이 있는 배포된 에이전트
비고
기본 에이전트 설정은 지원되지 않습니다.
- Azurite
로컬 환경 준비
다음 예제는 에이전트 서비스가 함수 호출을 스토리지 큐에 배치하여 Azure Function이 해당 큐를 수신 대기하면서 처리하는 방식으로 Azure AI Foundry 에이전트 서비스 함수 호출을 사용하는 방법을 설명합니다.
GitHub에서 사용되는 템플릿 및 코드를 찾을 수 있습니다.
사용량 지원
Azure AI 파운드리 지원 | Python SDK | C# SDK | REST API (REST 애플리케이션 프로그래밍 인터페이스) | 기본 에이전트 설정 | 표준 에이전트 설정 |
---|---|---|---|---|---|
✔️ | ✔️ | ✔️ |
로컬 및 클라우드 개발 테스트를 위한 Azure 리소스 만들기
Azure 구독이 있으면 새 터미널 창에서 다음을 실행하여 Azure OpenAI 및 필요한 기타 리소스를 만듭니다.
azd init --template https://github.com/Azure-Samples/azure-functions-ai-services-agent-python
Mac/Linux:
chmod +x ./infra/scripts/*.sh
Windows:
set-executionpolicy remotesigned
리소스 프로비전
다음 명령을 실행하여 Azure에서 필요한 리소스를 만듭니다.
azd provision
local.settings.json 만들기
비고
이 파일은 .와 동일한 폴더 host.json
에 있어야 합니다. 실행 azd provision
하면 자동으로 만들어집니다.
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"STORAGE_CONNECTION__queueServiceUri": "https://<storageaccount>.queue.core.windows.net",
"PROJECT_CONNECTION_STRING": "<project connnection for AI Project>",
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
}
Visual Studio Code를 사용하여 앱 실행
- 새 터미널에서 폴더를 엽니다.
-
code .
코드 명령을 실행하여 Visual Studio Code에서 프로젝트를 엽니다. - 명령 팔레트(F1)에 Azure Functions 런타임에 대한 로컬 스토리지를 사용하여 디버깅할 수 있도록 하는 형식을 입력
Azurite: Start
합니다. - 실행/디버그(F5) 키를 눌러 디버거에서 실행합니다. 로컬 에뮬레이터가 실행되지 않는지 묻는 메시지가 표시되면 디버그를 선택합니다.
- HTTP 테스트 도구를 사용하여 각각 POST
prompt
엔드포인트를 보냅니다. RestClient 확장이 설치된 경우 프로젝트 파일에서test.http
직접 요청을 실행할 수 있습니다.
Azure에 배포
이 명령을 실행하여 필요한 Azure 리소스를 사용하여 함수 앱을 프로비전하고 코드를 배포합니다.
azd up
다음과 같은 필수 배포 매개 변수를 제공하라는 메시지가 표시됩니다.
매개 변수 | 설명 |
---|---|
환경 이름 | 앱에 대한 고유한 배포 컨텍스트를 유지하는 데 사용되는 환경입니다. 를 사용하여 azd init 로컬 프로젝트를 만든 경우 메시지가 표시되지 않습니다. |
Azure 구독 | 리소스가 만들어지는 구독. |
Azure 위치 | 새 Azure 리소스가 포함된 리소스 그룹을 만들 Azure 지역입니다. 현재 Flex 사용량 플랜을 지원하는 지역만 표시됩니다. |
게시가 성공적으로 azd
완료되면 엔드포인트에 액세스하는 데 필요한 함수 키 값 없이 새 함수의 URL 엔드포인트를 제공합니다. 필요한 함수 키와 함께 이러한 동일한 엔드포인트를 가져오는 방법을 알아보려면 Azure 개발자 CLI를 사용하여 Azure Functions에 함수 만들기 및 배포와 같은 문서 빠른 시작에서 Azure에서 함수 호출을 참조하세요.
코드 다시 배포
Azure 리소스를 프로비전하고 함수 앱에 코드 업데이트를 배포하는 데 필요한 횟수만큼 azd up
명령을 실행할 수 있습니다.
비고
배포된 코드 파일은 항상 최신 배포 패키지로 덮어쓰여집니다.
자원을 정리하세요
함수 앱 및 관련 리소스 작업을 완료하면 이 명령을 사용하여 Azure에서 함수 앱 및 관련 리소스를 삭제하고 추가 비용이 발생하지 않도록 할 수 있습니다(--제거는 AI 리소스의 일시 삭제를 그대로 두지 않고 할당량을 복구합니다.)
azd down --purge