LLM(대규모 언어 모델)으로 구동되는 생성 AI는 개발자와 조직에 새로운 기회를 제공합니다. Azure OpenAI와 같은 서비스를 사용하면 간단한 API로 AI를 쉽게 사용할 수 있습니다. 모든 기술 수준의 개발자는 특별한 지식이나 하드웨어 없이도 앱에 고급 AI 기능을 추가할 수 있습니다.
개발자는 자신의 역할이 무엇이고 어디에 적합한지 궁금할 수 있습니다. "AI 스택"의 어느 부분에 집중할지, 아니면 오늘날의 기술로 무엇을 구축할 수 있는지 알고 싶을 수도 있습니다.
이러한 질문에 대답하려면 먼저 새로운 용어와 기술을 이미 알고 있는 것과 연결하는 정신 모델을 구축해야 합니다. 이 방법은 앱에 생성 AI 기능을 디자인하고 추가하는 데 도움이 됩니다.
이 시리즈에서는 현재 소프트웨어 기술이 생성 AI에 어떻게 적용되는지 보여 줍니다. 또한 첫 번째 생성 AI 솔루션 빌드를 시작하는 데 도움이 되는 주요 용어와 개념을 소개합니다.
기업이 생성 AI를 사용하여 이점을 얻는 방법
소프트웨어 기술이 생성 AI에 어떻게 적합한지 확인하려면 먼저 기업이 이를 사용하는 방법을 살펴보세요.
기업은 생성 AI를 사용하여 고객 참여를 높이고, 더 효율적으로 작업하며, 창의적인 방식으로 문제를 해결합니다. 기존 시스템에 생성 AI를 추가하면 기업이 소프트웨어를 개선할 수 있습니다. 개인 설정된 권장 사항 또는 회사 또는 제품에 대한 질문에 대답하는 스마트 에이전트와 같은 기능을 추가할 수 있습니다.
AI를 생성하는 일반적인 방법은 비즈니스에 도움이 됩니다.
콘텐츠 생성:
- 마케팅, 영업, IT 및 내부 통신을 위한 텍스트, 코드, 이미지 및 사운드를 만듭니다.
자연어 처리:
- 비즈니스 메시지를 작성하거나 개선합니다.
- 사용자가 회사 문서를 기반으로 질문을 하여 데이터와 채팅할 수 있습니다.
- 많은 양의 콘텐츠를 요약, 구성 및 간소화합니다.
- 의미 체계 검색을 사용하여 정확한 키워드 없이 정보를 찾습니다.
- 콘텐츠를 번역하여 더 많은 사용자에게 도달합니다.
데이터 분석:
- 데이터의 추세를 찾고 시장을 분석합니다.
- "what if" 시나리오를 모델링하여 변경 계획을 수립합니다.
- 코드를 검토하여 개선 사항을 제안하고, 버그를 수정하고, 설명서를 만듭니다.
개발자는 조직에서 사용하는 소프트웨어에 생성 AI 기능을 추가하여 크게 개선할 수 있습니다.
생성 AI 애플리케이션을 빌드하는 방법
LLM은 많은 작업을 수행하지만 결과를 통합, 오케스트레이션 및 모니터링하는 시스템을 빌드합니다. 배울 것이 많지만 다음 방법을 포함하여 이미 가지고 있는 기술을 적용할 수 있습니다.
- REST, JSON 또는 언어별 SDK(소프트웨어 개발 키트)를 사용하여 API 호출
- API 호출을 오케스트레이션하고 비즈니스 로직을 수행합니다.
- 데이터 저장소에 저장 및 검색
- 입력 및 결과를 사용자 환경에 통합
- LLM에서 호출할 수 있는 API 만들기
귀하의 기존 기술을 기반으로 생성 AI 솔루션을 개발하십시오.
개발자 도구 및 서비스
Microsoft는 생성 AI를 시작하는 데 도움이 되는 도구, 서비스, API, 샘플 및 학습 리소스를 빌드합니다. 각 솔루션은 생성 AI 솔루션 빌드의 핵심 부분을 다룹니다. 이러한 리소스를 잘 사용하려면 다음을 확인합니다.
- 각 유형의 생성 AI 기능에 대한 주요 기능, 역할 및 책임을 파악합니다. 예를 들어 RAG 기반 채팅 시스템에서는 솔루션을 디자인하기 전에 문제와 제한을 이해해야 합니다.
- 각 함수 또는 역할에 대한 API, 서비스 및 도구에 대해 알아봅니다. 문제를 알게 되면 코드를 사용하여 직접 빌드하거나, 코드가 낮은/코드 없는 도구를 사용하거나, 기존 서비스를 호출할 수 있습니다.
- 코드, 하위 코드 및 코드 없는 솔루션을 비롯한 옵션을 탐색합니다. 모든 것을 직접 빌드할 수 있지만 때로는 다양한 도구와 접근 방식을 결합하는 것이 더 빠르고 쉽습니다.
앱에 생성 AI 기능을 추가하는 올바른 방법은 없습니다. 여러 도구 및 방법 중에서 선택할 수 있습니다. 항상 각각의 장단점을 계량합니다.
애플리케이션 계층 시작
시작하기 위해 생성 AI에 대한 모든 것을 알 필요는 없습니다. 당신은 아마 이미 당신이 필요로하는 기술을 가지고있다. API 및 현재 지식을 사용하여 시작합니다.
사용자 고유의 LLM을 학습시킬 필요가 없습니다. LLM을 교육하는 데는 대부분의 회사에 너무 많은 시간과 돈이 소요됩니다. 대신 Azure OpenAI API와 같은 호스트된 서비스에 대한 API 호출을 수행하여 GPT-4o와 같은 기존 미리 학습된 모델을 사용합니다. 앱에 생성 AI 기능을 추가하는 것은 API를 사용하는 다른 기능을 추가하는 것과 같습니다.
LLM을 학습하는 방법 또는 작동 방식을 알아볼 수 있습니다. 그러나 LLM을 완전히 이해하려면 종종 대학원 수준에서 데이터 과학 및 수학에 대한 깊은 지식이 필요합니다.
컴퓨터 과학 배경 지식이 있는 경우 대부분의 앱 개발은 기술 스택의 상위 계층에서 발생합니다. 각 계층에 대해 약간 알 수 있지만 특정 언어, 플랫폼, API 및 도구를 사용하여 앱 개발에 집중할 수 있습니다.
동일한 아이디어가 AI에 적용됩니다. LLM에 대한 이론은 학습할 수 있지만 회사에서 앱을 빌드하거나 생성 AI에 대한 패턴과 프로세스를 만드는 데 집중해야 합니다.
다음은 앱에 생성 AI 기능을 추가하는 데 필요한 기술 계층의 간단한 보기입니다.
가장 낮은 수준에서 데이터 과학자들은 통계 및 확률과 같은 고급 수학을 사용하여 AI를 개선하기 위한 연구를 수행합니다.
데이터 과학자는 이 이론을 사용하여 LLM을 빌드합니다. 신경망을 만들고 프롬프트를 수락하고 결과(완료)를 생성하도록 학습시킵니다. 프롬프트에서 결과를 생성하는 프로세스를 유추라고 합니다. 데이터 과학자는 신경망이 다음 단어 또는 픽셀을 예측하는 방법을 결정합니다.
모델을 학습하고 실행하는 데 상당한 컴퓨팅 성능이 필요하기 때문에 대부분의 모델은 대규모 데이터 센터에서 학습되고 호스팅됩니다. 자신의 컴퓨터에서 모델을 학습하거나 호스트할 수 있지만 속도가 느립니다. 전용 GPU를 사용하면 이 학습을 더 빠르고 효율적으로 수행할 수 있습니다.
모델이 데이터 센터에서 실행되면 REST API를 통해 해당 모델에 액세스합니다. SDK는 개발자가 더 쉽게 사용할 수 있도록 이러한 API를 래핑하는 경우가 많습니다. 다른 도구는 모니터링 및 기타 작업에 도움이 될 수 있습니다.
앱 개발자는 이러한 API를 사용하여 비즈니스 기능을 빌드합니다.
호출 모델 외에도 새로운 패턴 및 프로세스는 조직에서 신뢰할 수 있는 생성 AI 기능을 빌드하는 데 도움이 됩니다. 예를 들어 일부 패턴은 생성된 콘텐츠가 윤리적, 안전성 및 개인 정보 보호 표준을 충족하는지 확인하는 데 도움이 됩니다.
앱 개발자인 경우 다음 앱 계층 항목에 중점을 두는 것이 좋습니다.
- API 및 SDK: 사용 가능한 기능과 각 엔드포인트가 수행하는 작업을 알아봅니다.
- 도구 및 서비스: 프로덕션 준비 생성 AI 솔루션에 필요한 기능을 빌드하는 방법을 알아봅니다.
- 프롬프트 엔지니어링: 질문을 하거나 질문을 반복하여 최상의 결과를 얻는 방법을 알아봅니다.
- 병목 상태 및 크기 조정: 속도 저하가 발생하는 위치와 크기 조정 방법을 찾습니다. 개인 정보를 침해하지 않고 애플리케이션 데이터를 기록하고 가져오는 방법을 알아봅니다.
- LLM 특성: 모델과 공급업체 간의 강점, 사용 사례, 벤치마크 및 차이점을 파악합니다. 이 지식은 요구 사항에 적합한 모델을 선택하는 데 도움이 됩니다.
- 패턴 및 워크플로: 앱에서 효과적이고 안정적인 생성 AI 기능을 빌드하는 최신 방법을 최신 상태로 유지합니다.
Microsoft의 도구 및 서비스
Microsoft의 하위 코드 및 코드 없는 생성 AI 도구 및 서비스를 사용하여 솔루션의 일부 또는 전부를 빌드할 수 있습니다. 다양한 Azure 서비스는 중요한 역할을 할 수 있습니다. 각 솔루션은 솔루션의 효율성, 확장성 및 견고성에 기여합니다.
코드 중심 접근 방식을 위한 API 및 SDK
모든 생성 AI 솔루션은 LLM을 사용합니다. Azure OpenAI는 GPT-4와 같은 모델의 모든 기능을 제공합니다.
| 제품 | 설명 |
|---|---|
| Azure OpenAI | GPT-4와 같은 강력한 언어 모델에 액세스할 수 있는 호스트된 서비스입니다. API를 사용하여 포함을 만들고, 채팅 기능을 빌드하고, 필요에 맞게 결과를 사용자 지정합니다. |
실행 환경
앱에서 생성 AI에 대한 비즈니스 논리, 프레젠테이션 논리 또는 API를 실행하려면 서비스가 필요합니다.
| 제품 | 설명 |
|---|---|
| Azure App Service(또는 기타 컨테이너 기반 클라우드 서비스) | 사용자가 RAG 채팅 시스템과 상호 작용할 수 있도록 웹 인터페이스 또는 API를 호스트합니다. 웹앱을 빠르게 개발, 배포 및 확장합니다. 시스템의 프런트 엔드를 쉽게 관리합니다. |
| Azure 함수 | RAG 채팅 시스템에서 이벤트 기반 작업에 서버리스 컴퓨팅을 사용합니다. 데이터 검색을 트리거하거나, 사용자 쿼리를 처리하거나, 동기화 및 정리와 같은 백그라운드 작업을 처리합니다. 확장 가능한 모듈식 백 엔드를 빌드합니다. |
코드가 낮은 솔루션 및 코드 없음 솔루션
생성 AI 비전을 구현하는 데 필요한 일부 논리는 낮은 코드 또는 코드 없는 솔루션을 사용하여 신속하게 빌드되고 안정적으로 호스트될 수 있습니다.
| 제품 | 설명 |
|---|---|
| Azure AI 파운드리 | Azure AI Foundry 사용하여 사용자 지정 기계 학습 모델을 학습, 테스트 및 배포하여 RAG 채팅 시스템을 향상시킬 수 있습니다. 예를 들어 Azure AI Foundry를 사용하여 응답 생성을 사용자 지정하거나 검색된 정보의 관련성을 개선합니다. |
낮은 코드 솔루션을 빌드하는 방법에 대한 지침은 Azure에서 로우 코드 애플리케이션 개발을 참조하세요.
벡터 데이터베이스
일부 생성 AI 솔루션은 결과를 개선하기 위해 데이터를 저장하고 검색해야 합니다. 예를 들어 RAG 기반 채팅 시스템을 사용하면 사용자가 회사의 데이터와 채팅할 수 있습니다. 이 경우 벡터 데이터베이스가 필요합니다.
| 제품 | 설명 |
|---|---|
| Azure AI Search | 큰 데이터 세트를 검색하여 언어 모델에 대한 정보를 찾습니다. RAG 시스템의 검색 부분에 이를 사용하여 응답이 더 관련성이 높고 유용하게 만듭니다. |
| Azure Cosmos DB | RAG 채팅 시스템에 대한 많은 양의 구조화 및 비정형 데이터를 저장합니다. 빠른 읽기 및 쓰기 속도는 실시간 데이터를 제공하고 사용자 상호 작용을 저장하는 데 도움이 됩니다. |
| Azure Cache for Redis | 자주 사용하는 정보를 캐시하여 지연을 줄이고 RAG 채팅 시스템을 가속화합니다. 세션 데이터, 사용자 기본 설정 및 일반적인 쿼리를 저장합니다. |
| Azure Database for PostgreSQL - 유연한 서버 | 로그, 사용자 프로필 및 채팅 기록과 같은 앱 데이터를 저장합니다. 유연성과 확장성은 데이터를 사용 가능하고 안전하게 유지합니다. |
이러한 각 Azure 서비스는 확장 가능하고 효율적인 생성 AI 솔루션을 빌드하는 데 도움이 됩니다. 이를 통해 Azure의 클라우드 및 AI 기능을 최대한 활용할 수 있습니다. 자세한 내용은 벡터 데이터베이스 선택을 참조하세요.
Azure OpenAI API를 사용하여 코드 중심 생성 AI 개발
이 섹션에서는 Azure OpenAI API에 대해 설명합니다. REST API를 사용하여 LLM 기능에 액세스합니다. 최신 프로그래밍 언어에서 이러한 API를 호출할 수 있습니다. 많은 언어에는 API를 더 쉽게 호출할 수 있는 SDK가 있습니다.
Azure OpenAI REST API 래퍼 목록은 다음과 같습니다.
- .NET용 Azure OpenAI 클라이언트 라이브러리
- Java용 Azure OpenAI 클라이언트 라이브러리
- JavaScript용 Azure OpenAI 클라이언트 라이브러리
- Go용 Azure OpenAI 클라이언트 모듈
- OpenAI Python 패키지 사용하고 몇 가지 옵션을 변경합니다. Python은 Azure 특정 클라이언트 라이브러리를 제공하지 않습니다.
언어 또는 플랫폼에 대한 SDK가 없는 경우 REST를 웹 API에 직접 호출합니다.
대부분의 개발자는 웹 API를 호출하는 방법을 알고 있습니다.
Azure OpenAI에는 다양한 AI 작업에 대한 여러 API가 있습니다. 기본 API에 대한 개요는 다음과 같습니다.
- 채팅 완료 API: 텍스트, 채팅 및 대답 질문을 생성합니다. 챗봇, 가상 도우미, 요약, 쓰기 및 번역에 사용합니다. 또한 이미지 업로드 및 질문과 같은 비전 기능도 지원합니다.
- 콘텐츠 조정 API: 텍스트에서 유해하거나 안전하지 않은 콘텐츠를 찾아 필터링합니다. 사용자 상호 작용을 안전하게 유지하는 데 사용합니다.
- 포함 API: 텍스트를 검색, 클러스터링 및 유사한 콘텐츠 찾기를 위한 벡터로 바꿉니다. 텍스트에서 의미와 관계를 캡처하는 데 사용합니다.
- 이미지 생성 API: 텍스트 프롬프트에서 이미지 및 아트를 만듭니다. DALL 기준 E 모델입니다.
- 음성 텍스트 변환 REST API: 음성을 텍스트로 변환하거나 여러 언어로 텍스트를 음성으로 변환합니다. 음성 명령 및 오디오 전사에 사용합니다.
이 문서에서는 채팅 및 요약과 같은 텍스트 기반 생성 AI에 중점을 두고 있지만 이러한 API를 여러 유형의 미디어에 사용할 수 있습니다.
생성 AI를 사용하여 개발 시작
새 언어, API 또는 기술을 배울 때는 작은 앱을 빌드하는 방법을 보여 주는 자습서 또는 교육부터 시작합니다. 일부 개발자는 자신의 작은 프로젝트를 빌드하여 배우는 것을 선호합니다. 두 가지 방법이 모두 잘 작동합니다.
작게 시작하고, 간단한 목표를 설정하고, 기술을 단계별로 빌드합니다. 생성 AI 개발은 기존 소프트웨어와 다릅니다. 일반 소프트웨어에서는 매번 동일한 입력에 대해 동일한 출력을 가져옵니다. 생성 AI를 사용하면 동일한 프롬프트에 대해 다른 답변을 얻을 수 있으며, 이로 인해 새로운 과제가 발생합니다.
시작할 때는 이러한 팁을 염두에 두세요.
팁 1: 목표에 대한 명확한 정보
- 해결하려는 문제를 정의합니다. 생성 AI는 많은 작업을 수행할 수 있지만 텍스트, 이미지 또는 코드 생성과 같이 원하는 것을 정확히 알고 있으면 더 나은 결과를 얻을 수 있습니다.
- 대상 그룹을 알 수 있습니다. AI의 출력을 일반 사용자든 전문가든 관계없이 사용하는 사용자와 일치하도록 조정합니다.
팁 2: LLM 강도 사용
- LLM의 한계와 편견을 알고 있습니다. 그들은 강력하지만 완벽하지 않습니다. 그들의 약점에 대한 계획.
- 콘텐츠 만들기, 요약 또는 번역과 같이 가장 잘하는 작업에 LLM을 사용합니다. 경우에 따라 다른 유형의 AI가 요구 사항에 더 좋을 수 있습니다.
팁 3: 좋은 프롬프트 작성
- 프롬프트 엔지니어링에 대해 알아봅니다. 다른 프롬프트를 시도하여 가장 적합한 것을 확인합니다. 명확하고 구체적이어야 합니다.
- 프롬프트를 구체화합니다. 첫 번째 반복이 작동하지 않을 수 있습니다. 결과를 사용하여 다음 프롬프트를 개선합니다.
당신의 첫 번째 생성 AI 솔루션 구축
생성 AI 솔루션을 빌드하려면 Python용 사용자 고유의 데이터 샘플을 사용하여 채팅 시작부터 시작하세요. .NET, Java 및 JavaScript에 대한 자습서도 찾을 수 있습니다.
애플리케이션 디자인에 대한 최종 고려 사항
다음은 애플리케이션 디자인 결정에 영향을 줄 수 있는 이 문서에서 고려해야 할 사항 및 기타 내용의 짧은 목록입니다.
- AI의 기능을 사용자 기대에 맞게 명확하게 문제 공간 및 대상 그룹을 정의합니다. 의도한 사용 사례에 대한 솔루션의 효율성을 최적화합니다.
- 프로젝트의 요구 사항을 충족하는 경우 빠른 프로토타입 생성 및 개발을 위해 로우 코드/코드 없음 플랫폼을 사용합니다. 개발 속도와 사용자 지정 가능성 간의 장단 관계를 평가합니다. 개발 속도를 향상시키고 비기술 팀 구성원이 도움을 줄 수 있도록 앱의 일부에 대해 낮은 코드 및 코드 없는 도구를 사용해 보세요.