feat(llms)!: Move all model config options to OpenAIOptions #232
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.
Until now,
OpenAI
completions wrapper used to accept the completions request parameters (e.g.temperature
) in the constructor as parameters. Like:This was not ideal, as it was not possible to change the parameters after the object was created. So, for example, if you wanted to change the temperature, you had to create a new instance.
Now, all the completions request parameters are part of the
OpenAIOptions
class.When you create an instance of
OpenAI
, you can define thedefaultOptions
that will be used for all the completions requests.If you want to change the parameters for a specific request, you can pass the desired
OpenAIOptions
when making the request. The options passed in the request will override thedefaultOptions
.Migration
Move all the request parameters from the constructor to the
defaultOptions
parameter.Before:
Now:
Example of using different options for different requests
You can also change the options in a
Runnable
pipeline using thebind
method. In this case, we are using two totally different models for each question: