Skip to main content

An integration package connecting Google VertexAI and LangChain

Project description

langchain-google-vertexai

This package contains the LangChain integrations for Google Cloud generative models.

Installation

pip install -U langchain-google-vertexai

Chat Models

ChatVertexAI class exposes models such as gemini-pro and chat-bison.

To use, you should have Google Cloud project with APIs enabled, and configured credentials. Initialize the model as:

from langchain_google_vertexai import ChatVertexAI

llm = ChatVertexAI(model_name="gemini-pro")
llm.invoke("Sing a ballad of LangChain.")

You can use other models, e.g. chat-bison:

from langchain_google_vertexai import ChatVertexAI

llm = ChatVertexAI(model_name="chat-bison", temperature=0.3)
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_vertexai import ChatVertexAI

llm = ChatVertexAI(model_name="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": {"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)

Embeddings

You can use Google Cloud's embeddings models as:

from langchain_google_vertexai import VertexAIEmbeddings

embeddings = VertexAIEmbeddings()
embeddings.embed_query("hello, world!")

LLMs

You can use Google Cloud's generative AI models as Langchain LLMs:

from langchain_core.prompts import PromptTemplate
from langchain_google_vertexai import ChatVertexAI

template = """Question: {question}

Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)

llm = ChatVertexAI(model_name="gemini-pro")
chain = prompt | llm

question = "Who was the president of the USA in 1994?"
print(chain.invoke({"question": question}))

You can use Gemini and Palm models, including code-generations ones:

from langchain_google_vertexai import VertexAI

llm = VertexAI(model_name="code-bison", max_output_tokens=1000, temperature=0.3)

question = "Write a python function that checks if a string is a valid email address"

output = llm(question)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file pascalnobereit_langchain_google_vertexai-0.1.4.tar.gz.

File metadata

File hashes

Hashes for pascalnobereit_langchain_google_vertexai-0.1.4.tar.gz
Algorithm Hash digest
SHA256 403b80979ac1a62bff6fd6d5b029704cd228d97849a0e83504009f445fc2c969
MD5 eede3873e5d4536dcbb25fb4a2978ef4
BLAKE2b-256 1046826893698b37b8fe3d412df0be5d3a9a27712b7667291710f2ff7de3f7ca

See more details on using hashes here.

File details

Details for the file pascalnobereit_langchain_google_vertexai-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for pascalnobereit_langchain_google_vertexai-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1feef96e94160fc3a7f2ce59d49238faa426ec08e393ca42578a6830f5c14e60
MD5 2e7c6c8907a1a9d08e2c8dd50d9f1b46
BLAKE2b-256 10dd82cd5adef7dbd1de8f599ad8912cbd3b5d0f69eeecc94076ab7d33af6091

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page