_agenerate() — langchain Function Reference
Architecture documentation for the _agenerate() function in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 9ad9d2b6_95a9_593f_2283_7b4495562124["_agenerate()"] 2a683305_667b_3567_cab9_9f77e29d4afa["BaseChatOpenAI"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|defined in| 2a683305_667b_3567_cab9_9f77e29d4afa 36b15b48_0822_029c_4a53_8243405e5a5e["_get_request_payload()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| 36b15b48_0822_029c_4a53_8243405e5a5e cdaeec71_b581_c482_d50c_4334d429196c["_is_pydantic_class()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| cdaeec71_b581_c482_d50c_4334d429196c 06595fa5_189f_7f73_3a37_309f84e5179d["_construct_lc_result_from_responses_api()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| 06595fa5_189f_7f73_3a37_309f84e5179d 6a6e1bc7_82ad_0ec6_6f76_46c87a121099["_handle_openai_bad_request()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| 6a6e1bc7_82ad_0ec6_6f76_46c87a121099 9b7290da_4511_6588_b149_1f3f5856fece["_handle_openai_api_error()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| 9b7290da_4511_6588_b149_1f3f5856fece e9866be0_b078_31ff_4159_1d040978b7e3["_use_responses_api()"] 9ad9d2b6_95a9_593f_2283_7b4495562124 -->|calls| e9866be0_b078_31ff_4159_1d040978b7e3 style 9ad9d2b6_95a9_593f_2283_7b4495562124 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/openai/langchain_openai/chat_models/base.py lines 1625–1686
async def _agenerate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: AsyncCallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
payload = self._get_request_payload(messages, stop=stop, **kwargs)
generation_info = None
raw_response = None
try:
if "response_format" in payload:
payload.pop("stream")
raw_response = await self.root_async_client.chat.completions.with_raw_response.parse( # noqa: E501
**payload
)
response = raw_response.parse()
elif self._use_responses_api(payload):
original_schema_obj = kwargs.get("response_format")
if original_schema_obj and _is_pydantic_class(original_schema_obj):
raw_response = (
await self.root_async_client.responses.with_raw_response.parse(
**payload
)
)
else:
raw_response = (
await self.root_async_client.responses.with_raw_response.create(
**payload
)
)
response = raw_response.parse()
if self.include_response_headers:
generation_info = {"headers": dict(raw_response.headers)}
return _construct_lc_result_from_responses_api(
response,
schema=original_schema_obj,
metadata=generation_info,
output_version=self.output_version,
)
else:
raw_response = await self.async_client.with_raw_response.create(
**payload
)
response = raw_response.parse()
except openai.BadRequestError as e:
_handle_openai_bad_request(e)
except openai.APIError as e:
_handle_openai_api_error(e)
except Exception as e:
if raw_response is not None and hasattr(raw_response, "http_response"):
e.response = raw_response.http_response # type: ignore[attr-defined]
raise e
if (
self.include_response_headers
and raw_response is not None
and hasattr(raw_response, "headers")
):
generation_info = {"headers": dict(raw_response.headers)}
return await run_in_executor(
None, self._create_chat_result, response, generation_info
)
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does _agenerate() do?
_agenerate() is a function in the langchain codebase, defined in libs/partners/openai/langchain_openai/chat_models/base.py.
Where is _agenerate() defined?
_agenerate() is defined in libs/partners/openai/langchain_openai/chat_models/base.py at line 1625.
What does _agenerate() call?
_agenerate() calls 6 function(s): _construct_lc_result_from_responses_api, _get_request_payload, _handle_openai_api_error, _handle_openai_bad_request, _is_pydantic_class, _use_responses_api.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free