本页还没有译文
本页 32 段还没译成简体中文,下面显示的是英文原文。ChatGroq integration
还没翻译译自英文(docs.langchain.com)本页 32 段都还没译
Warning
This page makes reference to Groq, an AI hardware and software company. For information on how to use Grok models (provided by xAI), see the xAI provider page.
Tip
API Reference
For detailed documentation of all features and configuration options, head to the ChatGroq API reference.
For a list of all Groq models, visit their docs.
Overview
Integration details
| Class | Package | Serializable | JS support | Downloads | Version |
|---|---|---|---|---|---|
ChatGroq | langchain-groq | beta | ✅ |
Model features
| Tool calling | Structured output | Image input | Audio input | Video input | Token-level streaming | Native async | Token usage | Logprobs |
|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Setup
To access Groq models you'll need to create a Groq account, get an API key, and install the langchain-groq integration package.
Credentials
Head to the Groq console to sign up to Groq and generate an API key. Once you've done this set the GROQ_API_KEY environment variable:
import getpass
import os
if "GROQ_API_KEY" not in os.environ:
os.environ["GROQ_API_KEY"] = getpass.getpass("Enter your Groq API key: ")To enable automated tracing of your model calls, set your LangSmith API key:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"Installation
The LangChain Groq integration lives in the langchain-groq package:
pip install -qU langchain-groqInstantiation
Now we can instantiate our model object and generate chat completions.
Note
Reasoning Format
If you choose to set a reasoning_format, you must ensure that the model you are using supports it. You can find a list of supported models in the Groq documentation.
from langchain_groq import ChatGroq
llm = ChatGroq(
model="qwen/qwen3-32b",
temperature=0,
max_tokens=None,
reasoning_format="parsed",
timeout=None,
max_retries=2,
# other params...
)Invocation
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_msgAIMessage(content="J'aime la programmation.", additional_kwargs={'reasoning_content': 'Okay, so I need to translate the sentence "I love programming." into French. Let me think about how to approach this. \n\nFirst, I know that "I" in French is "Je." That\'s straightforward. Now, the verb "love" in French is "aime" when referring to oneself. So, "I love" would be "J\'aime." \n\nNext, the word "programming." In French, programming is "la programmation." But wait, in French, when you talk about loving an activity, you often use the definite article. So, it would be "la programmation." \n\nPutting it all together, "I love programming" becomes "J\'aime la programmation." That sounds right. I think that\'s the correct translation. \n\nI should double-check to make sure I\'m not missing anything. Maybe I can think of similar phrases. For example, "I love reading" is "J\'aime lire," but when it\'s a noun, like "I love music," it\'s "J\'aime la musique." So, yes, using "la programmation" makes sense here. \n\nI don\'t think I need to change anything else. The sentence structure in French is Subject-Verb-Object, just like in English, so "J\'aime la programmation" should be correct. \n\nI guess another way to say it could be "J\'adore la programmation," using "adore" instead of "aime," but "aime" is more commonly used in this context. So, sticking with "J\'aime la programmation" is probably the best choice.\n'}, response_metadata={'token_usage': {'completion_tokens': 346, 'prompt_tokens': 23, 'total_tokens': 369, 'completion_time': 1.447541218, 'prompt_time': 0.000983386, 'queue_time': 0.009673684, 'total_time': 1.448524604}, 'model_name': 'deepseek-r1-distill-llama-70b', 'system_fingerprint': 'fp_e98d30d035', 'finish_reason': 'stop', 'logprobs': None}, id='run--5679ae4f-f4e8-4931-bcd5-7304223832c0-0', usage_metadata={'input_tokens': 23, 'output_tokens': 346, 'total_tokens': 369})print(ai_msg.content)J'aime la programmation.Vision
Groq supports vision capabilities with select models, allowing you to send images along with text prompts.
Note
Vision-capable models
meta-llama/llama-4-scout-17b-16e-instructmeta-llama/llama-4-maverick-17b-128e-instruct
For the latest list of vision-capable models, check the Groq documentation.
from langchain_groq import ChatGroq
from langchain.messages import HumanMessage
llm = ChatGroq(model="meta-llama/llama-4-scout-17b-16e-instruct")
message = HumanMessage(
content=[
{"type": "text", "text": "Describe this image in detail."},
{
"type": "image_url",
"image_url": {"url": "https://example.com/image.jpg"},
},
]
)
response = llm.invoke([message])
print(response.content)Tip
Image URL requirements
Groq fetches images from URLs directly. Ensure your image URLs:
- Are publicly accessible (no authentication required)
- Return the image directly (no redirects)
- Maximum image size: 20MB per request
API reference
For detailed documentation of all ChatGroq features and configurations head to the API reference.