跳到主要內容

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 模式圖片輸入音訊輸入影片輸入Token 級別串流原生異步Token 使用量Logprobs

設定

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

憑證

若要使用整合,您必須

  • 已為您的環境設定憑證(gcloud、workload identity 等...)
  • 將服務帳戶 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...
)

調用

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


此頁面是否對您有幫助?