langchain-google-genai
This package contains the LangChain integrations for Gemini through their generative-ai SDK.
Installation
pip install -U langchain-google-genai
Image utilities
To use image utility methods, like loading images from GCS urls, install with extras group 'images':
pip install -e "langchain-google-genai[images]"
Chat Models
This package contains the ChatGoogleGenerativeAI class, which is the recommended way to interface with the Google Gemini series of models.
To use, install the requirements, and configure your environment.
export GOOGLE_API_KEY=your-api-key
Then initialize
from langchain_google_genai import ChatGoogleGenerativeAI
llm = ChatGoogleGenerativeAI(model="gemini-pro")
llm.invoke("Sing a ballad of LangChain.")
Multimodal inputs
Gemini vision model supports image inputs when providing a single chat message. Example:
from langchain_core.messages import HumanMessage
from langchain_google_genai import ChatGoogleGenerativeAI
llm = ChatGoogleGenerativeAI(model="gemini-pro-vision")
# example
message = HumanMessage(
content=[
{
"type": "text",
"text": "What's in this image?",
}, # You can optionally provide text parts
{"type": "image_url", "image_url": "https://picsum.photos/seed/picsum/200/300"},
]
)
llm.invoke([message])
The value of image_url can be any of the following:
- A public image URL
- An accessible gcs file (e.g., "gcs://path/to/file.png")
- A local file path
- A base64 encoded image (e.g.,
data:image/png;base64,abcd124) - A PIL image
Embeddings
This package also adds support for google's embeddings models.
from langchain_google_genai import GoogleGenerativeAIEmbeddings
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
embeddings.embed_query("hello, world!")
Semantic Retrieval
Enables retrieval augmented generation (RAG) in your application.
# Create a new store for housing your documents.
corpus_store = GoogleVectorStore.create_corpus(display_name="My Corpus")
# Create a new document under the above corpus.
document_store = GoogleVectorStore.create_document(
corpus_id=corpus_store.corpus_id, display_name="My Document"
)
# Upload some texts to the document.
text_splitter = CharacterTextSplitter(chunk_size=500, chunk_overlap=0)
for file in DirectoryLoader(path="data/").load():
documents = text_splitter.split_documents([file])
document_store.add_documents(documents)
# Talk to your entire corpus with possibly many documents.
aqa = corpus_store.as_aqa()
answer = aqa.invoke("What is the meaning of life?")
# Read the response along with the attributed passages and answerability.
print(response.answer)
print(response.attributed_passages)
print(response.answerable_probability)
Metadata
Release files for gigachain-google-genai 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gigachain_google_genai-2.0.0.tar.gz | 35.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gigachain_google_genai-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.0 kB
Release files / gigachain_google_genai-2.0.0.tar.gz
| Download URL | gigachain_google_genai-2.0.0.tar.gz |
|---|---|
| Size | 35.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac702e332883b1325ec296447cdd6ed904a7fdef3a2f6bbee2bb0373b0310755
|
|
BLAKE2b-256 checksum How to use checksums |
e8fb1e26335f3f1d88093e9f34fc56cfa55fc687100c527107d162bcee463cb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0
|
Release files / gigachain_google_genai-2.0.0-py3-none-any.whl
| Download URL | gigachain_google_genai-2.0.0-py3-none-any.whl |
|---|---|
| Size | 39.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da2638d062a60c4590baf92e08715c831a8e5e3e499f4f9bf3a9b0d244ab5127
|
|
BLAKE2b-256 checksum How to use checksums |
baa75d377f5814e92f095c4a40cc193a01a462cf5b48f9df9df75a83b3669fa5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0
|