From 3bdc35d238d2297268a989e69943c16fa11feef2 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 30 Jun 2023 10:09:29 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(llm.py):=20add=20function?= =?UTF-8?q?=20to=20initialize=20VertexAI=20credentials=20=F0=9F=94=A7=20ch?= =?UTF-8?q?ore(loading.py):=20call=20initialize=5Fvertexai=20function=20wh?= =?UTF-8?q?en=20node=5Ftype=20is=20"VertexAI"=20The=20`llm.py`=20file=20no?= =?UTF-8?q?w=20includes=20a=20new=20function=20`initialize=5Fvertexai`=20t?= =?UTF-8?q?hat=20initializes=20the=20VertexAI=20credentials=20if=20a=20`cr?= =?UTF-8?q?edentials`=20parameter=20is=20provided.=20This=20allows=20for?= =?UTF-8?q?=20the=20usage=20of=20VertexAI=20credentials=20in=20the=20appli?= =?UTF-8?q?cation.=20In=20`loading.py`,=20the=20`initialize=5Fvertexai`=20?= =?UTF-8?q?function=20is=20called=20when=20the=20`node=5Ftype`=20is=20"Ver?= =?UTF-8?q?texAI",=20ensuring=20that=20the=20VertexAI=20credentials=20are?= =?UTF-8?q?=20properly=20initialized=20for=20that=20specific=20node=20type?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/initialize/llm.py | 9 +++++++++ src/backend/langflow/interface/initialize/loading.py | 3 +++ 2 files changed, 12 insertions(+) create mode 100644 src/backend/langflow/interface/initialize/llm.py diff --git a/src/backend/langflow/interface/initialize/llm.py b/src/backend/langflow/interface/initialize/llm.py new file mode 100644 index 000000000..2b9fa3b2e --- /dev/null +++ b/src/backend/langflow/interface/initialize/llm.py @@ -0,0 +1,9 @@ +def initialize_vertexai(class_object, params): + if credentials_path := params.get("credentials"): + from google.oauth2 import service_account + + credentials_object = service_account.Credentials.from_service_account_file( + filename=credentials_path + ) + params["credentials"] = credentials_object + return class_object(**params) diff --git a/src/backend/langflow/interface/initialize/loading.py b/src/backend/langflow/interface/initialize/loading.py index 3ddb64c24..c90713a08 100644 --- a/src/backend/langflow/interface/initialize/loading.py +++ b/src/backend/langflow/interface/initialize/loading.py @@ -6,6 +6,7 @@ from langchain.agents import agent as agent_module from langchain.agents.agent import AgentExecutor from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.agents.tools import BaseTool +from langflow.interface.initialize.llm import initialize_vertexai from langflow.interface.initialize.vector_store import vecstore_initializer @@ -89,6 +90,8 @@ def instantiate_llm(node_type, class_object, params: Dict): # if "openai_api_base" in params and "jina" in params["openai_api_base"]: # False if condition is True ChatConfig.streaming = "jina" not in params.get("openai_api_base", "") + if node_type == "VertexAI": + return initialize_vertexai(class_object=class_object, params=params) return class_object(**params)