跳到主要內容
Open In ColabOpen on GitHub

ChatGroq

這將幫助您開始使用 Groq 聊天模型。如需所有 ChatGroq 功能和配置的詳細文件,請前往 API 參考。如需所有 Groq 模型的列表,請訪問此連結

概觀

整合詳細資訊

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

模型功能

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

設定

要存取 Groq 模型,您需要建立一個 Groq 帳戶、取得 API 金鑰,並安裝 langchain-groq 整合套件。

憑證

前往 Groq 控制台 註冊 Groq 並產生 API 金鑰。完成後,設定 GROQ_API_KEY 環境變數

import getpass
import os

if "GROQ_API_KEY" not in os.environ:
os.environ["GROQ_API_KEY"] = getpass.getpass("Enter your Groq API key: ")

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

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

安裝

LangChain Groq 整合位於 langchain-groq 套件中

%pip install -qU langchain-groq

實例化

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

from langchain_groq import ChatGroq

llm = ChatGroq(
model="llama-3.1-8b-instant",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
# other params...
)
API 參考:ChatGroq

調用

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='The translation of "I love programming" to French is:\n\n"J\'adore le programmation."', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 22, 'prompt_tokens': 55, 'total_tokens': 77, 'completion_time': 0.029333333, 'prompt_time': 0.003502892, 'queue_time': 0.553054073, 'total_time': 0.032836225}, 'model_name': 'llama-3.1-8b-instant', 'system_fingerprint': 'fp_a491995411', 'finish_reason': 'stop', 'logprobs': None}, id='run-2b2da04a-993c-40ab-becc-201eab8b1a1b-0', usage_metadata={'input_tokens': 55, 'output_tokens': 22, 'total_tokens': 77})
print(ai_msg.content)
The translation of "I love programming" to French is:

"J'adore le programmation."

串鏈

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

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.', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 6, 'prompt_tokens': 50, 'total_tokens': 56, 'completion_time': 0.008, 'prompt_time': 0.003337935, 'queue_time': 0.20949214500000002, 'total_time': 0.011337935}, 'model_name': 'llama-3.1-8b-instant', 'system_fingerprint': 'fp_a491995411', 'finish_reason': 'stop', 'logprobs': None}, id='run-e33b48dc-5e55-466e-9ebd-7b48c81c3cbd-0', usage_metadata={'input_tokens': 50, 'output_tokens': 6, 'total_tokens': 56})

API 參考

如需所有 ChatGroq 功能和配置的詳細文件,請前往 API 參考:https://langchain-python.dev.org.tw/api_reference/groq/chat_models/langchain_groq.chat_models.ChatGroq.html


此頁面是否對您有幫助?