validate_environment() — langchain Function Reference
Architecture documentation for the validate_environment() function in azure.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD f701582b_d206_e30b_7646_574b71a2d72f["validate_environment()"] 4b940a4c_8618_3ca0_9fa5_c378f5b8f6ac["AzureChatOpenAI"] f701582b_d206_e30b_7646_574b71a2d72f -->|defined in| 4b940a4c_8618_3ca0_9fa5_c378f5b8f6ac style f701582b_d206_e30b_7646_574b71a2d72f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/openai/langchain_openai/chat_models/azure.py lines 596–702
def validate_environment(self) -> Self:
"""Validate that api key and python package exists in environment."""
if self.n is not None and self.n < 1:
msg = "n must be at least 1."
raise ValueError(msg)
if self.n is not None and self.n > 1 and self.streaming:
msg = "n must be 1 when streaming."
raise ValueError(msg)
if self.disabled_params is None:
# As of 09-17-2024 'parallel_tool_calls' param is only supported for gpt-4o.
if self.model_name and self.model_name == "gpt-4o":
pass
else:
self.disabled_params = {"parallel_tool_calls": None}
# Check OPENAI_ORGANIZATION for backwards compatibility.
self.openai_organization = (
self.openai_organization
or os.getenv("OPENAI_ORG_ID")
or os.getenv("OPENAI_ORGANIZATION")
)
# Enable stream_usage by default if using default base URL and client
if all(
getattr(self, key, None) is None
for key in (
"stream_usage",
"openai_proxy",
"openai_api_base",
"base_url",
"client",
"root_client",
"async_client",
"root_async_client",
"http_client",
"http_async_client",
)
):
self.stream_usage = True
# For backwards compatibility. Before openai v1, no distinction was made
# between azure_endpoint and base_url (openai_api_base).
openai_api_base = self.openai_api_base
if openai_api_base and self.validate_base_url:
if "/openai" not in openai_api_base:
msg = (
"As of openai>=1.0.0, Azure endpoints should be specified via "
"the `azure_endpoint` param not `openai_api_base` "
"(or alias `base_url`)."
)
raise ValueError(msg)
if self.deployment_name:
msg = (
"As of openai>=1.0.0, if `azure_deployment` (or alias "
"`deployment_name`) is specified then "
"`base_url` (or alias `openai_api_base`) should not be. "
"If specifying `azure_deployment`/`deployment_name` then use "
"`azure_endpoint` instead of `base_url`.\n\n"
"For example, you could specify:\n\n"
'azure_endpoint="https://xxx.openai.azure.com/", '
'azure_deployment="my-deployment"\n\n'
"Or you can equivalently specify:\n\n"
'base_url="https://xxx.openai.azure.com/openai/deployments/my-deployment"'
)
raise ValueError(msg)
client_params: dict = {
"api_version": self.openai_api_version,
"azure_endpoint": self.azure_endpoint,
"azure_deployment": self.deployment_name,
"api_key": (
self.openai_api_key.get_secret_value() if self.openai_api_key else None
),
"azure_ad_token": (
self.azure_ad_token.get_secret_value() if self.azure_ad_token else None
),
"azure_ad_token_provider": self.azure_ad_token_provider,
"organization": self.openai_organization,
"base_url": self.openai_api_base,
"timeout": self.request_timeout,
"default_headers": {
Domain
Subdomains
Source
Frequently Asked Questions
What does validate_environment() do?
validate_environment() is a function in the langchain codebase, defined in libs/partners/openai/langchain_openai/chat_models/azure.py.
Where is validate_environment() defined?
validate_environment() is defined in libs/partners/openai/langchain_openai/chat_models/azure.py at line 596.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free