Genkit 초보자 완전 튜토리얼 🤖

Genkit 초보자 완전 튜토리얼 🤖
📋 목차
1. 개발 환경 준비
1.1 Node.js 설치하기
Windows 사용자:
nodejs.org 방문
"LTS" 버전 다운로드 (안정적인 버전)
다운로드한
.msi
파일 실행설치 마법사 따라하기 (모든 기본값 그대로 사용)
Mac 사용자:
nodejs.org 방문
"LTS" 버전 다운로드
다운로드한
.pkg
파일 실행설치 마법사 따라하기
1.2 설치 확인하기
터미널(명령 프롬프트)을 열고 다음 명령어를 입력:
node --version
npm --version
버전 번호가 출력되면 성공! 🎉
2. 프로젝트 생성
2.1 작업 폴더 만들기
바탕화면에
my-ai-app
폴더 생성터미널을 열고 해당 폴더로 이동:
cd Desktop/my-ai-app
2.2 Node.js 프로젝트 초기화
npm init -y
이 명령어로 package.json
파일이 생성됩니다.
3. Genkit 설치
3.1 필요한 패키지 설치
npm install genkit @genkit-ai/googleai
3.2 개발 도구 설치 (선택사항)
npm install -g genkit-cli
4. API 키 설정
4.1 Google AI API 키 받기
Google 계정으로 로그인
"Create API Key" 클릭
API 키 복사 (안전한 곳에 보관!)
4.2 환경 변수 설정
Windows:
set GEMINI_API_KEY=여기에_당신의_API_키_붙여넣기
Mac/Linux:
export GEMINI_API_KEY=여기에_당신의_API_키_붙여넣기
5. 첫 번째 AI 앱 만들기
5.1 app.js 파일 생성
프로젝트 폴더에 app.js
파일을 만들고 다음 코드를 입력:
// 필요한 라이브러리 가져오기
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/googleai';
// Genkit 설정
const ai = genkit({
plugins: [googleAI()],
model: googleAI.model('gemini-2.5-flash')
});
// AI와 대화하는 함수
async function chatWithAI() {
try {
console.log('🤖 AI와 대화를 시작합니다...\n');
// AI에게 질문하기
const response = await ai.generate('안녕하세요! 당신은 누구인가요?');
console.log('🤖 AI 답변:', response.text);
} catch (error) {
console.error('❌ 오류 발생:', error.message);
}
}
// 함수 실행
chatWithAI();
5.2 package.json 수정
package.json
파일을 열고 다음 부분을 추가:
{
"type": "module",
"scripts": {
"start": "node app.js"
}
}
6. 실행해보기
6.1 앱 실행
터미널에서 다음 명령어 입력:
npm start
성공하면 AI의 답변이 출력됩니다! 🎉
6.2 문제 해결
"API key not found" 오류가 나면:
API 키가 올바르게 설정되었는지 확인
터미널을 재시작하고 다시 시도
7. 고급 기능 추가
7.1 대화형 챗봇 만들기
chatbot.js
파일을 새로 만들어보세요:
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/googleai';
import readline from 'readline';
const ai = genkit({
plugins: [googleAI()],
model: googleAI.model('gemini-2.5-flash')
});
// 콘솔 입력 받기 설정
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
console.log('🤖 AI 챗봇입니다! 무엇이든 물어보세요. (종료하려면 "exit" 입력)');
// 대화 루프
function startChat() {
rl.question('당신: ', async (userInput) => {
if (userInput.toLowerCase() === 'exit') {
console.log('👋 안녕히 가세요!');
rl.close();
return;
}
try {
console.log('🤔 생각 중...');
const response = await ai.generate(userInput);
console.log('🤖 AI:', response.text);
console.log(''); // 빈 줄 추가
// 다음 질문 받기
startChat();
} catch (error) {
console.error('❌ 오류:', error.message);
startChat();
}
});
}
startChat();
7.2 실행하기
node chatbot.js
7.3 구조화된 데이터 생성
structured.js
파일 만들기:
import { genkit, z } from 'genkit';
import { googleAI } from '@genkit-ai/googleai';
const ai = genkit({
plugins: [googleAI()],
model: googleAI.model('gemini-2.5-flash')
});
// 음식 메뉴 스키마 정의
const MenuItemSchema = z.object({
name: z.string().describe('음식 이름'),
description: z.string().describe('음식 설명'),
price: z.number().describe('가격 (원)'),
category: z.string().describe('카테고리 (예: 메인, 디저트)')
});
async function generateMenu() {
try {
console.log('🍽️ 레스토랑 메뉴를 생성 중...\n');
const response = await ai.generate({
prompt: '이탈리안 레스토랑의 파스타 메뉴 1개를 만들어주세요.',
output: { schema: MenuItemSchema }
});
console.log('📋 생성된 메뉴:');
console.log('이름:', response.output.name);
console.log('설명:', response.output.description);
console.log('가격:', response.output.price + '원');
console.log('카테고리:', response.output.category);
} catch (error) {
console.error('❌ 오류:', error.message);
}
}
generateMenu();
🎯 다음 단계
축하합니다! 이제 기본적인 AI 앱을 만들 수 있게 되었습니다.
더 배우고 싶다면:
Flow 만들기: 복잡한 AI 워크플로우 구성
RAG 시스템: 자신만의 데이터로 AI 학습
웹 애플리케이션: Express.js와 연동
챗봇 UI: HTML/CSS로 웹 인터페이스 만들기
유용한 명령어들:
# 개발자 UI 실행
genkit start -- node app.js
# 패키지 업데이트
npm update
# 새로운 기능 설치
npm install @genkit-ai/vertexai
❓ 자주 묻는 질문
Q: API 키가 작동하지 않아요 A: API 키를 다시 확인하고, 환경 변수가 올바르게 설정되었는지 확인하세요.
Q: 오류가 계속 나요 A: Node.js 버전이 20 이상인지 확인하고, 모든 패키지가 올바르게 설치되었는지 확인하세요.
Q: 더 복잡한 기능을 추가하고 싶어요 A: Genkit 공식 문서를 참고하거나, 플러그인을 추가로 설치해보세요.
🚀 즐거운 AI 앱 개발 되세요!
궁금한 점이 있으면 언제든지 물어보세요!