Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
By default -
ChatOpenAI
implementation andOpenAIEmbeddings
implementations do not hideopenai_api_key
fromrepr
implementation.Which may lead to key leakages. Like I were working on some project with Jupyter Notebook, I am used to show intermediate stages - and I am far from being cautious. So I made something like:
or, for instance (you can run this code in python interactive session):
you can see this output
And since I were used to show intermediate stages I have shown what chain is without noticing it contains key.
Fortunately, OpenAI monitor key leakages on their side, but they can only do it on public resources, like public github repositorys.
This PR:
OpenAIEmbeddings::__repr_args__
andChatOpenAI::__repr_args__
in such a way sorepr(someobject)
do not containsopenai_api_key
anymore:No
openai_api_key="sk-TEST"
anymoreNo additional dependencies