1인개발 수익화/나의 프로젝트

구글 제미나이 api 키 발급받아서 적용해보기 (python)

주영 🐱 2024. 8. 13. 17:41
728x90
반응형

1. 키 받기

https://aistudio.google.com/app/apikey 사이트에 접속한 후 [Get API key] 버튼을 클릭합니다.

 

발급 받으면 복사한다. 

 

설치

pip install -q -U google-generativeai
export API_KEY=<YOUR_API_KEY>

 

Generate text

텍스트 생성하는 코드

 

import google.generativeai as genai
import os

genai.configure(api_key=os.environ["API_KEY"])

model = genai.GenerativeModel('gemini-1.5-flash')

response = model.generate_content("Write a story about an AI and magic")
print(response.text)

 

Generate text from text-and-image input

번외 - 텍스트와 이미지를모두 입력으로 넣고 아웃풋으로 텍스트 생성받기

 

import PIL.Image

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

 

전부 다 생성될때 까지 기다리는 것이 아닌 실시간으로 부분 부분 결과 받기

odel = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

 

 

대화 만들기

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)

 

 

모델 정의하기

다양한 파라미터 주기 가능

파라미터 목록과 설명- https://ai.google.dev/gemini-api/docs/models/generative-models?_gl=1*1r4wf37*_up*MQ..*_ga*MjU2Nzg4MTMzLjE3MjM1Mzc0MjQ.*_ga_P1DBVKWT6V*MTcyMzUzNzQyNC4xLjAuMTcyMzUzNzQyNC4wLjAuOTMxNjAzNw..#model-parameters

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
    "Tell me a story about a magic backpack.",
    generation_config=genai.types.GenerationConfig(
        # Only one candidate for now.
        candidate_count=1,
        stop_sequences=["x"],
        max_output_tokens=20,
        temperature=1.0,
    ),
)

print(response.text)

 

 

 

출처

 

https://ai.google.dev/gemini-api/docs/quickstart?_gl=1*vc80ii*_up*MQ..*_ga*MjU2Nzg4MTMzLjE3MjM1Mzc0MjQ.*_ga_P1DBVKWT6V*MTcyMzUzNzQyNC4xLjAuMTcyMzUzNzQyNC4wLjAuOTMxNjAzNw..&lang=python

 

 

반응형