[x] Add new ChatLlm constructor that supports the Langchain JS ChatModel
[x] Test implementation with Azure OpenAI service + FakeLlm
[x] Make tool calling optional for a ChatLlm
[x] Document new functionality
[x] Updated some scripts service imports b/c was getting some mongodb package version incompatibility issues.
Notes
This lets the chatbot server support all LLMs that Langchain supports
Working on this made me realize that our implementation of streaming is very based on the Azure OpenAI client's interface. We use few of the required fields. We should consider defining our own type for a streaming object that doesn't require all these unnecessary fields, but rather the subset that we do use.
Jira: n/a
Changes
ChatLlm
scripts
service imports b/c was getting somemongodb
package version incompatibility issues.Notes