mirror of
https://github.com/hwchase17/langchain.git
synced 2026-03-18 11:07:36 +00:00
Changes Created I have fixed the issue where a generic and misleading error message was displayed when a JSON schema was missing the top-level title key. [Fix: Improve error message for missing title in JSON schema functions](https://github.com/Bhavesh007Sharma/langchain/tree/fix-json-schema-title-error) File Modified: libs/core/langchain_core/utils/function_calling.py I updated the convert_to_openai_function validation logic to specifically check for dict inputs that look like schemas ( type or properties keys present) but are missing the title key. # Before (Generic Error) raise ValueError( f"Unsupported function\n\n{function}\n\nFunctions must be passed in" " as Dict, pydantic.BaseModel, or Callable. If they're a dict they must" " either be in OpenAI function format or valid JSON schema with top-level" " 'title' and 'description' keys." ) # After (Specific Error) if isinstance(function, dict) and ("type" in function or "properties" in function): msg = ( "Unsupported function\n\nTo use a JSON schema as a function, " "it must have a top-level 'title' key to be used as the function name." ) raise ValueError(msg) Verification Results Automated Tests I created a reproduction script reproduce_issue.py to confirm the behavior. Before Fix: The script would have raised the generic "Unsupported function" error claiming description was also required. After Fix: The script now confirms that the new, specific error message is raised when title is missing. (Note: Verification was performed by inspecting the code logic and running a lightweight reproduction script locally, as full suite verification had environment dependency issues.) --------- Co-authored-by: Mason Daugherty <github@mdrxy.com>