Search

AI Foundry

대분류
DevOps/Tool
소분류
Azure
유형
AI 서비스
부유형
엔터프라이즈 AI 운영 개발 통합 플랫폼
주요 레퍼런스
https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/architecture
https://learn.microsoft.com/en-us/azure/ai-services/openai/assistants-quickstart?tabs=command-line%2Ckeyless%2Ctypescript-keyless&pivots=ai-foundry-portal
https://learn.microsoft.com/en-us/azure/ai-services/agents/overview
https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/prompt-flow
최종 편집 일시
2025/03/27 23:14
생성 일시
2025/03/26 04:08
13 more properties

Azure AI Foundry

Foundry란? AIServices, OpenAI Service 유형의 프로젝트, 리소스를 관리하는 플랫폼
Azure AI Foundry 아키텍처
Azure OpenAI : 최신 OpenAI 모델에 대한 액세스를 제공한다.
보안 배포를 만들고, 플레이그라운드를 시도하고, 모델을 미세 조정하고, 콘텐츠 필터를 적용하고, 일괄 작업을 수행할 수 있다.
또한 다른 Azure AI 서비스도 포함하는 일종의 AIServices를 사용하여 Azure OpenAI에 연결할 수도 있다.
Azure AI Foundry 포털을 사용하면 Azure Studio 프로젝트 없이도 Azure OpenAI와 직접 작업할 수 있다.
관리 센터 : 관리 센터는 허브, 프로젝트, 연결된 리소스, 배포와 같은 Azure AI Foundry 리소스의 거버넌스와 관리를 간소화한다.
Azure AI Foundry 허브 : Azure AI Foundry 포털의 최상위 리소스, Azure Machine Learning 서비스 기반.
프로젝트와 모델 엔드포인트에 걸쳐 관리되는 네트워크를 포함한 보안 구성.
대화형 개발, 미세 조정, 오픈 소스 및 서버리스 모델 배포를 위한 컴퓨팅 리소스.
Azure OpenAI, Azure AI 서비스, Azure AI Search와 같은 다른 Azure 서비스에 대한 연결. 허브 범위 연결은 허브에서 생성된 프로젝트와 공유된다.
프로젝트 관리. 허브에는 여러 자식 프로젝트가 있을 수 있다.
데이터 업로드 및 아티팩트 저장을 위한 연결된 Azure Storage 계정.
Azure AI Foundry 프로젝트 : 허브의 자식 리소스.
AI 애플리케이션을 구축하고 사용자 정의하기 위한 개발 도구에 액세스.
데이터 세트, 모델, 인덱스를 포함한 재사용 가능한 구성 요소.
허브로부터 상속받은 저장소 내에서 데이터를 업로드하기 위한 격리된 컨테이너.
프로젝트 범위 연결.
프로젝트 멤버는 다른 프로젝트에 동일한 액세스 권한을 부여하지 않고도 Azure Storage 계정에 저장된 데이터에 대한 개인 액세스 권한이 필요할 수 있다.
카탈로그와 미세 조정된 모델 엔드포인트에서 오픈소스 모델 배포.
Hub, Project, Service의 관계
연결(Connections): Azure AI Foundry 허브와 프로젝트는 연결을 사용하여 다른 서비스에서 제공하는 리소스에 액세스한다.
Azure Storage 계정, Azure OpenAI 또는 다른 Azure AI 서비스의 데이터이다.

Azure 리소스 유형 및 공급자

Azure AI Foundry는 Azure Machine Learning 리소스 공급자를 기반으로 구축되었으며, 여러 다른 Azure 서비스에 종속된다.
이러한 서비스의 리소스 공급자는 Azure 구독에 등록되어야 한다.
리소스 유형
리소스 제공자(공급자)
리소스 종류
Azure AI Foundry hub
Microsoft.MachineLearningServices/workspace
hub
Azure AI Foundry project
Microsoft.MachineLearningServices/workspace
project
Azure AI services or Azure AI OpenAI Service
Microsoft.CognitiveServices/account
AIServicesOpenAI

Foundry Portal | OpenAI Service

진입

Portal에서 하단 빨간색 영역을 클릭하여 진입

모델 배포

모델을 사용하려면 먼저 프로젝트에 배포해야 한다.
아직 프로젝트가 없다면 배포 단계의 일부로 프로젝트를 만든다.
1.
Azure AI Foundry 에 로그인 .
2.
Studio는 사용자가 마지막으로 있었던 위치를 기억하므로 다음에 무엇을 할지는 사용자가 있는 위치에 따라 달라진다.
Azure AI Foundry를 처음 사용하는 경우 모델 탐색을 선택해라 .
프로젝트는 있지만 해당 프로젝트에 속하지 않은 경우, 사용하려는 프로젝트를 선택한 후 왼쪽 탐색 창에서 모델 카탈로그를 선택.
프로젝트에 있는 경우 왼쪽 탐색 창에서 모델 카탈로그를 선택.
3.
모델 목록에서 gpt-4o-mini 모델을 선택 . 검색 창을 사용하여 찾을 수 있다.
4.
모델 세부 정보 페이지에서 배포를 선택.
5.
이미 프로젝트에 있는 경우 모델은 해당 프로젝트에 배포된다. 아직 프로젝트에 없는 경우 프로젝트를 선택하거나 만들 수 있는 양식이 표시된다.
사용하고 싶은 프로젝트가 있다면 선택.
아직 프로젝트가 없다면:
1.
새 프로젝트 만들기를 선택 .
2.
프로젝트 이름 입력.
3.
프로젝트 만들기를 선택 .
6.
기본 배포 이름을 그대로 둔다. 배포를 선택.
7.
모델이 배포되면 플레이그라운드에서 열기를 선택하여 모델을 테스트.

플레이그라운드 (Playground)

Azure OpenAI Studio 내에서 제공되는 Playground 기능과 유사하다.
GPT 계열 모델을 직접 테스트하고, 프롬프트 설계나 파라미터 조정을 해볼 수 있다.

채팅 (Chat)

Azure OpenAI의 Chat GPT 모델 등을 사용해 대화형으로 질의응답을 수행하는 인터페이스.
사용자 메시지에 따라 모델의 응답을 확인하고, 로그로 관리할 수 있다.
필수 조건
Azure AI Foundry 허브를 만들려면 권한이 필요하거나 허브를 만들어 달라고 요청해야 한다.
역할이 기여자 또는 소유자인 경우 그대로 진행.
역할이 Azure AI Developer인 경우 허브가 이미 만들어져 있어야 한다.
사용자 역할은 허브에서 Azure AI Developer or ContributorOwner여야 한다.
이 튜토리얼에서 새 모델을 배포하려면 구독이 할당량 한도보다 낮아야 한다 . 그렇지 않으면 이미 배포된 채팅 모델이 있어야 한다 .
상단 메뉴바
코드 보기: 플레이그라운드 환경의 프롬프트와 설정을 애플리케이션에 통합할 수 있도록 언어별 코드 제공
배포: 웹앱에 배포, 웹앱 사용 시 계정에서 사용량이 발생
가져오기/내보내기: JSON/Prompty 파일로 가져오기/내보내기 가능
설정
1.
기존 배포를 사용하거나 기본/미세조정 모델에서 선택하여 불러올 수 있음.
2.
모델에 지침 및 컨텍스트 제공 ≒ 시스템 프롬프트.
a.
변경 내용 적용: 설정을 수정한 후 반드시 해당 버튼을 눌러야 반영됨.
b.
프롬프트 생성: 프롬프트 초안을 제공하면 해당 내용을 바탕으로 증강된 프롬프트를 생성해줌.
3.
섹션 추가
a.
안전 시스템 메시지: 프롬프트에 준비된 시스템 메시지를 하나 이상 삽입. 원하는 경우 변경하거나 추가할 수 있다. 토큰 사용은 플레이그라운드의 모델과 채팅을 시작할 때 발생한다.
b.
예: Few Shot 삽입
c.
Variable: 변수 추가
4.
데이터 원본 추가
데이터에 근거하는 데 사용
기존 데이터 원본을 선택하거나 기본 데이터가 빌드되는 원본으로 Azure Blob Storage, 데이터베이스, URL 또는 로컬 파일을 사용하여 새 데이터 연결을 만든다.
5.
매개 변수
기본 값
지난 메시지 포함
각 새 API 요청에 포함할 이전 메시지 수.
새 사용자 쿼리에 모델 컨텍스트를 제공하는 데 도움이 됨.
이 숫자를 10으로 설정하면 사용자 쿼리 5개와 시스템 응답 5개가 포함된다.
최대 응답
모델 응답당 토큰 수 제한을 설정.
지원되는 토큰 수는 프롬프트(시스템 메시지, 예제, 메시지 기록 및 사용자 쿼리 포함)와 모델의 응답 간에 공유된다.
토큰 하나는 일반적인 영어 텍스트의 경우 약 4자.
온도 & 상위 P(Top P)
임의성을 제어.
온도
온도를 낮추면 모델이 더 반복적이고 결정적인 응답을 생성한다.
온도를 높이면 예기치 않은 응답이나 창의적 응답이 늘어난다.
Top P
Top P를 낮추면 모델의 토큰 선택 영역이 우도가 더 높은 토큰으로 좁아진다.
Top P를 늘리면 모델이 높은 우도와 낮은 우도를 가진 토큰 중에서 선택할 수 있다.
온도와 Top P를 각각 조정하는 것을 추천 (둘 다 조정해서는 안 됨).
중지 시퀀스
모델이 원하는 지점에서 응답을 종료하도록 설정.
모델 응답이 지정 시퀀스 전에 종료되므로 중지 시퀀스 텍스트를 포함하지 않는다.
ChatGPT의 경우 모델 응답이 후속 사용자 쿼리를 생성하지 않도록 하는 <|im_end|>를 사용.
중지 시퀀스는 4개까지 포함할 수 있다.
빈도 패널티
지금까지 텍스트에 나타난 빈도에 따라 토큰을 비례적으로 반복할 가능성을 줄인다.
→ 이렇게 하면 응답에서 정확히 동일한 텍스트를 반복할 가능성이 줄어든다.
현재 상태 패널티
지금까지 텍스트에 표시된 토큰을 반복할 가능성을 줄인다.
→ 이렇게 하면 응답에 새 항목이 도입될 가능성이 높아진다.

도우미 (Assistant)

Azure OpenAI Service Assistants를 사용하면 사용자 지정 지침을 통해 필요에 맞게 조정되고 코드 인터프리터 및 사용자 지정 기능과 같은 고급 도구로 증강된 AI 도우미를 만들 수 있다.
추가 도구
파일 검색 ≒ RAG
파일에 액세스하기 위해 파일 검색 도구는 벡터 저장소 개체를 사용.
파일을 벡터 저장소에 업로드.
최대 크기가 512MB인 파일을 최대 10,000개 업로드할 수 있다.
각 도우미에는 최대 1개의 벡터 저장소가 연결될 수 있다.
코드 인터프리터 ≒ MCP
Assistants API가 샌드박스 실행 환경에서 코드를 작성하고 실행할 수 있다.
도우미가 코드를 반복적으로 실행하여 더 까다로운 코드, 수학 및 데이터 분석 문제를 해결할 수 있다.
코드 인터프리터 도구와 함께 사용할 파일을 업로드할 수 있다.
함수
Assistants API는 함수 호출을 지원하므로 도우미에 대한 함수 구조를 설명한 다음 해당 인수와 함께 호출해야 하는 함수를 반환할 수 있다.
채팅, 채팅 로그
채팅을 남기게 되면 로그가 기록된다.
스레드 파일: 스레드에 연결된 리소스 목록, 현재 스레드로 범위가 지정되어 있으며 도우미 설정에 저장되어 있지 않는다.
JSON 응답: 모델에서 JSON 응답을 가져오려면 이 컨트롤을 사용하도록 설정한다.
또한 지침 또는 메시지에서 JSON을 언급하여 JSON을 생성하도록 모델에 지시해야 한다.
참고: 이 컨트롤은 GPT-4o, GPT-4 Turbo 및 gpt-3.5-turbo-1106 이후의 모든 GPT-3.5 Turbo 모델과 호환된다.

Foundry Portal | Agent

질문에 답하고(RAG), 작업을 수행하거나 워크플로를 완전히 자동화하는 데 사용할 수 있는 "스마트" 마이크로서비스 역할
생성 AI 모델의 힘과 실제 데이터 소스에 액세스하고 상호 작용할 수 있는 도구를 결합하여 이를 달성한다.
Azure AI Agent Service는 Azure OpenAI Assistants 와 동일한 와이어 프로토콜을 사용하므로 OpenAI SDK 또는 Azure AI Foundry SDK를 사용하여 몇 줄의 코드만으로 에이전트를 만들고 실행할 수 있다.
Azure AI Foundry SDK로 AI Agent를 만들려면 AI가 사용하는 모델, 작업을 완료하는 방법에 대한 지침, 다른 서비스에 액세스하고 상호 작용하는 데 사용할 수 있는 도구를 간단히 정의하면 된다.
agent = project_client.agents.create_agent( model="gpt-4o-mini", name="my-agent", instructions="You are helpful agent", tools=code_interpreter.definitions, tool_resources=code_interpreter.resources, )
Python
복사
에이전트를 정의한 후에는 활동 스레드¹ 위에서 실행을 호출하여 작업을 수행하도록 요청할 수 있다.
활동 스레드: 여러 에이전트와 사용자 간의 간단한 대화.
# Create a thread with messages thread = project_client.agents.create_thread() message = project_client.agents.create_message( thread_id=thread.id, role="user", content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million", ) # Ask the agent to perform work on the thread run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id) # Fetch and log all messages to see the agent's response messages = project_client.agents.list_messages(thread_id=thread.id) print(f"Messages: {messages}")
Python
복사
실행 작업이 호출될 때마다 Azure AI Agent Service는
1.
제공된 지침에 따라 모델을 실행하고
2.
에이전트가 호출하는 대로 도구를 호출하고
3.
결과를 사용자에게 반환하여 전체 도구 호출 수명 주기를
완료한다.
기본 사항을 파악한 후에는 AutoGen 및 Semantic Kernel을 사용하여 여러 에이전트를 함께 사용하여 훨씬 더 복잡한 워크플로를 자동화할 수 있다.

이점

자동 도구 호출
도구 호출을 구문 분석하고 도구를 호출하고 응답을 처리할 필요가 없다.
이 모든 작업은 이제 서버 측에서 수행된다.
안전하게 관리되는 데이터
대화 상태를 직접 관리하는 대신 스레드를 사용하여 필요한 모든 정보를 저장할 수 있다.
기본 제공 도구
Azure OpenAI Assistants에서 제공하는 파일 검색 및 코드 인터프리터 도구 외에도 Azure AI Agent Service에는 Bing, Azure AI Search, Azure Functions 등 데이터 소스와 상호 작용하는 데 사용할 수 있는 도구 세트도 함께 제공된다.

Azure 에이전트(Agent)와 Azure OpenAI 도우미(Assistant) 비교

두 서비스 모두 동일한 API와 SDK를 사용하여 에이전트를 빌드할 수 있지만, 추가적인 엔터프라이즈 요구 사항이 있는 경우 Azure AI Agent Service를 사용하는 것을 고려할 수 있다.
Azure AI Agent Service는 다음을 포함하여 어시스턴트의 모든 기능을 제공한다.
유연한 모델 선택
Azure OpenAI 모델이나 Llama 3, Mistral, Cohere와 같은 다른 모델을 사용하는 에이전트를 만든다.
비즈니스 요구 사항을 충족하는 가장 적합한 모델을 선택한다.
광범위한 데이터 통합
Microsoft Bing, Azure AI Search 및 기타 API 등 다양한 데이터 소스에서 관련성 있고 안전한 엔터프라이즈 지식을 바탕으로 AI 에이전트를 지원한다.
기업 수준의 보안
안전한 데이터 처리, 키리스 인증 및 공개 출입 금지로 데이터 개인 정보 보호 및 규정 준수를 보장한다.
저장소 솔루션 선택
저장소 리소스에 대한 완벽한 가시성과 제어를 위해 자체 Azure Blob 저장소를 사용하거나, 안전하고 편리한 사용을 위해 플랫폼 관리 저장소를 사용할 수 있다.

허브 및 프로젝트 만들기

1.
Azure AI Foundry로 이동
프로젝트에 있는 경우 페이지 왼쪽 상단에서 Azure AI Foundry를 선택하여 홈 페이지로 이동.
2.
+ 프로젝트 만들기 선택 .
3.
프로젝트 이름 입력.
4.
허브가 있는 경우 가장 최근에 사용한 허브가 선택된 상태로 표시됨.
5.
두 개 이상의 허브에 접근할 수 있는 경우 드롭다운에서 다른 허브를 선택할 수 있다.
6.
새 허브를 만들려면 새 허브 만들기를 선택하고 이름을 입력.
기본값을 사용자 지정하려면 Azure AI Foundry 설명서
7.
만들기(Create) 선택

모델 배포

1.
Azure AI Foundry 로그인.
2.
Azure AI Foundry 포털에서 프로젝트로 이동하거나 새 프로젝트 생성.
3.
프로젝트 개요에서 빌드 및 사용자 지정 아래에 있는 에이전트 선택 .
4.
Azure OpenAI 리소스 선택.
5.
Agent가 사용할 모델 배포를 선택. 모델이 없으면 새 모델을 배포하는 화면이 열린다. 그렇지 않으면 Deploy a model 을 선택할 수 있다.

Quotas and limits

Limit Name
Limit Value
에이전트/스레드당 최대 파일 수
API 또는 Azure AI Foundry 포털을 사용할 경우 10,000개. Azure OpenAI Studio에서는 제한이 20개.
에이전트 및 미세 조정을 위한 최대 파일 크기
512MB
에이전트가 업로드한 모든 파일의 최대 크기
100GB
에이전트 토큰 한도
토큰 한도 2,000,000개

빌드 및 사용자 지정

에이전트 / 플레이 그라운드

에이전트 탭
설정
지식: 접지 응답에 사용할 수 있는 데이터 원본을 연결하여 에이전트가 액세스할 수 있는 지식을 확장. 현재 각 데이터 원본 유형당 하나의 instance 지원된다.
작업: 에이전트에게 이러한 작업에 대한 액세스 권한을 부여하여 작업을 수행할 수 있는 기능 제공. API 또는 SDK를 통해 모든 작업을 추가할 수 있다. 코드에 추가되면 플레이그라운드에 표시된다.
스레드 탭
지금까지 실행된 에이전트 디버깅 가능

프롬프트 흐름

흐름
새 흐름 만들기
기본 흐름 예시가 포함되어 있음.
흐름 진입
흐름은 컴퓨팅 세션이 활성화된 상태에서 실행 및 추가 도구 등 기타 설정 가능
LLM, Prompt : 템플릿 언어로 jinja2를 사용, 다양한 입력 값을 허용하는 파라메트릭 프롬프트를 생성하는 데 도움이 되는 템플릿 전략을 제공, 고정 텍스트 대신 입력 이름을 {{}}로 둘러싸면 변경 가능
Python: python 함수를 작성, 함수 입력 정의는 각 입력 필드에 대한 값을 입력할 수 있는 입력 섹션에 표시됨.
실행
컴퓨팅 세션이 활성화된 상태에서 실행시키게 되면 에이전트 탭과 동일하게 실행 기록 추적이 가능하고 입력, 출력, 추적, 로그를 확인할 수 있다.
일괄 처리 실행 기록도 볼 수 있으며 출력 상세 정보도 확인할 수 있다.