GoogleAIGeminiGenerator
GoogleAIGeminiGenerator
Google Gemini 모델을 사용해 텍스트 생성을 가능하게 하는 구성 요소예요.
Deprecation Notice
이 통합은 2025년 8월 이후 지원이 중단되는 구식
google-generativeaiSDK를 사용해요. 새GoogleGenAIChatGenerator통합으로 전환하는 것을 권장해요.
출처: 문서
본문
GoogleAIGeminiGenerator는 gemini-3.8-flash(기본값), gemini-3.7-flash, gemini-2.5-pro, gemini-2.5-flash 같은 Gemini 모델을 지원해요. 사용 가능한 모델은 https://ai.google.dev/gemini-api/docs/models/gemini에서 확인하세요.
Parameters Overview
GoogleAIGeminiGenerator는 인증에 Google AI Studio API 키를 사용해요. 이 키를 api_key 파라미터로 적거나 GOOGLE_API_KEY 환경 변수(권장)로 설정할 수 있어요. API 키를 얻으려면 Google AI Studio 웹사이트를 방문하세요.
Streaming
이 Generator는 LLM의 토큰을 출력으로 직접 스트리밍하는 것을 지원해요. 그러려면 streaming_callback init 파라미터에 함수를 전달하세요.
- 대표적인 파이프라인 위치:
PromptBuilder뒤 - 필수 init 변수:
api_key— Google AI Studio API 키.GOOGLE_API_KEYenv var로 설정 가능. - 필수 run 변수:
parts— Gemini에 프롬프트할 이미지·오디오·비디오·텍스트가 섞인 가변 인자 리스트 - 출력 변수:
replies— 모델이 생성한 모든 답변의 문자열 또는 딕셔너리 리스트 - API reference: Google AI
- 패키지명:
google-ai-haystack
Usage
GoogleAIGeminiGenerator를 사용하려면 먼저 google-ai-haystack 패키지를 설치하세요:
pip install google-ai-haystack
On its own
기본 사용법:
import os
from haystack_integrations.components.generators.google_ai import (
GoogleAIGeminiGenerator,
)
os.environ["GOOGLE_API_KEY"] = "<MY_API_KEY>"
gemini = GoogleAIGeminiGenerator(model="gemini-3.8-flash")
res = gemini.run(parts=["What is the most interesting thing you know?"])
for answer in res["replies"]:
print(answer)
텍스트와 이미지를 함께 입력으로 사용하는 더 고급 사용법:
import requests
import os
from haystack.dataclasses.byte_stream import ByteStream
from haystack_integrations.components.generators.google_ai import (
GoogleAIGeminiGenerator,
)
URLS = [
"https://raw.githubusercontent.com/silvanocerza/robots/main/robot1.jpg",
"https://raw.githubusercontent.com/silvanocerza/robots/main/robot2.jpg",
"https://raw.githubusercontent.com/silvanocerza/robots/main/robot3.jpg",
"https://raw.githubusercontent.com/silvanocerza/robots/main/robot4.jpg",
]
images = [
ByteStream(data=requests.get(url).content, mime_type="image/jpeg") for url in URLS
]
os.environ["GOOGLE_API_KEY"] = "<MY_API_KEY>"
gemini = GoogleAIGeminiGenerator(model="gemini-3.8-flash")
result = gemini.run(parts=["What can you tell me about this robots?", *images])
for answer in result["replies"]:
print(answer)
In a pipeline
RAG 파이프라인:
import os
from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
from haystack.components.builders import PromptBuilder
from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack_integrations.components.generators.google_ai import (
GoogleAIGeminiGenerator,
)
os.environ["GOOGLE_API_KEY"] = "<MY_API_KEY>"
docstore = InMemoryDocumentStore()
template = """Given the following information, answer the question.Context:
{% for document in documents %}
{{ document.content }}
{% endfor %}
Question: What's the official language of {{ country }}?"""
pipe = Pipeline()
pipe.add_component("retriever", InMemoryBM25Retriever(document_store=docstore))
pipe.add_component("prompt_builder", PromptBuilder(template=template))
pipe.add_component("gemini", GoogleAIGeminiGenerator(model="gemini-pro"))
pipe.connect("retriever", "prompt_builder.documents")
pipe.connect("prompt_builder", "gemini")
pipe.run({"prompt_builder": {"country": "France"}})