Add async versions of predict() and predict_messages() (#4867)
# Add async versions of predict() and predict_messages()
#4615 introduced a unifying interface for "base" and "chat" LLM models
via the new `predict()` and `predict_messages()` methods that allow both
types of models to operate on string and message-based inputs,
respectively.
This PR adds async versions of the same (`apredict()` and
`apredict_messages()`) that are identical except for their use of
`agenerate()` in place of `generate()`, which means they repurpose all
existing work on the async backend.
## Who can review?
Community members can review the PR once tests pass. Tag
maintainers/contributors who might be interested:
@hwchase17 (follows his work on #4615)
@agola11 (async)
---------
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>