Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all[minor]: Unified model params #5020

Merged
merged 11 commits into from
Apr 10, 2024
Merged

all[minor]: Unified model params #5020

merged 11 commits into from
Apr 10, 2024

Conversation

bracesproul
Copy link
Member

@bracesproul bracesproul commented Apr 9, 2024

What changed:

Based on this notion page

High level

  • Refactored all instances of the following inside docs, where applicable:
    • modelName -> model
    • openAIApiKey/azureOpenAIApiKey/(along with a few other smaller providers) -> apiKey

Code changes

In order to keep backwards compatibility, all modules still have modelName/the API key as a class property, since they're all public properties and removing would be breaking.

For example, if a class used modelName, it now would have an additional argument model and the modelName JSDoc is updated to say Alias for "model". Inside the constructor, we now prioritize fields?.model > fields?.modelName > this.model (if there is a default)

The above is then set to the modelName class property, and modelName is then assigned to model. The same logic applies to apiKey updates.

Here is an example of what it looks like in practice:

Class args:

export declare interface OpenAIBaseInput {
  /**
   * Model name to use
   * Alias for `model`
   */
  modelName: string;
  /** Model name to use */
  model: string;
}

Class constructor:

constructor(
  fields?: Partial<OpenAIChatInput> & ... other interfaces
) {
  super(fields ?? {});

  ...other

  this.modelName = fields?.model ?? fields?.modelName ?? this.model;
  this.model = this.modelName;
}

This way, users can still pass in & access modelName, however inside the class this.modelName is never used, and instead only this.model is.


Search keywords: docs updates: cookbook[patch] core_docs[patch] examples[patch] alises/code updates: langchain[minor] anthropic[minor] azure-openai[minor] cloudflare[minor] community[minor] google-common[minor] google-genai[minor] groq[minor] mistralai[minor] nomic[minor] openai[minor]

Copy link

vercel bot commented Apr 9, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
langchainjs-api-refs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 9, 2024 6:40pm
langchainjs-docs ✅ Ready (Inspect) Visit Preview Apr 9, 2024 6:40pm

@bracesproul bracesproul marked this pull request as ready for review April 9, 2024 18:00
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. auto:documentation Changes to documentation and examples, like .md, .rst, .ipynb files. Changes to the docs/ folder auto:improvement Medium size change to existing code to handle new use-cases labels Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto:documentation Changes to documentation and examples, like .md, .rst, .ipynb files. Changes to the docs/ folder auto:improvement Medium size change to existing code to handle new use-cases size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant