Modify the openai model to conform to the new openai sdk v1.0.0 #364
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.
This PR aims at solving this issue: #361
The new Python sdk of Openai allows us to instantiate a client that we can then use for API calls. I thought it would make sense to put the instantiation of the client (and the import of the openai library) in the
__init__
of theOpenAIAPI
class.An issue I ran into was that the functions
call_chat_completion_api
andcall_completion_api
would then receive the client as an argument which would cause problems with thecache
decorator. I'm not sure what's the best way to handle that. I created two intermediary functionscached_call_completion_api
andcached_call_chat_completion_api
in the__init__
of theOpenAIAPI
class as it looked like the solution that required the fewest modifications to the existing logic.The new sdk handles the retry logic itself so I removed the
retry
decorator (and added amax_retries
argument toOpenAIAPI
instead)