그냥 막 갑자기 GenAI를 이용해서 뭐라도 하나 간단하게 만들어 보고 싶다는 생각에 막 진행해봤다.

 

0. 실습 환경

- Ubuntu 20.04

 

1. Gemini API

- 우리의 Google님은 간단하게 사용하는 정도는 무료로 제공해주신다.

  . https://ai.google.dev/pricing?hl=ko#1_5flash

Gemini Pricing

 

- 언제나 그렇듯이 API 사용을 위해서는 Key를 생성해야 한다.

  . https://ai.google.dev/aistudio?hl=ko

Google AI Studio

 

- 구글 계정을 통해 로그인 하고 API key를 얻으면 된다.

  . https://aistudio.google.com/apikey

Get API key

 

2. React App 생성

- Vite를 이용해서 React App을 생성하자. 다음 링크를 참고해서 진행하면 된다.

  . https://www.whatwant.com/entry/vite

 

3. 패키지 설치

- Gemini API 사용을 위해서 패키지를 설치하자.

> npm install @google/generative-ai

> npm install

> npm run dev

npm run dev

 

- 브라우저를 열어서 접속해보자.

WEB

 

4. 파일 생성

- src/ 디렉토리 밑에 파일 하나 새로 만들어서 코드를 작성해보자.

  . 여기에서는 NagBox.jsx 이름으로 만들어봤다.

new file

 

5. 코드 작성

- 다음과 같이 코드를 작성해보자.

import { useState, useEffect } from "react";
import { GoogleGenerativeAI } from "@google/generative-ai";

export default function NagBox() {
  const [response, setResponse] = useState("");
  const [error, setError] = useState(null);
  const [currentTime, setCurrentTime] = useState(new Date());

  const fetchNag = async () => {
    try {
      const genAI = new GoogleGenerativeAI("API KEY");
      const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
      const prompt = "공부를 열심히 할 수 있도록 잔소리를 해주세요.";
      const result = await model.generateContent(prompt);
      const text = result.response.text();
      setResponse(text);
    } catch (err) {
      setError(err.message);
    }
  };

  useEffect(() => {
    fetchNag();

    const nagIntervalId = setInterval(fetchNag, 30000);
    const clockIntervalId = setInterval(() => setCurrentTime(new Date()), 1000);

    return () => {
      clearInterval(nagIntervalId);
      clearInterval(clockIntervalId);
    };
  }, []);

  return (
    <div style={{ position: "relative", minHeight: "100vh" }}>
      {error ? <p>{error}</p> : <p>{response}</p>}
      <div
        style={{
          position: "fixed",
          bottom: 10,
          right: 10,
          backgroundColor: "white",
          padding: "10px",
          borderRadius: "5px",
          boxShadow: "0 0 10px rgba(0,0,0,0.2)",
        }}
      >
        {currentTime.toLocaleTimeString()}
      </div>
    </div>
  );
}

code


- main.jsx 파일도 수정해주자.

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
// import App from './App.jsx'
import App from './NagBox.jsx'

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  </StrictMode>,
)

 

code

 

- 웹브라우저로 결과를 확인해보자.

WEB

 

이모지를 사용하라고 하지도 않았는데...

우와... 잔소리를 하라고 했지, 나의 자존감을 꺾으라고는 안했는데... 우와~~~~ 제미나이, 대단하네!!!

 

 

기본적인 코드는 아래 사이트를 참고했습니다.

- https://www.codedex.io/projects/generate-a-poem-with-google-gemini

 

반응형

'AI_ML > LLM' 카테고리의 다른 글

HuggingFace - LLAMA 3.2 for Korean  (0) 2024.11.12
HuggingFace - Learn - NLP Course #3  (2) 2024.11.11
HuggingFace - Learn - NLP Course #2  (0) 2024.11.10
HuggingFace - Learn - NLP Course  (1) 2024.11.09
HuggingFace (허깅페이스 소개)  (0) 2024.06.24

Youtube를 보다가 갑작스레 보게 된 재미난 영상 하나가 있었다.

 

출처: https://www.youtube.com/watch?v=y-xopqwEe3I&t=13s&ab_channel=GoogleforDevelopers

 

으잉?! IT 뉴스를 이런 감성으로 전달한다고!?

위 영상의 출처는 다음과 같다.

  - https://www.youtube.com/@GoogleDevelopers

 

출처: https://www.youtube.com/@GoogleDevelopers

 

여기에서 특히 재미있는 것은 "Google Developer News tl;dr"인데,

Web, Mobile, AI, Cloud 관련 소식들을 정말 깔끔하고 재미있게 소개해주고 있다.

 

지루하고 어렵지 않냐고!?

영상에서는 정말 간략하고 핵심적인 내용만 소개하고 자세한 소식은 각자 찾아볼 수 있도록 링크로 제공해준다.

 

출처: https://www.youtube.com/watch?v=coZ6VVJZ2R0&ab_channel=GoogleforDevelopers

 

구글 관련된 소식만 알려주는 것 아니냐고!?

뭐 맞는 말이긴 한데.... 개발자 세상에서 Google이 관여 안된 것을 찾는 것이 더 어렵지 않을까!?

출처: https://www.youtube.com/watch?v=coZ6VVJZ2R0&ab_channel=GoogleforDevelopers

 

TensorFlow도 Google 거다. (이거 모르는 사람 많지 않나!? 나만 몰랐나?! ^^)

Chrome에서 3rd-party Cookie 지원을 24년 1분기부터 순차적으로 종료할건데, 웹 개발하는 사람 모두 알아야 하지 않나!?

AWS를 더 많이 쓰긴 하지만, GCP 기반으로 개발하는 사람들도 많지 않나!?

 

뭐, 구글 소식만 알아도 훌륭한 개발자이지 않을까 한다 ^^

 

그러니, 구독과 좋아요~..... ^^

(Google에서 따로 후원 받지 않았습니다!!!! 아! 애드센스..... 받은건가?????)

 

영어가 부담스러우면 자동 번역하면 되니까 부담 없이 구독해서 정보를 얻으면 좋을 것 같다.

 

한글 좋아하는 저같은 개발자들을 위해 추가적으로 공유하자면

한국 개발자를 위한 블로그도 별도로 운영되고 있다. 최신 업데이트도 꾸준히 되고 있다.

  - https://developers-kr.googleblog.com/

 

출처: https://developers-kr.googleblog.com/

 

한국 개발자를 위한 페이스북도 운영하고 있다.

  - https://www.facebook.com/googlefordevskr/

 

출처: https://www.facebook.com/googlefordevskr/

 

한국 개발자들을 위한 공식 사이트는 다음과 같다.

  - https://sites.google.com/view/gdeveloperskorea/홈

 

출처: https://sites.google.com/view/gdeveloperskorea/홈

 

국내에서는 공식적으로 14개 GDG(Google Developer Groups)가 굴러가고 있는데,

최근에는 GDG SongDo가 이벤트도 많이 하면서 활발한 것 같다.

 

Google for Developers Korea의 공식 유튜브 채널도 있긴한데, 최근 업데이트는 잘 안되고 있다.

  - https://www.youtube.com/channel/UCZU3wmgRuH9gc2E3jhvEE_g

 

출처: https://www.youtube.com/channel/UCZU3wmgRuH9gc2E3jhvEE_g

 

이 글을 포스팅하는 시점에서 유용한 정보 하나 더!

Devfest Cloud 2023이 23년 12월 9일에 있다.

  - https://festa.io/events/4385?fbclid=IwAR12BFTRSFTI9LUbLd8eclbtvm_jIAJ82reVs-8mbECKtWTdzbeuKRoVtnw

 

출처: https://festa.io/

 

개발자 여러분들에게 조금이나마 도움이 되기를 기원해보며 포스팅합니다!!!

반응형

 

출처: https://goomics.net/251/

 

인도로 다니는 자전거, 자전거 도로를 걷는 사람들... 위트있는 그림이다.

 

그런데, 그림을 잘보면... 그림에 나오는 저 장소가 어디인지 맞출 수 있다.

 

컬러풀한 자전거를 보면 ... 그렇다! Google 이다.

 

 

 

구글 내부의 이야기를 들려주는 재미있는 Comics를 볼 수 있는 사이트가 있다.

 

https://goomics.net/

 

Goomics

 

goomics.net

 

 

단행본으로도 나왔다.

 

https://www.amazon.com/Goomics-Googles-corporate-revealed-internal/dp/0988523841

 

Goomics: Google's corporate culture revealed through internal comics

Goomics: Google's corporate culture revealed through internal comics

www.amazon.com

 

 

게시된 그림들을 보면 느낀점은...

 

"저기도 결국은 사람 사는 곳이구나~"

"우리 회사랑 똑같네 뭐~"

 

^^

 

반응형


나이먹은 고리타분한 아저씨가 되어버린 나...

수학이 무서워서, 새로운 것 배우기가 무서워서 피해다녔는데...

결국은 AI/ML 공부를 할 수 밖에 없게 되어버렸다.


뭐 이제와서 내가 Modeler가 되거나 Data Engineer가 될 것은 아니지만

인프라쟁이이기에 최소한 MLOps 관련되어서는 알아야 하기에

기본적인 AI/ML 공부는 해야하는 상황에 놓여졌다.


항상 SW 공부할 때 나만의 환경에서 CLI 위주로 하는 스타일이었는데...

그래서 AI/ML 공부도 그렇게 해보려고 했는데,

결국은 Jupyter Notebook의 편리함을 이용하지 않을 수가 없었다.


Jupyter Notebook도 나의 환경에서 설치해서 해볼 수 있지만,

최근 GCP를 사용해볼 이유도 있어서

Colab 환경을 사용해보기로 마음 먹었다.


그러던 中 Kaggle 에서 제공해주는 데이터를 Colab에 넣어야할 상황이 벌어졌는데

Colab과 Kaggle을 바로 연결할 수 있는 방법이 있다고 해서

한 번 알아보았다.


1. Colab

    - 구글에서 무료로 제공해주는 훌륭한 머신러닝 개발환경이다.

    - 제공해주는 환경의 스펙이 아래와 같다고 한다. 와우~!! 대박~!!

        . CPU : 제온

        . Mem : 13GB

        . HDD : 320GB

        . GPU : NVidia Tesla K80

    - https://colab.research.google.com/



2. 준비

    - Colab 접속 후 아래와 같이 "파일 - 새 Python 3 노트"를 선택하자.




3. Kaggle 설치

    - "!"를 앞에 붙이면 시스템 명령어를 사용할 수 있다.

    - 타이핑 후 왼쪽의 화살표(?)를 클릭하면 실행된다.




4. Kaggle 인증키 다운로드

    - Colab에서 Kaggle 데이터를 가져오기 위해서는 접근할 수 있는 권한이 있어야 한다.

    - Kaggle 사이트에서 내 계정에 대한 인증키를 얻어보자.



    - "Edit Profile"을 클릭한 다음



    - "Create New API Token"을 클릭하면, "kaggle.json" 파일이 다운로드 된다.



5. 인증키 업로드

    - 다운로드 받은 인증키를 Colab에 업로드하자.



    - 윗 부분의 "+ 코드"를 선택하면 새로운 라인이 추가된다.

    - 아래 코드를 넣은 뒤 왼쪽 플레이 버튼을 누르면 "파일 선택" 버튼이 나온다.


from google.colab import files

files.upload()


    - "파일 선택"을 누른 뒤 아까 다운로드 받은 Kaggle 인증키 파일을 골라주면 위와 같이 나온다.



6. 인증키 복사하기

    - 업로드된 인증키를 정해진 곳에 넣어줘야 한다.

    - kaggle을 위한 디렉토리를 우선 만들어보자.


!ls -al

!mkdir -p ~/.kaggle

!ls -al ~/


    - 인증키를 복사한 뒤 속성 변경까지 해놓자

!cp kaggle.json ~/.kaggle/kaggle.json

!chmod 600 ~/.kaggle/kaggle.json

!ls -al ~/.kaggle/


    - 위와 같이 한 번에 여러 라인을 넣을 수도 있다.



7. Kaggle 데이터 목록

    - Kaggle 데이터 목록을 살펴볼 수 있다.



!kaggle competitions list



8. Kaggle 데이터 확인하기

    - Kaggle 사이트에서 Dataset을 보면 다운로드를 받을 수 있는 API를 확인할 수 있다.




9. Titanic 데이터 다운로드

    - Colab에 다운로드 받아보자.

    - 주의할 점은 시스템 실행을 위해서 항상 앞에 "!"를 붙여야 한다.



모두들 즐거운 머신러닝 생활~~~~!!!

반응형


머신러닝에 대해서 공부를 한다고 하면,

예전에는 (아직도) R 등과 같은 수학에 맞춰진 언어를 소개하기도 하지만 대부분은 Python을 추천한다.


사실은 Python이라는 언어 자체가 중요한 것이 아니라

머신러닝을 할 때 필요한 많은 기능(?)들을 제공해주는 라이브러리들이 중요한데

Pandas, Numpy 라이브러리가 워낙에 잘 되어 있어서 Python을 사용하라고 하는 것이다.

물론 Python이라는 언어 자체도 매력적이긴 하지만...



이에 대해서 공부를 하고자 하는 분들에게 드리는 좋은 정보~


Google에서 무려 한국어로 제공해주는 "머신러닝 단기집중과정" 온라인 강좌

https://developers.google.com/machine-learning/crash-course


그 중에서도 Pandas에 대해서 직접 실습해가며 배울 수 있는 정말 멋진 과정

- https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=pandas-colab&hl=ko



그런데, 위의 내용 말고도 좋은 강좌가 하나 더 있다.

머신러닝에 대해서 공부하다보면 누구나 알게 되는 Kaggle !!


 Kaggle에서도 Pandas에 대해서 친절한 강좌를 제공해준다.

https://www.kaggle.com/learn/pandas


4시간이면 끝낼 수 있단다~!! ^^ (필자는 멍청해서 4일은 걸릴듯... ㅠㅜ)




모두들 즐거운 머신러닝 공부시간 되세요~


반응형

구글의 마스터 플랜을 고해상도로 복원한 사이트
http://undergoogle.com/tools/GoogleMasterPlan.html


이미 개인의 프라이버시는 없다라는 전제에서 출발한 Google Master Plan은 독일의 대학 학사 논문으로 Ozan Halici와 Jurgen Mayer에 의해서 제작된 동영상이다.
http://podcast.co.kr/entry/구글의-야망을-담은-3분짜리-비디오-Google-Master-Plan
http://masterplanthemovie.com/





반응형

+ Recent posts