diff --git a/libs/partners/groq/langchain_groq/chat_models.py b/libs/partners/groq/langchain_groq/chat_models.py index 9cfaa31042a..d98eb734610 100644 --- a/libs/partners/groq/langchain_groq/chat_models.py +++ b/libs/partners/groq/langchain_groq/chat_models.py @@ -430,7 +430,9 @@ class ChatGroq(BaseChatModel): max_tokens: int | None = None """Maximum number of tokens to generate.""" - service_tier: Literal["on_demand", "flex", "auto"] = Field(default="on_demand") + service_tier: Literal["on_demand", "flex", "auto", "performance"] = Field( + default="on_demand" + ) """Optional parameter that you can include to specify the service tier you'd like to use for requests. @@ -440,6 +442,8 @@ class ChatGroq(BaseChatModel): reliability for workloads that don't require guaranteed processing. - `'auto'`: Uses on-demand rate limits, then falls back to `'flex'` if those limits are exceeded + - `'performance'`: Highest tier, providing reliable low latency for the most + critical production applications. See the [Groq documentation](https://console.groq.com/docs/flex-processing) for more details and a list of service tiers and descriptions. diff --git a/libs/partners/groq/tests/integration_tests/test_chat_models.py b/libs/partners/groq/tests/integration_tests/test_chat_models.py index bd43972b1f3..e1cba270728 100644 --- a/libs/partners/groq/tests/integration_tests/test_chat_models.py +++ b/libs/partners/groq/tests/integration_tests/test_chat_models.py @@ -574,6 +574,9 @@ def test_setting_service_tier_class() -> None: response = chat.invoke([message]) assert response.response_metadata.get("service_tier") == "on_demand" + chat = ChatGroq(model=DEFAULT_MODEL_NAME, service_tier="performance") + assert chat.service_tier == "performance" + chat = ChatGroq(model=DEFAULT_MODEL_NAME) assert chat.service_tier == "on_demand" response = chat.invoke([message])