跳到主要內容
Open In ColabOpen on GitHub

ChatVertexAI

本頁面快速概述了 VertexAI 聊天模型的入門方法。如需所有 ChatVertexAI 功能和設定的詳細文件,請參閱 API 參考文件

ChatVertexAI 公開了 Google Cloud 中提供的所有基礎模型,例如 gemini-1.5-progemini-1.5-flash 等。如需可用模型的完整和最新列表,請造訪 VertexAI 文件

Google Cloud VertexAI 與 Google PaLM

Google Cloud VertexAI 整合與 Google PaLM 整合是分開的。Google 已選擇透過 GCP 提供 PaLM 的企業版本,並且這支援透過該版本提供的模型。

概觀

整合詳細資訊

類別套件本地可序列化JS 支援套件下載套件最新版
ChatVertexAIlangchain-google-vertexaibetaPyPI - DownloadsPyPI - Version

模型功能

工具呼叫結構化輸出JSON 模式影像輸入音訊輸入視訊輸入權杖級串流原生非同步權杖用量Logprobs

設定

若要存取 VertexAI 模型,您需要建立 Google Cloud Platform 帳戶、設定憑證,並安裝 langchain-google-vertexai 整合套件。

憑證

若要使用整合,您必須

  • 已為您的環境設定憑證(gcloud、工作負載身分等...)
  • 將服務帳戶 JSON 檔案的路徑儲存為 GOOGLE_APPLICATION_CREDENTIALS 環境變數

此程式碼庫使用 google.auth 程式庫,該程式庫首先尋找上述應用程式憑證變數,然後尋找系統級驗證。

如需更多資訊,請參閱

如果您想要取得模型呼叫的自動追蹤,您也可以透過取消註解下方內容來設定您的 LangSmith API 金鑰

# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"

安裝

LangChain VertexAI 整合位於 langchain-google-vertexai 套件中

%pip install -qU langchain-google-vertexai
Note: you may need to restart the kernel to use updated packages.

例項化

現在我們可以例項化我們的模型物件並產生聊天完成

from langchain_google_vertexai import ChatVertexAI

llm = ChatVertexAI(
model="gemini-1.5-flash-001",
temperature=0,
max_tokens=None,
max_retries=6,
stop=None,
# other params...
)
API 參考文件:ChatVertexAI

調用

messages = [
(
"system",
"You are a helpful assistant that translates English to French. Translate the user sentence.",
),
("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
ai_msg
AIMessage(content="J'adore programmer. \n", response_metadata={'is_blocked': False, 'safety_ratings': [{'category': 'HARM_CATEGORY_HATE_SPEECH', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_DANGEROUS_CONTENT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HARASSMENT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}], 'usage_metadata': {'prompt_token_count': 20, 'candidates_token_count': 7, 'total_token_count': 27}}, id='run-7032733c-d05c-4f0c-a17a-6c575fdd1ae0-0', usage_metadata={'input_tokens': 20, 'output_tokens': 7, 'total_tokens': 27})
print(ai_msg.content)
J'adore programmer.

鏈結

我們可以像這樣使用提示範本鏈結我們的模型

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)

chain = prompt | llm
chain.invoke(
{
"input_language": "English",
"output_language": "German",
"input": "I love programming.",
}
)
API 參考文件:ChatPromptTemplate
AIMessage(content='Ich liebe Programmieren. \n', response_metadata={'is_blocked': False, 'safety_ratings': [{'category': 'HARM_CATEGORY_HATE_SPEECH', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_DANGEROUS_CONTENT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HARASSMENT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT', 'probability_label': 'NEGLIGIBLE', 'blocked': False}], 'usage_metadata': {'prompt_token_count': 15, 'candidates_token_count': 8, 'total_token_count': 23}}, id='run-c71955fd-8dc1-422b-88a7-853accf4811b-0', usage_metadata={'input_tokens': 15, 'output_tokens': 8, 'total_tokens': 23})

API 參考文件

如需所有 ChatVertexAI 功能和設定的詳細文件,例如如何傳送多模態輸入和設定安全設定,請參閱 API 參考文件:https://langchain-python.dev.org.tw/api_reference/google_vertexai/chat_models/langchain_google_vertexai.chat_models.ChatVertexAI.html


此頁面是否有幫助?