mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-23 19:39:58 +00:00
Update Vertex AI to include Gemini (#14670)
h/t to @lkuligin - **Description:** added new models on VertexAI - **Twitter handle:** @lkuligin --------- Co-authored-by: Leonid Kuligin <lkuligin@yandex.ru> Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
This commit is contained in:
@@ -11,6 +11,7 @@ from langchain_core.language_models.llms import BaseLLM, create_base_retry_decor
|
||||
if TYPE_CHECKING:
|
||||
from google.api_core.gapic_v1.client_info import ClientInfo
|
||||
from google.auth.credentials import Credentials
|
||||
from vertexai.preview.generative_models import Image
|
||||
|
||||
|
||||
def create_retry_decorator(
|
||||
@@ -37,7 +38,7 @@ def create_retry_decorator(
|
||||
return decorator
|
||||
|
||||
|
||||
def raise_vertex_import_error(minimum_expected_version: str = "1.36.0") -> None:
|
||||
def raise_vertex_import_error(minimum_expected_version: str = "1.38.0") -> None:
|
||||
"""Raise ImportError related to Vertex SDK being not available.
|
||||
|
||||
Args:
|
||||
@@ -105,3 +106,19 @@ def get_client_info(module: Optional[str] = None) -> "ClientInfo":
|
||||
client_library_version=client_library_version,
|
||||
user_agent=f"langchain/{client_library_version}",
|
||||
)
|
||||
|
||||
|
||||
def load_image_from_gcs(path: str, project: Optional[str] = None) -> "Image":
|
||||
"""Loads im Image from GCS."""
|
||||
try:
|
||||
from google.cloud import storage
|
||||
except ImportError:
|
||||
raise ImportError("Could not import google-cloud-storage python package.")
|
||||
from vertexai.preview.generative_models import Image
|
||||
|
||||
gcs_client = storage.Client(project=project)
|
||||
pieces = path.split("/")
|
||||
blobs = list(gcs_client.list_blobs(pieces[2], prefix="/".join(pieces[3:])))
|
||||
if len(blobs) > 1:
|
||||
raise ValueError(f"Found more than one candidate for {path}!")
|
||||
return Image.from_bytes(blobs[0].download_as_bytes())
|
||||
|
Reference in New Issue
Block a user