langchain/libs/core/langchain_core/utils
Roshan Santhosh 7afecec280
core: update _rm_titles to account for title argument name bug (#19036)
Issue : For functions which have an argument with the name 'title', the
convert_pydantic_to_openai_function generates an incorrect output and
omits the argument all together. This is because the _rm_titles function
removes all instances of the the key 'title' from the output.



Description : Updates the _rm_titles function to check the presence of
the 'type' key as well before removing the 'title' key. As the title key
that we wish to omit always has a type key along with it.

Potential gap if there is a function defined which has both title and
key as argument names, in which case this would fail. Maybe we could set
a filter on the function argument names and reject those with keyword
argument names.


No dependencies. Passed all tests. 


- [x] **PR title**: "package: description"
- Where "package" is whichever of langchain, community, core,
experimental, etc. is being modified. Use "docs: ..." for purely docs
changes, "templates: ..." for template changes, "infra: ..." for CI
changes.
  - Example: "community: add foobar LLM"


- [x] **PR message**: ***Delete this entire checklist*** and replace
with
    - **Description:** a description of the change
    - **Issue:** the issue # it fixes, if applicable
    - **Dependencies:** any dependencies required for this change
- **Twitter handle:** if your PR gets announced, and you'd like a
mention, we'll gladly shout you out!


- [x] **Add tests and docs**: If you're adding a new integration, please
include
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.


- [x] **Lint and test**: Run `make format`, `make lint` and `make test`
from the root of the package(s) you've modified. See contribution
guidelines for more: https://python.langchain.com/docs/contributing/

Additional guidelines:
- Make sure optional dependencies are imported within a function.
- Please do not add dependencies to pyproject.toml files (even optional
ones) unless they are required for unit tests.
- Most PRs should not touch more than one package.
- Changes should be backwards compatible.
- If you are adding something to community, do not re-import it in
langchain.

If no one reviews your PR within a few days, please @-mention one of
baskaryan, efriis, eyurtsev, hwchase17.

---------

Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-03-18 21:25:06 -07:00
..
__init__.py core[minor]: Image prompt template (#14263) 2024-01-27 17:04:29 -08:00
_merge.py core[minor]: generation info on msg (#18592) 2024-03-12 04:43:17 +00:00
aiter.py Separate out langchain_core package (#13577) 2023-11-20 13:09:30 -08:00
env.py Improve: remove extra spaces in get_from_env error (#15064) 2023-12-22 11:50:03 -08:00
formatting.py core[patch]: docstring update (#16813) 2024-02-09 12:47:41 -08:00
function_calling.py core: update _rm_titles to account for title argument name bug (#19036) 2024-03-18 21:25:06 -07:00
html.py core[patch], community[patch]: link extraction continue on failure (#17200) 2024-02-07 14:15:30 -08:00
image.py core[minor]: Image prompt template (#14263) 2024-01-27 17:04:29 -08:00
input.py infra: add print rule to ruff (#16221) 2024-02-09 16:13:30 -08:00
interactive_env.py core[patch]: simple prompt pretty printing (#15968) 2024-01-12 21:08:51 -05:00
iter.py Separate out langchain_core package (#13577) 2023-11-20 13:09:30 -08:00
json_schema.py core[patch]: fixed circular dependency with json schema (#18657) 2024-03-12 05:42:45 +00:00
loading.py core[patch]: deprecate hwchase17/langchain-hub, address path traversal (#18600) 2024-03-05 12:49:38 -08:00
pydantic.py Separate out langchain_core package (#13577) 2023-11-20 13:09:30 -08:00
strings.py community[major], core[patch], langchain[patch], experimental[patch]: Create langchain-community (#14463) 2023-12-11 13:53:30 -08:00
utils.py Separate out langchain_core package (#13577) 2023-11-20 13:09:30 -08:00