본문으로 바로가기
검색
회원가입로그인

Genkit 초보자 완전 튜토리얼 🤖

달의이성
달의이성
조회수 21

Genkit 초보자 완전 튜토리얼 🤖

📋 목차

  1. 개발 환경 준비

  2. 프로젝트 생성

  3. Genkit 설치

  4. API 키 설정

  5. 첫 번째 AI 앱 만들기

  6. 실행해보기

  7. 고급 기능 추가


1. 개발 환경 준비

1.1 Node.js 설치하기

Windows 사용자:

  1. nodejs.org 방문

  2. "LTS" 버전 다운로드 (안정적인 버전)

  3. 다운로드한 .msi 파일 실행

  4. 설치 마법사 따라하기 (모든 기본값 그대로 사용)

Mac 사용자:

  1. nodejs.org 방문

  2. "LTS" 버전 다운로드

  3. 다운로드한 .pkg 파일 실행

  4. 설치 마법사 따라하기

1.2 설치 확인하기

터미널(명령 프롬프트)을 열고 다음 명령어를 입력:

node --version
npm --version

버전 번호가 출력되면 성공! 🎉


2. 프로젝트 생성

2.1 작업 폴더 만들기

  1. 바탕화면에 my-ai-app 폴더 생성

  2. 터미널을 열고 해당 폴더로 이동:

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 키 받기

  1. Google AI Studio 방문

  2. Google 계정으로 로그인

  3. "Create API Key" 클릭

  4. 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 앱을 만들 수 있게 되었습니다.

더 배우고 싶다면:

  1. Flow 만들기: 복잡한 AI 워크플로우 구성

  2. RAG 시스템: 자신만의 데이터로 AI 학습

  3. 웹 애플리케이션: Express.js와 연동

  4. 챗봇 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 앱 개발 되세요!

궁금한 점이 있으면 언제든지 물어보세요!