분류 전체보기 254

[AI 기초개념] LLM, AI Agent, Agent Engine, Function Calling, LangChain 개념 잡기

LLM, AI Agent, Agent Engine, Function Calling, LangChain 개념 잡기 LLM 이란? - 방대한 양의 텍스트 데이터를 학습하여, 인간처럼 자연스러운 언어를 이해하고 생성하는 딥러닝 기반의 인공지능 모델 - Large Language Model의 약자Large : 모델이 학습한 데이터의 양과 모델 자체의 크기가 어마어마하게 크다는 의미입니다. 인터넷의 방대한 텍스트와 책 수백만 권에 달하는 정보를 학습하고, 수천억 개의 파라미터(매개변수)를 통해 미묘한 언어적 패턴을 익힙니다.Language : 인간의 '언어'를 처리하는 데 특화된 모델입니다. 글을 읽고, 쓰고, 요약하고, 번역하는 등 언어와 관련된 모든 작업을 수행할 수 있습니다.Model : 통계적, 수학..

[Imagen 4/4] Build a Multi-Modal GenAI Application: Challenge Lab (멀티모달 생성형 AI 애플리케이션 빌드: 챌린지 실습)

Build a Multi-Modal GenAI Application: Challenge Lab(멀티모달 생성형 AI 애플리케이션 빌드: 챌린지 실습) Challenge scenario시나리오:AI 기반 꽃다발 디자인 회사의 개발자입니다. 고객이 꿈꾸는 꽃다발을 설명하면, 시스템은 고객의 승인을 위해 사실적인 이미지를 생성합니다. 사용자 경험을 더욱 향상시키기 위해 최첨단 이미지 분석 기능을 통합하여 생성된 꽃다발에 대한 설명적 요약을 제공합니다. (...생략...) 작업 1) generate_bouquet_image(prompt)이름의 Python 함수 추가 - 이 함수는 제공된 prompt를 사용하여 imagen-3.0-generate-002 모델을 호출하고 이미지를 생성하여 로컬에 저장 ..

[Imagen 3/4] Build an application to send Chat Prompts using the Gemini model (Gemini 모델을 사용하여 채팅 프롬프트를 보내는 애플리케이션을 구축)

Build an application to send Chat Prompts using the Gemini model (Gemini 모델을 사용하여 채팅 프롬프트를 보내는 애플리케이션을 구축) 목적Vertex AI의 생성 AI(genAI 또는 gen AI라고도 함)를 사용하면 Google의 대규모 생성 AI 모델을 활용하여 AI 기반 애플리케이션에 사용하기 위해 테스트, 조정 및 배포할 수 있습니다. 이 랩에서는 다음을 수행합니다.Vertex AI(Google Cloud AI 플랫폼)에 연결: Vertex AI SDK를 사용하여 Google AI 서비스에 연결하는 방법을 알아보세요.사전 훈련된 생성 AI 모델 로드 - 제미니: 처음부터 모델을 구축하지 않고도 강력하고 사전 훈련된 AI 모델을 사용하는 ..

[Imagen2/4] Build an AI Image Generator app using Imagen on Vertex AI (Vertex AI에서 Imagen을 사용하여 AI 이미지 생성기 앱을 빌드)

Build an AI Image Generator app using Imagen on Vertex AI(Vertex AI에서 Imagen을 사용하여 AI 이미지 생성기 앱을 빌드) 목적Vertex AI의 생성 AI(genAI 또는 gen AI라고도 함)를 사용하면 Google의 대규모 생성 AI 모델을 활용하여 AI 기반 애플리케이션에 사용하기 위해 테스트, 조정 및 배포할 수 있습니다. 이 랩에서는 다음을 수행합니다.Vertex AI(Google Cloud AI 플랫폼)에 연결: Vertex AI SDK를 사용하여 Google AI 서비스에 연결하는 방법을 알아보세요.사전 훈련된 이미지 생성 모델 로드: 처음부터 모델을 구축하지 않고도 강력하고 사전 훈련된 AI 모델을 사용하는 방법을 알아보세요...

[Imagen1/4] 1. Build an AI Image Recognition app using Gemini on Vertex (Vertex AI의 Gemini를 사용하여 AI 이미지 인식 앱 구축)

Build an AI Image Recognition app using Gemini on Vertex AI(Vertex AI의 Gemini를 사용하여 AI 이미지 인식 앱 구축) 목적Vertex AI의 생성 AI(genAI 또는 gen AI라고도 함)를 사용하면 Google의 대규모 생성 AI 모델을 활용하여 AI 기반 애플리케이션에 테스트, 조정 및 배포할 수 있습니다. 이 랩에서는 다음을 수행합니다.Vertex AI(Google Cloud AI 플랫폼)에 연결: Vertex AI SDK를 사용하여 Google AI 서비스에 연결하는 방법을 알아보세요.사전 훈련된 생성 AI 모델 로드 - 제미니: 처음부터 모델을 구축하지 않고도 강력하고 사전 훈련된 AI 모델을 사용하는 방법을 알아보세요.AI 모델..

[RAG 3-2/4] Inspect Rich Documents with Gemini Multimodality and Multimodal RAG - 3. Multimodal Retrieval Augmented Generation (RAG) using the Gemini API in Vertex AI -2

Inspect Rich Documents with Gemini Multimodality and Multimodal RAG과정 중 3번째Multimodal Retrieval Augmented Generation (RAG) using the Gemini API in Vertex AI(Vertex AI의 Gemini API를 사용하는 멀티모달 검색 증강 생성(RAG)) 여기는 분량이 많아 나누었습니다.이 포스트는 2편입니다. (이전 1편은 여기를 참고) Comparative reasoning (비교 추론) ex) 지금까지 한 일을 비교 추론에 적용합시다. 1 단계 : 특정 쿼리의 모든 이미지를 검색합니다.2 단계 : 해당 이미지를 Gemini에 보내어 여러 질문을하고 답변을 제공해야합니다.matching_..

[RAG 3-1/4] Inspect Rich Documents with Gemini Multimodality and Multimodal RAG - 3. Multimodal Retrieval Augmented Generation (RAG) using the Gemini API in Vertex AI -1

Inspect Rich Documents with Gemini Multimodality and Multimodal RAG과정 중 3번째Multimodal Retrieval Augmented Generation (RAG) using the Gemini API in Vertex AI(Vertex AI의 Gemini API를 사용하는 멀티모달 검색 증강 생성(RAG)) 여기는 분량이 많아 나누었습니다.이 포스트는 1편입니다. ( 2편은 여기를 참고 ) RAG란?(Retrieval-Augmented Generation, 검색 증강 생성) - AI가 최신 정보나 특정 전문 데이터를 '검색(Retrieval)'해서 '참고'한 뒤 답변을 생성(Generation)하는 기술~~ 쉽게 말해, AI에게 '오픈북 ..

[RAG 2/4] Inspect Rich Documents with Gemini Multimodality and Multimodal RAG

Inspect Rich Documents with Gemini Multimodality and Multimodal RAG과정 중 두번째2. Using Gemini for Multimodal Retail Recommendations(소매업을 위한 멀티모달 추천에 Gemini 사용) 개요Gemini는 Google DeepMind에서 개발한 생성형 AI 모델 제품군으로, 멀티모달 사용 사례를 위해 설계되었습니다.소매업체의 경우 추천 시스템을 사용하면 고객 경험을 개선하여 결과적으로 매출 향상을 달성할 수 있습니다. 이 실습에서는 Gemini 모델을 사용하여 멀티모달 추천 시스템을 신속하게 생성하는 방법을 알아봅니다. Gemini 모델은 멀티모달 모델을 사용하여 추천과 설명을 모두 제공할 수 있습니다.이 실습..

[RAG 1/4] 1. Multimodality with Gemini (Gemini의 멀티모달리티)

Inspect Rich Documents with Gemini Multimodality and Multimodal RAG과정 중 첫번째1. Multimodality with Gemini(Gemini의 멀티모달리티)멀티모달이란?여러 종류의 데이터를 동시에 이해하고 처리하는 능력을 의미합니다.'멀티(multi)'는 '다중'을, '모달(modal)'은 데이터의 종류(양식)를 뜻하며, AI가 인간처럼 텍스트, 이미지, 음성, 영상 등 다양한 정보를 함께 활용해 더 종합적으로 상황을 파악하고 소통하는 방식입니다. 멀티모달 AI란 무엇인가요?여러 모달리티 또는 데이터 유형의 정보를 처리하고 통합할 수 있는 머신 러닝 모델을 말합니다. 이러한 모달리티에는 텍스트, 이미지, 오디오, 비디오 및 기타 형태의 감각적 인풋..

[RAG 0/4] Inspect Rich Documents with Gemini Multimodality and Multimodal RAG (Gemini 멀티모달 및 멀티모달 RAG로 리치 문서 검사하기)

Inspect Rich Documents with Gemini Multimodality and Multimodal RAG (Gemini 멀티모달 및 멀티모달 RAG로 리치 문서 검사하기) https://www.cloudskillsboost.google/course_templates/981 멀티모달 프롬프트를 사용하여 텍스트 및 시각적 데이터에서 정보 추출, 동영상 설명 생성, Gemini의 멀티모달 기능을 사용하여 동영상은 물론 그 밖의 추가 정보 검색, 텍스트와 이미지가 포함된 문서의 메타데이터 구축, 모든 관련 텍스트 청크 가져오기, Gemini의 멀티모달 검색 증강 생성(RAG)을 사용하여 인용 문구 인쇄 등이 있습니다. 총 실습 4개 1) Multimodality with Gemini (Gem..

topK와 topP의 차이

topK와 topP의 차이공통점 : AI 모델이 다음 단어를 선택하는 방식을 제어하여 답변의 다양성을 조절하는 기술차이점 : 선택 후보를 정하는 기준이 서로 다름 topK (Top-K 샘플링)가장 확률이 높은 K개의 단어만 후보로 놓고, 그중에서 다음 단어를 선택하는 방식낮은 값(예: 1)은 항상 가장 확률 높은 단어만 선택하게 되므로 답변이 매우 결정론적이 됨높은 값(예: 40)은 더 많은 선택지를 주어 답변의 다양성을 높임ex) Top-K: "무조건 판매량 상위 3개 중에서만 고르세요!"Top-K는 "등수(순위)를 기준으로 선택지를 제한하는 방식"만약 top_k=3으로 설정하면, 모델은 다음 단어 후보 중에서 가장 확률이 높은 1, 2, 3등 단어만 보고, 그중에서 하나를 무작위로 고릅니다. 4등..

[준비] Google skill boost 실습환경 가이드1 (Vertex AI Workbench > Jupyter notebook > python코드 실행)

Google skill boost에서 Jupyter notebook 사용 공통 가이드 (Vertex AI Workbench에서 Jupyter notebook 열고 python코드 실행) Google Skill Boost 과정 실행 시 반복되는 작업들입니다.* 검은 폰트 : 구글 설명 번역* 파랑 폰트 : 블로그추가 설명 Setup and requirements (설정 및 요구 사항)1. Before you click the Start Lab button (랩 시작 버튼을 클릭하기 전에)- 다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표..

Android `mutate()` 메소드 : 동일한 Drawable 객체를 사용하고 있을 때 한 요소의 변경이 다른 요소에 영향을 주지 않도록

왜 mutate()를 사용해야 할까?공유되는 Drawable: 여러 UI 요소(예: 버튼, 이미지 뷰 등)가 동일한 Drawable 객체를 사용하고 있을 때, 한 곳에서 Drawable을 수정하면 다른 모든 곳에도 영향을 미칠 수 있습니다.예를 들어, 버튼과 배경이 같은 이미지를 사용하고 있는데, 버튼의 색상을 변경하면 배경도 같이 바뀔 수 있습니다. 이를 방지하기 위해 mutate()를 사용합니다.   mutate() 메소드Android의 Drawable 클래스에서 사용되는 메소드Drawable 객체의 복사본을 생성하고, 원본의 상태와는 독립적으로 변경할 수 있도록 합니다.주로 Drawable의 상태를 변경해야 할 때 유용하게 사용됩니다. 1. 목적mutate() 메소드는 Drawable의 인스턴스를 ..

Android 2024.08.11

Android Application Context

Application Context의 적절한 사용Application의 Context는 애플리케이션이 실행되는 동안 메모리에 유지됩니다.따라서 전역적으로 사용되거나 장기적인 참조가 필요한 객체들에 적합하며, UI와 관계없는 작업에서 안전하게 사용할 수 있습니다.Application 단의 Context를 확장 함수에서 사용하게 되면, 단위 테스트를 수행하기 어려워질 수 있습니다.Context에 의존하는 코드는 테스트에서 모의(Mocking) 처리가 필요하며, 이는 테스트의 복잡성을 높입니다. 1. Application Context를 사용하는 것이 적절한 경우장기적으로 유지되는 객체:장기적으로 유지되거나 전역적으로 사용되는 객체에서 Context가 필요할 때는 Application Context를 사용하는..

Android 2024.08.11

[Compose][Image]맞춤 페인터 (Custom painter), 이미지 성능 최적화

맞춤 페인터 (Custom painter) Painter 객체그릴 수 있는 항목을 나타내고(Android에서 정의된 Drawable API의 대체 API) 객체를 사용하고 있는 컴포저블의 measure 또는 layout 과정에 영향을 미치는 데 사용됩니다. Painter는 지정된 경계 내에서 엄격하게 그려진다.cf) 컴포저블의 measure 또는 layout 과정에 영향을 주지 않는DrawModifier와 다릅니다.painterResource()를 사용하면 애셋에 맞는 올바른 페인터(예: BitmapPainter 또는 VectorPainter)가 반환됩니다. (둘의 차이점에 관한 자세한 내용은 ImageBitmap과 ImageVector 섹션을 참고)BitmapPainter는 ImageBitmap을 사용..

Android/Compose 2024.06.02

[Compose][Image] 이미지 커스터마이징

이미지 커스터마이징 (Customize an image ) `Image 컴포저블`의 속성인 `contentScale` , `colorFilter`들을 사용하여 맞춤설정할 수 있습니다. 위 속성은 Image 컴포저블의 Modifiers를 사용하여 적용가능함(`contentScale` 및 `colorFilter`는 Image 컴포저블의 명시적 매개변수)   1. `contentScale` 옵션 :  콘텐츠 크기 조정 이미지를 자르거나 경계 내에서 이미지의 크기가 조정되는 방식을 변경하는 옵션 (디폴트는 ContentScale.Fit)ex) Image 컴포저블은 테두리가 있는 150dp 크기로 제한되고 배경은 Image 컴포저블에서 노란색으로 설정val imageModifier = Modifier    .s..

Android/Compose 2024.06.02

[Compose][Image] 이미지 표시, ImageBitmap vs ImageVector, Material icons

이 포스팅은 공식문서 를 보고 이해한 내용을 정리 및 번역한 글입니다.     Jetpack Compose에서 이미지 나타내기 1. 기본 이미지 로딩Image 컴포저블 : 화면에 이미지 리소스를 표시함painterResource : painterResource는 이미지 리소스를 불러오기 위해 사용하는 함수이 함수는 리소스 ID를 받아 Painter 객체를 반환합니다. 이를 Image 컴포넌트에 전달하여 이미지를 화면에 표시할 수 있습니다.디스크에서 이미지(예: PNG, JPEG, WEBP) 또는 벡터 리소스를 로드하려면, 이미지 참조와 함께 painterResource API를 사용합니다. 이미지 리소스 유형을 알 필요는 없습니다. Image 또는 paint 수정자에서 painterResource를 사용..

Android/Compose 2024.06.02

Composables Lifecycle (컴포저블 수명 주기)

용어정리Composable - UI 구성 요소를 나타내는 함수 또는 어노테이션Composable 어노테이션 (@Composable) - Composable 함수를 표시하는 어노테이션 Composable 함수- Compose에서 UI 구성을 정의하고, UI 요소의 계층 구조를 형성하며, 화면에 표시되는 뷰를 생성하는 함수 - UI를 선언적으로 정의하는 Compose에서 사용되는 기본 단위- UI 요소를 생성하고, UI 상태를 나타내며, 사용자 입력 및 상호 작용에 응답하는 등의 작업을 수행한다.Composition- UI 구성 요소들이 결합되어 화면에 표시되는 것- Compose에서는 여러 'Composable 함수'가 조합되어 화면에 나타나는 UI 구조를 형성합니다. Composition은 'Compos..

Android/Compose 2024.05.06

Compose 기초 (Compose이해, Composable function, Recomposition)

이전편에 이어 다시보는Compose 란?Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트사용자 인터페이스의 상태와 레이아웃을 설명하는 구조화된 데이터나 코드를 사용하여 UI를 정의 [동작] 처음부터 화면 전체를 개념적으로 생성한 후 -> 특정 시점에선 필요한 변경사항(UI의 어떤 부분을 다시 그려야 하는지)만 지능적으로 선택하여 화면을 재구성(=Recomposition)한다.[동작 구현] 구성 가능한 함수(=Composable 함수)를 '단순히 호출'하는 형태로 UI 렌더링 및 재구성  ex) `@Composable TextView()`를 호출  Composable function (= 구성 가능한 함수)  개인적으로 '구성 가능한 함수'라는 번역은 매번 부르기 어려워 ..

Android/Compose 2024.05.05