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

deps: update @anthropic-ai/sdk to 0.27.3 from 0.25.2 #6796

Merged
merged 3 commits into from
Sep 17, 2024

Conversation

rootCircle
Copy link
Contributor

This PR updates the version of @anthropic-ai/sdk from 0.25.2 to 0.27.3 to allow introduction of dangerouslyAllowBrowser flag in langchain as well!

Updates in upstream also include streaming helpers, introduced beta prompt caching and further streaming capabilities.

Purpose

anthropic-sdk-typescript has recently introduced support for browser from their SDK as well in v0.27.0 (pr here). But, this is still not in langchain yet!

Anthropic had been resistant to adding this feature because it can encourage a nasty anti-pattern: if you embed your API key in your client code, anyone with access to that site can steal your API key and use it to make requests on your behalf.

Despite that, there are legitimate use cases for this feature. It’s fine for internal tools exposed to trusted users, or you can implement a “bring your own API key” pattern where users supply their own key to use with your client-side app.

What it means is we can now make a call to Anthropic via Browser as well, through dangerouslyAllowBrowser flag present in ClientOptions! Also, we won't require to add that flag on our side as well, because we're importing the ClientOptions from anthropic-sdk only, instead of having our own implementation!

Hence, the invocation becomes like this!

const model = new ChatAnthropic({
  modelName: "claude-3-haiku-20240307",
  temperature: 0,
  clientOptions: {
    dangerouslyAllowBrowser: true,
  }
});

Also, I saw that in other lib, like in openai and groq, we're mandating it to allow browser by default, should we implement the same in anthropic as well?

Meta

Fixes #6662

@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Sep 14, 2024
Copy link

vercel bot commented Sep 14, 2024

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

Name Status Preview Comments Updated (UTC)
langchainjs-docs ✅ Ready (Inspect) Visit Preview Sep 17, 2024 0:00am
1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
langchainjs-api-refs ⬜️ Ignored (Inspect) Sep 17, 2024 0:00am

@dosubot dosubot bot added the auto:improvement Medium size change to existing code to handle new use-cases label Sep 14, 2024
@rootCircle
Copy link
Contributor Author

In other libs like of groq & openai have dangerouslyAllowBrowser set to true by default! Should we have the same behavior in this as well?

diff --git a/libs/langchain-anthropic/src/chat_models.ts b/libs/lan
gchain-anthropic/src/chat_models.ts
index 1e8853ff5..fd659654a 100644
--- a/libs/langchain-anthropic/src/chat_models.ts
+++ b/libs/langchain-anthropic/src/chat_models.ts
@@ -661,7 +661,12 @@ export class ChatAnthropicMessages<
 
     this.createClient =
       fields?.createClient ??
-      ((options: ClientOptions) => new Anthropic(options));
+      ((options: ClientOptions) => {
+        new Anthropic({
+          dangerouslyAllowBrowser: true,
+          ...options,
+        })
+      });
   }

@ricklamers
Copy link

What a coincidence, I am now at a hackathon and needed this 🤯

@haouarihk
Copy link
Contributor

when is this getting merged

@jacoblee93
Copy link
Collaborator

jacoblee93 commented Sep 16, 2024

Today sorry all!

Am generally in favor of always passing this in.

@jacoblee93 jacoblee93 merged commit 1bb4c43 into langchain-ai:main Sep 17, 2024
34 checks passed
@jacoblee93
Copy link
Collaborator

Thank you! Cutting a release now.

@jacoblee93
Copy link
Collaborator

Live in @langchain/[email protected]! Thanks again!

@rootCircle
Copy link
Contributor Author

Thanks! It was fun contributing for a feature, which even I wanted to use! Thanks @jacoblee93 😊

FilipZmijewski pushed a commit to FilipZmijewski/langchainjs that referenced this pull request Sep 27, 2024
FilipZmijewski pushed a commit to FilipZmijewski/langchainjs that referenced this pull request Sep 27, 2024
FilipZmijewski added a commit to FilipZmijewski/langchainjs that referenced this pull request Sep 27, 2024
* Create llm and embeddings implementation, include tests (#1)

* Initiate repo, start creating llm solution: generate and stream created

* Exclude authentication outside of the file

* Allow generating text on deployed models, make changes according authentication exclusion

* Extract types outside of llms, small change

* start working on embeddings. create simple tests

* Add some features, rework llm

* Add embeddings

* Create tests for llms and embeddings

* Small fixes

* Adjust to sdk new package

* Rename variables

* Add README.md file

* Rename variables

---------

Co-authored-by: FIlip Żmijewski <[email protected]>

* Add dependencies

* fix(langchain): Fix local file store traversal issue (langchain-ai#6736)

* fix(ci): Fix cf exports test (langchain-ai#6737)

* fix(ci): Fix cf-workers export test (langchain-ai#6738)

* fix(ci): Fix esbuild tests (langchain-ai#6739)

* fix(ci): Fix ci (langchain-ai#6741)

* chore(langchain): Release 0.2.19

* fix(langchain): Prevent exception when using plan & execute agent with no tools (langchain-ai#6744)

Co-authored-by: Brace Sproul <[email protected]>

* fix(openai): Avoid thrown error on o1 stream calls (langchain-ai#6747)

* chore(openai): Release 0.2.11 (langchain-ai#6748)

* docs: Update link (langchain-ai#6757)

* refactor: Move langchain/core to a peer dep (langchain-ai#6698)

Co-authored-by: Brace Sproul <[email protected]>
Co-authored-by: Erick Friis <[email protected]>

* chore(core): Release 0.3.0 (langchain-ai#6760)

* chore(deps): Update deps for 0.3.0 (langchain-ai#6761)

* chore(textsplitters): Release 0.1.0 (langchain-ai#6762)

* chore(cloudflare): Bump dep (langchain-ai#6763)

* chore(openai): Release 0.3.0 (langchain-ai#6764)

* chore(anthropic): Release 0.3.0 (langchain-ai#6765)

* chore(mistralai): Release 0.1.0 (langchain-ai#6766)

* chore(langchain): Release 0.3.0

* chore(build): Update lock (langchain-ai#6770)

* chore(cohere): Release 0.3.0 (langchain-ai#6771)

* chore(weaviate): Release 0.1.0 (langchain-ai#6773)

* chore(aws): Release 0.1.0 (langchain-ai#6775)

* chore(azure-cosmosdb): Release 0.2.0 (langchain-ai#6776)

* chore(azure-dynamic-sessions): Release 0.2.0 (langchain-ai#6777)

* chore(release): Release Baidu, Exa, MixedBread, Nomic (langchain-ai#6778)

* fix(ci): Fix CI issue where local monorepo node_modules were copied into export tests (langchain-ai#6774)

* chore(community): Release 0.3.0 (langchain-ai#6779)

* chore(cloudflare): Release 0.1.0 (langchain-ai#6780)

* chore(groq): Release 0.1.1 (langchain-ai#6781)

* chore(mongodb): Release 0.1.0 (langchain-ai#6782)

* chore(ollama): Release 0.1.0 (langchain-ai#6783)

* chore(pinecone): Release 0.1.0 (langchain-ai#6784)

* chore(qdrant): Release 0.1.0 (langchain-ai#6785)

* chore(redis): Release 0.1.0 (langchain-ai#6786)

* chore(google): Release 0.1.0 (langchain-ai#6787)

* chore(google-genai): Release 0.1.0 (langchain-ai#6788)

* fix(core, langchain): Update langsmith dep to rc (langchain-ai#6797)

* chore(core): Release 0.3.1 (langchain-ai#6800)

* Release 0.3.1

* fix(langchain): Remove circular peer dep in langchain on @langchain/community (langchain-ai#6803)

* chore(langchain): Release 0.3.2 (langchain-ai#6805)

* docs: new algolia index (langchain-ai#6810)

* docs: Adds 0.3 versioning docs (langchain-ai#6793)

* docs: NotFound page suggested links (langchain-ai#6809)

Co-authored-by: jacoblee93 <[email protected]>

* docs: Fix Firecrawl v0 version in the docs (langchain-ai#6768)

* docs: Fix concepts docs hash param (langchain-ai#6816)

* fix(google): Fixed - TypeError: Cannot read properties of undefined (reading 'generationInfo') (langchain-ai#6756)

* fix(ci): Conditionally deplpy api refs to prod (langchain-ai#6819)

* fix(ci): Add vercel ignore file (langchain-ai#6820)

* feat(google-common): Export ChatConnection class (langchain-ai#6823)

* chore(google-common): Release 0.1.1 (langchain-ai#6824)

* fix(core,langchain,community): Update LangSmith deps, lighten export tests (langchain-ai#6825)

* deps: update @anthropic-ai/sdk to 0.27.3 from 0.25.2 (langchain-ai#6796)

Co-authored-by: jacoblee93 <[email protected]>

* chore(anthropic): Release 0.3.1 (langchain-ai#6826)

* docs: Adds warnings to cypher chain about credentials (langchain-ai#6827)

* feat(community): Remove required param from LanceDB integration (langchain-ai#6706)

Co-authored-by: jacoblee93 <[email protected]>

* fix(ci): Fix lint (langchain-ai#6828)

* chore(community): Release 0.3.1 (langchain-ai#6831)

* fix(ci): Update API ref deployment action & vercelignore (langchain-ai#6835)

* fix(core): Fix nested stream events behavior (langchain-ai#6836)

* chore(core): Release 0.3.2 (langchain-ai#6839)

* fix(ci): Add script for aliasing domains in gh deployments (langchain-ai#6838)

* chore(deps): bump the pip group across 1 directory with 2 updates (langchain-ai#6840)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(groq): Feature/groq response format improvements (langchain-ai#6754)

Co-authored-by: jacoblee93 <[email protected]>

* fix(core): Loosen return type of withConfig, fix tracing for nested tool calls (langchain-ai#6847)

* chore(core): Release 0.3.3 (langchain-ai#6848)

* docs(tutorial): fix typo (langchain-ai#6849)

* fix(mistral): Fix call options type (langchain-ai#6857)

* chore(mistralai): Release 0.1.1 (langchain-ai#6858)

* fix: typo fix in agents doc (langchain-ai#6859)

* feat(community): Update ChromeLLM with latest experimental API (langchain-ai#6861)

* chore(community): Release 0.3.2 (langchain-ai#6862)

* fix(community): bump `@upstash/ratelimit` version (langchain-ai#6832)

Co-authored-by: bracesproul <[email protected]>

* fix(docs): Drop announcement bar (langchain-ai#6863)

* groq[patch]: set api key attr (langchain-ai#6864)

Co-authored-by: jacoblee93 <[email protected]>

* chore(groq): Release 0.1.2 (langchain-ai#6865)

* chore(openai,anthropic): Expose OpenAI and Anthropic payload formatters (langchain-ai#6872)

* chore(openai): Release 0.3.1 (langchain-ai#6874)

* chore(anthropic): Release 0.3.2 (langchain-ai#6875)

* feat(anthropic,openai): Add payload formatting utils to Anthropic and OpenAI (langchain-ai#6876)

* chore(openai): Release 0.3.2 (langchain-ai#6877)

* chore(anthropic): Release 0.3.3 (langchain-ai#6878)

* community[patch]: support AWS_... env vars (langchain-ai#6866)

* chore(community): Release 0.3.3 (langchain-ai#6880)

* Fix yarn.lock file

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: FIlip Żmijewski <[email protected]>
Co-authored-by: Jacob Lee <[email protected]>
Co-authored-by: oleg <[email protected]>
Co-authored-by: Brace Sproul <[email protected]>
Co-authored-by: Erick Friis <[email protected]>
Co-authored-by: Nicolas <[email protected]>
Co-authored-by: Prakash Pokharel <[email protected]>
Co-authored-by: Lab Rat <[email protected]>
Co-authored-by: Ayush Chaurasia <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Herman Hrand <[email protected]>
Co-authored-by: jjangga0214 <[email protected]>
Co-authored-by: Stephen M Abbott <[email protected]>
Co-authored-by: Cahid Arda Öz <[email protected]>
Co-authored-by: Bagatur <[email protected]>
@langchain-ai langchain-ai locked as spam and limited conversation to collaborators Oct 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto:improvement Medium size change to existing code to handle new use-cases size:XS This PR changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Uncaught AnthropicError: running in a browser-like environment
4 participants