mirror of
https://github.com/hwchase17/langchain
synced 2024-11-02 09:40:22 +00:00
a14cf87576
…parameters. In Langchain's `dumps()` function, I've added a `**kwargs` parameter. This allows users to pass additional parameters to the underlying `json.dumps()` function, providing greater flexibility and control over JSON serialization. Many parameters available in `json.dumps()` can be useful or even necessary in specific situations. For example, when using an Agent with return_intermediate_steps set to true, the output is a list of AgentAction objects. These objects can't be serialized without using Langchain's `dumps()` function. The issue arises when using the Agent with a language other than English, which may contain non-ASCII characters like 'é'. The default behavior of `json.dumps()` sets ensure_ascii to true, converting `{"name": "José"}` into `{"name": "Jos\u00e9"}`. This can make the output hard to read, especially in the case of intermediate steps in agent logs. By allowing users to pass additional parameters to `json.dumps()` via Langchain's dumps(), we can solve this problem. For instance, users can set `ensure_ascii=False` to maintain the original characters. This update also enables users to pass other useful `json.dumps()` parameters like `sort_keys`, providing even more flexibility. The implementation takes into account edge cases where a user might pass a "default" parameter, which is already defined by `dumps()`, or an "indent" parameter, which is also predefined if `pretty=True` is set. --------- Co-authored-by: Erick Friis <erick@langchain.dev> |
||
---|---|---|
.. | ||
_api | ||
callbacks | ||
documents | ||
example_selectors | ||
globals | ||
language_models | ||
load | ||
messages | ||
output_parsers | ||
outputs | ||
prompts | ||
pydantic_v1 | ||
runnables | ||
tracers | ||
utils | ||
__init__.py | ||
agents.py | ||
caches.py | ||
chat_history.py | ||
chat_sessions.py | ||
embeddings.py | ||
env.py | ||
exceptions.py | ||
memory.py | ||
prompt_values.py | ||
retrievers.py | ||
stores.py | ||
tools.py | ||
vectorstores.py |