Databricks 앱은 상호 작용적인 애플리케이션을 구축하고 호스팅하기 위한 견고한 플랫폼을 제공합니다. React는 부드럽게 업데이트되고 세련되게 보이는 현대적이고 동적인 웹 애플리케이 션을 구축하는 데 훌륭합니다. 이 플랫폼을 React 기반의 프론트엔드와 Mosaic AI 에이전트 프레임워크와 결합함으로써 개발자들은 효율적이고 지능적인 채팅 애플리케이션을 만들 수 있습니다. 이 블로그는 Databricks에서 호스팅하는 채팅봇의 기술적 구현에 초점을 맞추고 있으며, 특정 산업에 맞춘 제조 운영 관리 채팅봇 사용 사례를 통해 그 잠재력을 보여줍니다.
아키텍처 개요:
Databricks 앱은 기본적으로 다음과 통합됩니다:
Databricks 앱은 외부 호스팅 인프라의 필요성을 제거합니다. 응용 프로그램은 플랫폼의 내장 보안, 컴플라이언스, 리소스 관리 기능을 상속하여 배포와 유지 보수를 간소화합니다.
Databricks 앱은 Dash, Streamlit, Gradio, Flask, FastAPI 등 다양한 프레임워크를 지원합니다. 이러한 유연성은 데이터 풍부하고 시각적으로 매력적인 애플리케이션을 가능하게 합니다.
Mosaic AI 에이전트 프레임워크는 Databricks에서 개발자가 AI 에이전트를 생성, 배포, 관리하는 데 도움이 되는 도구 세트입니다. 이 도구는 Retrieval-Augmented Generation (RAG)에서 사용되는 것과 같은 AI 에이전트를 예로 들 수 있습니다. 이는 LangChain 및 LlamaIndex와 같은 프레임워크와 통합되며, 데이터 거버넌스와 도구 호출을 위해 Unity Catalog와 같은 Databricks 기능을 사용합니다.
개발자들은 MLflow를 사용하여 에이전트를 로그하고 테스트하며, 그들의 행동을 디버그하고 성능을 향상시킬 수 있습니다. 요청 로깅, 응답 토큰 스트리밍, 리뷰 앱과 같은 기능은 실제 사용 사례에 대한 AI 에이전트의 구축 및 배포를 용이하게 합니다.
제조 운영 관리(MOM)는 생산 과정을 최적화하고, 효율성을 향상시키며, 오늘날 빠르게 변화하는 산업 풍경에서 경쟁력을 유지하는 데 중요합니다.
자연어 인터페이스를 가진 AI 에이전트를 이용한 운영 관리에 대한 수요는 효율성 향상, 의사결정 개선, 사용자 경험 향상의 필요성에 의해 빠르게 증가하고 있습니다.
Meticulous Research®의 최신 발표에 따르면 (출처), 제조업에서의 AI 시장은 2031년까지 845억 달러에 이를 것으로 예상되며, 2024년부터 2031년까지의 예측 기간 동안 연평균 성장률은 32.6%에 이를 것으로 예상됩니다 [1]. 이런 뚜렷한 성장은 다양한 산업에서 AI 기반 운영 관리의 중요성이 점점 인식되고 있다는 것을 보여줍니다.
도구 호출을 활용하는 Mosaic AI 챗봇을 구현하는 제조 회사는 생산 관리자에게 다음을 돕는 데 도움이 될 수 있습니다:
identify_bottleneck_station
함수를 사용하여 Databricks SQL을 쿼리하여 가장 많은 지연을 일으키는 역을 결정합니다.check_inventory_levels
를 호출하여 지정된 역의 실시간 재고 데이터를 검색합니다.이러한 쿼리는 SQL 또는 Python을 사용하여 Unity 카탈로그에 저장된 함수로 쉽게 구현할 수 있습니다. 그런 다음 AI 에이전트는 함수 호출을 활용하여 데이터 검색, 코드 실행, 그리고 컨텍스트 기반의 의사결정과 같은 작업을 수행할 수 있습니다. 여기서는 도구 호출을 위한 에이전트 설정에 대한 구체적인 내용에 대해 다루지 않겠지만, 자세한 안내를 위해 Databricks Generative AI Cookbook 여기 를 참조하실 수 있습니 다.
Mosaic AI 에이전트가 다양한 도구를 처리하도록 설정 및 구성되면, 이를 Databricks에서 모델 서빙 엔드포인트로 배포할 수 있습니다. 이 엔드포인트는 백엔드 인터페이스로 작동하여, 챗봇과 같은 프론트엔드 응용 프로그램이 쿼리를 보내고 실시간 인사이트를 받을 수 있게 합니다.
다음은 로컬에서 실행되는 챗봇 인터페이스입니다. 나중에는 Databricks Apps에 배포한 후에 이를 보여드리겠습니다.
React 프론트엔드는 챗봇에 쿼리를 보내고 응답을 시각화하는데 대한 상호작용적 이고 사용자 친화적인 인터페이스를 제공합니다. 주요 기능에는 실시간 메시지 렌더링, 쿼리 제출, 봇 응답 처리, 피드백이 있는 대화형 UI, 그리고 마크다운 지원이 포함됩니다.
프론트엔드 코드가 백엔드로 메시지를 보냄
API 클라이언트: Axios는 HTTP 요청을 보내는 데 사용됩니다. baseURL은 환경(개발 또는 제품)에 따라 동적으로 설정됩니다.
HandleSendMessage: 이것은 사용자의 입력을 캡처하고, 메시지를 /api/chat API 엔드포인트로 보내고, 사용자와 봇의 메시지를 모두 채팅 기록에 업데이트합니다.
FastAPI 백엔드는 React 프론트엔드와 Mosaic AI 에이전트 사이의 다리 역할을 합니다. 사용자의 쿼리를 에이전트의 모델 서빙 엔드포인트로 라우팅하여 응답을 얻습니다.
백엔드 코드가 사용자 질문을 처리함
이 API 엔드포인트는 사용자 메시지를 받아 Mosaic AI 에이전트 모델 서빙 엔드포인트와 상호 작용하고, 작업 특정 응답을 반환합니다.
FastAPI에서는 서브 애플리케이션을 마운트하는 순서가 중요합니다. 왜냐하면 이것이 들어오는 요청이 어떻게 라우팅되는지를 결정하기 때문입니다.
app.mount("/api", api_app)
:
/api
경로에 하위 애플리케이션 (api_app
)을 마운트합니다./api
로 시작하는 모든 요청(예: /api/chat
)은 이 하위 애플리케이션으로 라우팅됩니다.api_app
인스턴스에 의해 처리된다는 것을 보장합니다.app.mount("/", ui_app)
:
client/build
디렉토리의 정적 파일을 루트 (/
) 경로에 마운트합니다.index.html
, JavaScript, CSS, 그리고 다른 정적 자산들이 포함됩니다. 대부분의 주요 UI 프레임워크들 (예. React, Vue 및 Svelte)는 다양한 번들러를 통해 이러한 자산 세트로 컴파일을 지원합니다 (예: Vite, Webpack 또는 esbuild)./api
로 시작하지 않는 모든 요청은 ui_app
로 라우팅됩니다.api_app
인스턴스 아래에 POST 엔드포인트 (/chat
)를 가진 FastAPI 애플리케이션을 정의합니다.Depends
)을 사용하여 Databricks API와 상호 작용하는 WorkspaceClient
를 주입합니다. chat_with_llm
함수는 사용자의 메시지를 포함하는 ChatRequest
를 가져와서 USER
역할을 가진 ChatMessage
로 포맷하고 client.serving_endpoints.query
메서드를 사용하여 서빙 엔드포인트로 보냅니다.ChatResponse
로 반환됩니다.app.py
파일에 넣으세요.requirements.txt
에서 의존성을 정의하십시오:
app.yaml
파일을 생성합니다:
명령 섹션은 다음 사양을 가진 gunicorn 서버 구성을 개요화합니다:
env 섹션은 앱에 전달할 환경 변수를 정의하는 키-값 쌍을 지정합니다 [2]:
저는 환경 변수 SERVING_ENDPOINT_NAME
을 Databricks 리소스 모델 서빙 엔드포인트 agent_MODEL_NAME_FQN에 매핑하고 있습니다. 여기서 MODEL_NAME_FQN은 Unity Catalog의 catalog.db.model_name에 대한 세 단계 네임스페이스를 나타냅니다.
npm run build
를 사용하여 React 앱을 빌드하고 정적 파일을 /client/build
에 위치시키십시오.다음은 파일 구조입니다:
이 명령을 실행한 후 배포 과정은 몇 분 정도 걸릴 것입니다. 성공적으로 배포되면 Databricks 앱의 URL이 표시되어 작동 중임을 나타냅니다.
그리고 이제 채팅을 시작할 수 있습니다. 예를 들어, 우리의 생산 효율이 낮습니다. 병목 현상을 찾아내고, 그 효율성을 확인하고, 자세한 보고서를 작성합니다. 보고서를 첨부하여 [email protected]에 이메일을 보냅니다. 또한 보고서의 감정을 분석합니다.
React와 Mosaic AI 에이전트 프레임워크를 Databricks 앱과 통합하면 동적이고 상호 작용적인 채팅 애플리케이션을 만드는 강력한 솔루션을 제공합니다. Databricks의 내장 데이터 처리 기능, 안전한 모델 서빙, 간소화된 배포 인프라를 활용하면 개발자들은 복잡한 쿼리를 처리할 수 있는 견고한 시스템을 구축할 수 있습니다.
React 프론트엔드와 Mosaic AI 에이전트 사이의 다리 역할을 하는 FastAPI의 사용은 원활한 통신을 보장합니다. Databricks 앱은 Flask와 Django와 같은 다양한 Python 백엔드 프레임워크를 지원하지만, 간결하고 개발자 친화적인 API로 인해 FastAPI가 선택되었습니다.
이 설정은 고급 AI 기능이 실용적인 산업 솔루션, 예를 들어 제조 챗봇,에 통합되어 효율성과 의사결정을 촉진하는 방법을 보여줍니다. Databricks가 플랫폼을 계속 발전시키면서, 이러한 통합은 더 넓은 사용 사례를 수용하기 위해 확장될 수 있어, AI 주도 솔루션으로 혁신을 추구하는 기업에게 필수 도구가 될 수 있습니다.
소스 코드를 참조하려면, 여기에 연결된 GitHub 저장소를 찾아주세요.
[1] 2031년까지 제조업에서의 AI 시장이 845억 달러에 이를 것으로 예상됩니다. 출처:
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market
[2] Databricks 앱 설정. 출처:
https://docs.databricks.com/en/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration
React와 Mosaic AI 에이전트 프레임워크를 Databricks 앱과 통합하면 동적이고 상호 작용적인 채팅 애플리케이션을 만드는 강력한 솔루션을 제공합니다. Databricks의 내장 데이터 처리 기능, 안전한 모델 서빙, 간소화된 배포 인프라를 활용하면 개발자들은 복잡한 쿼리를 처리할 수 있는 견고한 시스템을 구축할 수 있습니다.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)