Compare commits

..
2026 Commits
Author SHA1 Message Date
Nuno Campos ac472357b7 Type safety w generics 2025-03-02 19:35:32 -08:00
Nuno Campos e6cdd4a0af Code review 2025-03-02 13:09:22 -08:00
Nuno Campos 0894f3e21e Implement Channel and Pregel 2025-03-01 22:43:42 -08:00
Nuno Campos 196bcfe08d java langgraph-checkpoint 2025-03-01 18:51:45 -08:00
Nuno Campos c4275bdc32 Add spec 2025-03-01 18:51:13 -08:00
Nuno Campos 1b9b0a686e Remove more mentions of async 2025-03-01 17:25:58 -08:00
Nuno Campos 9e02a23682 Rm other mentions of stream_mode=messages 2025-03-01 14:20:15 -08:00
Nuno Campos 5e70e6f307 Rm docs 2025-03-01 14:10:02 -08:00
Nuno Campos eb57c06896 Remove features and dependencies
- rm langchain_core dependency
- replace callbacks w run tree
- rm Runnable dependency
- rm non-state Graph
- rm managed values
- rm entrypoint/task/call
- rm async methods
- rm shallow checkpointer
- rm messages stream mode
- rm debug flag
- rm remote graph
2025-03-01 13:53:27 -08:00
Nuno Campos 9284b57ba0 Remove prebuilt 2025-03-01 10:30:18 -08:00
Nuno Campos 25fea591b5 Remove sqlite 2025-03-01 10:14:10 -08:00
Nuno Campos b9fe53777f Remove cli 2025-03-01 10:13:58 -08:00
Nuno Campos 35c2e8a679 Remove kafka 2025-03-01 10:13:47 -08:00
Nuno Campos e0fb56c6a3 Remove sdks 2025-03-01 10:13:36 -08:00
Nuno Campos 3458a3cecb Remove examples 2025-03-01 10:13:24 -08:00
Vadym BardaandGitHub 7d025e42ef langgraph: release 0.3.2 (#3649) 2025-02-28 18:13:23 -05:00
Vadym BardaandGitHub 4e9ed36f76 langgraph: unset resuming flag to avoid propagating to subgraphs (#3647) 2025-02-28 23:11:54 +00:00
Vadym BardaandGitHub 5d73df6133 sdk-py: fix docstring for runs.list (#3646)
Fixes #3645
2025-02-28 15:43:49 -05:00
David DuongandGitHub fcc1210945 docs: fix deprecation warning style (#3639)
messed up an indentation that was causing the warning to not render
correctly
2025-02-28 16:34:35 +01:00
Arjun Natarajan da5ee30bef fix deprecation warning style 2025-02-28 10:30:03 -05:00
jessicaouandGitHub 57ff761cff Update Adopters title in menu bar (#3634) 2025-02-28 09:17:14 -05:00
jessicaouandGitHub f0a46bc3e3 Update adopters.md title (#3635) 2025-02-28 09:16:58 -05:00
Vadym BardaandGitHub b1587d24ed docs: update langgraph api constraints (#3633) 2025-02-27 13:59:36 -05:00
Vadym BardaandGitHub a1c676707c cli: update api version (#3632) 2025-02-27 13:57:07 -05:00
Vadym BardaandGitHub 38b19fa99c docs: update README (#3626) 2025-02-27 10:47:20 -05:00
Vadym BardaandGitHub 3c3428da78 docs: update installs in how-tos/tutorials (#3624) 2025-02-27 10:25:31 -05:00
Vadym BardaandGitHub bb0125b4bb ci: re-enable notebook runner on latest version (#3611) 2025-02-27 10:09:57 -05:00
Vadym BardaandGitHub 7580ad6005 langgraph: release 0.3.1 (#3623) 2025-02-27 10:08:02 -05:00
Vadym BardaandGitHub eb8aa6b761 langgraph: add prebuilt dependency (#3622) 2025-02-27 10:07:04 -05:00
Vadym BardaandGitHub fe0de3e07e ci: update release workflow for prebuilt (#3621) 2025-02-27 09:49:15 -05:00
David DuongandGitHub f51831f48e docs: update getting started docs for studio (#3542) 2025-02-27 15:41:52 +01:00
Vadym BardaandGitHub 745eb90a6d prebuilt: remove langgraph dependency (#3620) 2025-02-27 09:41:43 -05:00
Arjun Natarajan f136e40065 fix link 2025-02-26 21:47:32 -05:00
Arjun Natarajan de888b4032 make reference to langsmith a bit cleareR 2025-02-26 21:33:45 -05:00
Arjun Natarajan 7cb0bd52e8 add link to cli 2025-02-26 21:31:33 -05:00
Vadym BardaandGitHub 3778f6113c prebuilt: release 0.1.0 (#3610) 2025-02-26 18:48:03 -05:00
Vadym BardaandGitHub 24c13c211e langgraph: separate prebuilt into a standalone package (#3589) 2025-02-26 18:33:07 -05:00
Vadym BardaandGitHub 2e36189c16 langgraph: release 0.2.76 (#3609) 2025-02-26 16:41:28 -05:00
Arjun Natarajan 302aa8b9cb clean up docs 2025-02-26 15:57:05 -05:00
Vadym BardaandGitHub dac11f875c langgraph: fix get_state(subgraphs=True) for checkpointer=True (#3607) 2025-02-26 20:43:46 +00:00
andrestorres123andGitHub 264be423f9 docs: Add Delve Taxonomy Generator package to the Prebuilt Agents (#3606) 2025-02-26 19:03:51 +00:00
HackHuangandGitHub 9a05600ff9 docs(concepts) : Add a tutorial link for map-reduce (#3577)
Update `low_level.md`: Add a tutorial link for map-reduce, now it's
perfect !!!
2025-02-26 12:23:02 -05:00
Eugene YurtsevandGitHub 56dd728975 docs: remove one more beta (#3601) 2025-02-26 12:22:22 -05:00
Eugene YurtsevandGitHub c157c956f4 docs: prebuilt add github stars (#3603) 2025-02-26 12:22:08 -05:00
Vadym BardaandGitHub dd293dad30 langgraph: release 0.2.75 (#3602) 2025-02-26 11:47:16 -05:00
Vadym BardaandGitHub 30811d7841 langgraph: add py.typed files to modules (#3600) 2025-02-26 16:41:51 +00:00
Vadym BardaandGitHub 28a705b71a docs: update requirements (#3598) 2025-02-26 10:35:16 -05:00
Vadym BardaandGitHub 3b8130b96f docs: add swarm (#3597) 2025-02-26 09:59:29 -05:00
Harrison ChaseandGitHub 94fc0adb05 faq about no langsmith (#3596) 2025-02-26 09:43:28 -05:00
Nuno CamposandGitHub 162e96262f langgraph: stream_mode=messages should not emit input or state messages (#3591)
- any messages seen in inputs in on_chain_start should not be emitted
2025-02-25 19:09:57 -08:00
Nuno Campos 1bb0037450 langgraph: stream_mode=messages should not emit input or state messages
- any messages seen in inputs in on_chain_start should not be emitted
2025-02-25 19:00:33 -08:00
Nuno CamposandGitHub 50c53d3120 checkpoint-sqlite: update aiosqlite bounds (#3540)
aiosqlite 0.21.0 was released on Feb 2

It seems to be a maintenance release:
https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md#v0210
2025-02-25 16:56:10 -08:00
Nuno CamposandGitHub 0b7b849633 Update adopters.md to include Cisco Outshift (#3573) 2025-02-25 16:47:52 -08:00
Nuno CamposandGitHub 678eb5cdbe pregel: update validation error messages (#3517)
OK not including as well, but this was useful for troubleshooting as a
new user (especially before there were any examples)
2025-02-25 16:45:57 -08:00
Arjun Natarajan a0969b61a3 add back desktop docs in dedicated section w deprecation warning 2025-02-25 16:08:21 -05:00
Arjun Natarajan e679ab73c4 fix broken docs part 2025-02-25 15:53:23 -05:00
Andrew NguonlyandGitHub bdf1215ced docs: Add docs for DD_API_KEY env var (#3585) 2025-02-25 11:24:59 -08:00
William FHandGitHub cba1852720 Fix typo (#3583) 2025-02-25 18:19:48 +00:00
David DuongandGitHub edf707be51 feat(react): support interrupt_before/after (#3582) 2025-02-25 18:06:25 +01:00
Tat Dat Duong d3b9a96504 feat(react): support interrupt_before/after 2025-02-25 17:57:12 +01:00
David DuongandGitHub 3257e5ae76 fix(docs): remove @langchain/langgraph/web import in branching example (#3580) 2025-02-25 16:18:09 +01:00
Tat Dat Duong bedd0eb286 fix(docs): remove @langchain/langgraph/web import in branching example 2025-02-25 16:11:09 +01:00
David DuongandGitHub 42f0c351fd fix(react): avoid implicitly streaming values if not needed (#3579) 2025-02-25 16:07:41 +01:00
Tat Dat Duong a290984362 fix(react): avoid implicitly streaming values if not needed 2025-02-25 15:58:21 +01:00
David DuongandGitHub f1d6fd184f fix(docs): typo for npm install command (#3578) 2025-02-25 15:53:49 +01:00
Tat Dat Duong 503f716104 fix(docs): typo for npm install command 2025-02-25 15:49:50 +01:00
jessicaouandGitHub b8fafa2795 Update adopters.md to include Cisco Outshift 2025-02-24 18:34:38 -08:00
Nuno Campos 515c34d1ce Fix docs build 2025-02-24 17:14:42 -08:00
Nuno CamposandGitHub 5ea0d49d4d Add docs page on lgp scalability / resilience (#3510) 2025-02-24 16:52:37 -08:00
Andrew NguonlyandGitHub d9f71ef8b3 docs: Add section for Add or Remove GitHub Repositories (#3571) 2025-02-24 16:12:03 -08:00
Eugene YurtsevandGitHub 8658a5dc0b docs: add pregel conceptual doc (#3516)
* Update API Reference for Pregel
* Add conceptual page for Pregel
* The content for the two is very similar at the moment (i.e.,
duplicated content). This is usually a bad sign, but in this case I'm OK
duplicating information along both paths since the underlying algorithm
sets us apart from other implementations.
2025-02-24 17:48:03 -05:00
William FHandGitHub 2afee13d9e Docs on custom routes (#3568) 2025-02-24 11:21:41 -08:00
HackHuangandGitHub f7d9daa4eb docs(multi_agent.md) : Fix some code snippets (#3565)
Hey buddy! You forgot to import the `Command` in some code snippets.
2025-02-24 13:28:56 -05:00
HackHuangandGitHub fb28aa6d4b docs(concepts) : update human_in_the_loop.md (#3558)
Fix the false output result.
2025-02-24 04:52:48 +00:00
jessicaouandGitHub 3488945cdf Update adopters.md to include Klarna (#3560) 2025-02-24 04:39:25 +00:00
Theodore NiandGitHub e6681bc175 Merge branch 'main' into update-aiosqlite-bounds 2025-02-22 06:16:58 -06:00
Sudar Selva Ganesh MandGitHub 57e8081921 chore(docs): make webhooks platform doc more readable (#3551)
1. Provided additional context on webhook usage and setup.
2. Structured supported endpoints into a table for better readability.
2025-02-23 00:17:21 +13:00
Nino RisteskiandGitHub 078b335448 chore(checkpoint): fix typos in README (#3553) 2025-02-22 11:10:09 +00:00
Arjun Natarajan 6615c6bb0d remove other references to desktop
:
2025-02-20 18:16:49 -08:00
Arjun Natarajan 32df0016ee update getting started docs 2025-02-20 18:00:26 -08:00
Vadym BardaandGitHub 39b2bb9c8f update opendeepresearch name (#3541) 2025-02-20 18:16:40 -05:00
5eb793d7d8 Update packages w/ Open Deep Research (#3539)
Here: 
https://github.com/langchain-ai/open_deep_research

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
2025-02-20 15:04:11 -08:00
Theodore Ni a9cdb9c948 checkpoint-sqlite: update aiosqlite bounds 2025-02-20 14:51:51 -08:00
David DuongandGitHub 3dac1894cc fix(react): handle non-concatenable messages (#3536) 2025-02-20 21:28:02 +01:00
Tat Dat Duong 1500764b46 fix(react): handle non-concatenable messages 2025-02-20 21:24:00 +01:00
Vadym BardaandGitHub fbb89325f9 langgraph: allow passing config_schema to create_react_agent (#3534) 2025-02-20 19:36:17 +00:00
David DuongandGitHub 187c71a812 feat(react): add interrupt docs (#3533) 2025-02-20 20:10:35 +01:00
Tat Dat Duong b09b33070e feat(docs): add interrupt docs 2025-02-20 20:03:52 +01:00
Vadym BardaandGitHub 31a7bcf750 langgraph: handle non-overlapping subgraph updates in Command.PARENT (#3521) 2025-02-20 13:15:27 -05:00
langchain-infraandGitHub 1a12b0309c docs: add langgraph platform ips (#3528) 2025-02-19 22:52:02 -05:00
infra 660c15d072 docs: add langgraph platform ips 2025-02-19 22:39:54 -05:00
langchain-infraandGitHub 4a59da7cfd docs: add langgraph platform ips (#3527) 2025-02-19 22:27:38 -05:00
infra aacc079eed fmt 2025-02-19 22:23:42 -05:00
langchain-infraandGitHub 3d70a4ed65 Delete libs/cli/langgraph_cli/docker-compose.yaml 2025-02-19 22:16:10 -05:00
infra caad15f7ae docs: add langgraph platform ips 2025-02-19 22:14:29 -05:00
infra 1f4d4e7bfd docs: add langgraph platform ips 2025-02-19 22:14:09 -05:00
David DuongandGitHub 5b0bf861ac feat(react): add interrupts, clean up generic types (#3526) 2025-02-20 03:17:48 +01:00
Tat Dat Duong a69ea47ac2 Bump to 0.0.44 2025-02-20 03:06:11 +01:00
Tat Dat Duong f83d18188f feat(react): add interrupts, clean up generic types 2025-02-20 03:06:10 +01:00
David DuongandGitHub 688efdea3d fix(react): avoid streaming messages if they are not needed (#3525) 2025-02-20 03:05:46 +01:00
David DuongandGitHub 6641dcd3c9 fix(react): output non-abort errors in console, handle bogus message type (#3524) 2025-02-20 02:45:18 +01:00
William FHandGitHub ad14d92f5e [cli] Bump api floor (#3523) 2025-02-20 00:26:15 +00:00
Tat Dat Duong c63fbbfaa6 fix(react): avoid streaming messages if they are not needed 2025-02-20 01:22:08 +01:00
Tat Dat Duong 577b4413a9 fix(react): output non-abort errors in console, handle bogus message type 2025-02-20 01:20:19 +01:00
William FHandGitHub 277c341817 Configure loopback transports (#3522) 2025-02-19 15:58:57 -08:00
mathislindnerandGitHub 88d0f41c55 docs: Update map-reduce-fixed-typo.ipynb (#3509)
fixed a typo:
We will use this an edge in the graph
to 
We will use this as an edge in the graph
2025-02-19 17:28:21 -05:00
Eugene YurtsevandGitHub 0a4953c4bc Update index.md (#3519) 2025-02-19 21:52:17 +00:00
Eugene YurtsevandGitHub 059e16789c docs: fix anchor links (#3518) 2025-02-19 16:48:41 -05:00
Eugene Yurtsev 4dc8f813e7 x 2025-02-19 16:16:14 -05:00
Nuno Campos f613fdfcbc Add sections on postgres and redis 2025-02-19 11:25:56 -08:00
David DuongandGitHub 41b36dcf3f docs: playground studio integration (#3514) 2025-02-19 19:49:37 +01:00
Arjun Natarajan b39dcd7fad pr feedback 2025-02-19 10:43:02 -08:00
Arjun Natarajan c0ad92b6db update title 2025-02-19 10:20:13 -08:00
Eugene YurtsevandGitHub b8d25bc0ed docs build: test api link generation (#3513) 2025-02-19 13:15:53 -05:00
Arjun Natarajan 7884401ec8 docs for playground studio integration 2025-02-19 09:43:21 -08:00
David DuongandGitHub a3bc029344 feat(sdk-js/react): make configurable typed via generics (#3511) 2025-02-19 18:19:51 +01:00
William FHandGitHub 4875973ac5 [CLI] Support http config (#3505)
Right now requires that the file be in one of the local
packages/dependencies.
2025-02-19 08:52:00 -08:00
Tat Dat Duong 15e67fdd57 feat(sdk-js/react): make configurable typed 2025-02-19 17:27:26 +01:00
Nuno Campos 265466184c Add docs page on lgp scalability / resilience 2025-02-19 08:24:36 -08:00
Eugene YurtsevandGitHub 1393270664 concepts: add durable execution to nav (#3508) 2025-02-19 16:04:55 +00:00
Nuno CamposandGitHub 6e0295b4de feat(ci): only run lint/test if files have changed (#3507) 2025-02-19 08:04:42 -08:00
Tat Dat Duong 4aadfccf95 feat(ci): only run lint/test if files have changed 2025-02-19 16:38:35 +01:00
David DuongandGitHub 70b2da1301 fix(docs): add install command for sdk-js/react (#3506) 2025-02-19 16:33:47 +01:00
YkohandGitHub 209864da45 docs: Remove unused imports (#3500)
This PR removes the unused imports Literal and TypedDict from the typing
module.

These imports were not referenced in the code.

```python
from typing import Literal, TypedDict
```
2025-02-19 15:33:13 +00:00
Tat Dat Duong 8b6ef35f0c fix(docs): add install command for sdk-js/react 2025-02-19 16:24:34 +01:00
Eugene YurtsevandGitHub a01537d1a5 docs: concepts durable execution (#3355)
Conceptual page for durable execution
2025-02-19 10:15:26 -05:00
Vadym BardaandGitHub 05b4a30c04 langgraph: optionally add structured_response key to agent state in create_react_agent (#3493) 2025-02-19 15:06:46 +00:00
David DuongandGitHub 93e10fbe15 fix(sdk-js): mark ui-related peer deps as optional (#3503) 2025-02-19 15:53:45 +01:00
Tat Dat Duong f6989f2c7d Bump to 0.0.43 2025-02-19 15:44:03 +01:00
Tat Dat Duong c4f8346479 fix(sdk-js): mark ui-related peer deps as optional 2025-02-19 15:43:36 +01:00
William FHandGitHub 82c9d4b368 Update docstrings for command & send (#3492) 2025-02-19 05:28:45 -08:00
David DuongandGitHub 647f22fdd9 fix(sdk-js): add docs to gitignore path (#3498) 2025-02-19 09:11:19 +01:00
Tat Dat Duong 0aba1b4887 fix(sdk-js): add docs to gitignore path 2025-02-19 09:01:43 +01:00
Eugene YurtsevandGitHub 4c0c52d996 docs: revert changes to api reference generation (#3494)
* Temporarily revert. Need to add unit tests tomorrow and can then
restore
2025-02-19 02:01:03 +00:00
Andrew NguonlyandGitHub 580fe68c8e docs: Update note about LangGraph Deployments view in self-hosted deployment options (#3491) 2025-02-18 17:55:57 -08:00
YkohandGitHub 2f26268ff4 Fix issues in chatbot simulation evaluation tutorial (#3462)
## Description
While following the LangChain tutorial on [chatbot simulation
evaluation](https://langchain-ai.github.io/langgraph/tutorials/chatbot-simulation-evaluation/langsmith-agent-simulation-evaluation/),
I encountered some issues and made the following fixes to ensure proper
functionality:

1. Updated deprecated `run_on_dataset` to `evaluate` to resolve
PydanticUserError
- Following the migration guide:
https://docs.smith.langchain.com/old/evaluation/migration

2. Added missing `langchain_community` import

3. Added required `simulation_utils.py` file to docs directory
- Source:
https://github.com/langchain-ai/langgraph/blob/main/examples/chatbot-simulation-evaluation/simulation_utils.py

## Testing
Successfully ran the `langsmith-agent-simulation-evaluation.ipynb`
notebook without any errors.
2025-02-19 00:26:50 +00:00
Eugene YurtsevandGitHub 84f8a43f6e docs: update measurement id (#3487) 2025-02-19 00:11:34 +00:00
Vadym BardaandGitHub 7ce0e3e15e langgraph: release 0.2.74 (#3489) 2025-02-18 18:56:04 -05:00
Vadym BardaandGitHub 1e6d958434 langgraph: fallback on no-op writer in get_stream_writer (#3488) 2025-02-18 23:53:11 +00:00
Vadym BardaandGitHub 68ba8aa393 docs: add mcp adapters (#3485) 2025-02-18 17:47:55 -05:00
Eugene YurtsevandGitHub e6a0f08561 docs: update prebuilt stub (#3486) 2025-02-18 17:09:33 -05:00
Eugene YurtsevandGitHub f38784a291 ci: remove markddown-exec from docs pipeline (#3482)
This PR removes the following changes:
* notebooks that were converted to markdown
* mkdocs.yml file to reference the ipython notebooks rather than the
markdown files
* Makefile install vercel reverted
* hooks for markdown-exec
* notebook conversion jinja2 templates (for converting notebooks to
markdown exec format)
2025-02-18 16:16:40 -05:00
Nuno CamposandGitHub fc834127fd checkpoint: Fix memory leak in checkpoint serializer (#3481)
- Packer instances can't be kept in memory as they retain memory after
used
2025-02-18 11:56:15 -08:00
Nuno Campos f3a0cbf294 Format 2025-02-18 11:46:48 -08:00
Nuno Campos f4fec76257 checkpoint: Fix memory leak in checkpoint serializer
- Packer instances can't be kept in memory as they retain memory after used
2025-02-18 11:44:26 -08:00
Eugene YurtsevandGitHub 457641f15e docs: remove beta from functional api (#3475) 2025-02-18 13:33:47 -05:00
Eugene YurtsevandGitHub 9f15e15e26 reference: remove incorrect example from pregel class (#3476)
Remove incorrect example from Pregel class. Will follow later this week
with better docs
2025-02-18 13:33:15 -05:00
Yan ZhaoandGitHub cb9989030e Very minor typo in docstring of State -> add_node (#3461)
Hi, I am a student and was going through the tutorial. While trying to
understand the different components by reading the docstring found this
super minor typo 😄 . I hope to contribute more meaningful changes in
future 😸
2025-02-18 13:05:26 -05:00
a008725c06 Ensure remote respects recursion_limit param if it's passed (#3470)
Currently when using RemoteGraph the recursion_limit cannot be set, due
to the sanitize_config.

---------

Co-authored-by: Simon Moxon <simon@together.ly>
Co-authored-by: Vadym Barda <vadim.barda@gmail.com>
2025-02-18 17:49:31 +00:00
a93f17e624 langgraph(prebuilt): allow a PromptTemplate in react agent (#3463)
Currently a ChatPromptTemplate cannot be used as a `prompt` for
`create_react_agent` without complaints from type checkers, although it
is supported by `model` as input.

Add the missing types to remove the warning.

---------

Co-authored-by: vbarda <vadym@langchain.dev>
2025-02-18 17:39:46 +00:00
William FHandGitHub c7eddcc6e3 Add langmem link (#3473) 2025-02-18 08:15:09 -08:00
David DuongandGitHub 4cdad6c206 fix(cli): use '{{json .}}' format instead of 'json' (#3479)
Related to https://github.com/langchain-ai/langgraph/issues/1319
2025-02-18 16:01:38 +01:00
Tat Dat Duong b9fb155d59 Bump to 0.1.52 2025-02-18 15:51:57 +01:00
Tat Dat Duong 8b817a5b16 Fix lint 2025-02-18 15:51:05 +01:00
Tat Dat Duong 3a67f3a3eb fix(cli): use '{{json .}}' format instead of 'json'
Related to https://github.com/langchain-ai/langgraph/issues/1319
2025-02-18 14:58:24 +01:00
Nuno CamposandGitHub 1283539500 Add CONFIG_KEY_RUNNER_SUBMIT (#3474) 2025-02-17 17:42:35 -08:00
Nuno Campos 69ad42cac5 Add CONFIG_KEY_RUNNER_SUBMIT 2025-02-17 17:33:38 -08:00
Nuno CamposandGitHub 264b02e3ad cli: Add support for dependencies in parent directories (#3472)
- Now supporting local dependencies in directories that are not
contained in the docker context (ie. outside the folder containing
langgraph.json)
- This is achieved by passing each parent directorty as an additional
context to docker build
- This makes it a lot easier to build projects contained in monorepos
where you need to include some sibling/parent folder as a dependency
- Also include additional comments in the generated dockerfile to
delimit each section
2025-02-17 17:21:41 -08:00
Nuno Campos b5c659bc9f Resolve 2025-02-17 17:12:06 -08:00
Nuno Campos 4623f7b5da Fix 2025-02-17 17:09:31 -08:00
William Fu-Hinthorn 1641402341 Add sibling dep test 2025-02-17 14:59:13 -08:00
Nuno Campos d03ead2f43 Fix path in assertion 2025-02-17 11:47:38 -08:00
Nuno Campos 5a8624fdfd cli: Add support for dependencies in parent directories
- Now supporting local dependencies in directories that are not contained in the docker context (ie. outside the folder containing langgraph.json)
- This is achieved by passing each parent directorty as an additional context to docker build
- This makes it a lot easier to build projects contained in monorepos where you need to include some sibling/parent folder as a dependency
- Also include additional comments in the generated dockerfile to delimit each section
2025-02-17 11:43:55 -08:00
David DuongandGitHub c44ec55095 fix(docs): broken assistant-ui link (#3467) 2025-02-17 04:50:11 +01:00
Tat Dat Duong 25d682cc9e fix(docs): broken assistant-ui link 2025-02-17 04:38:22 +01:00
Vadym BardaandGitHub 6f37330141 langgraph: release 0.2.73 (#3456) 2025-02-15 16:13:30 -05:00
Vadym BardaandGitHub 1356a0ba42 langgraph: better typing for node functions (#3455) 2025-02-15 21:11:33 +00:00
Nuno Campos 9786be1ff7 Update requirement 2025-02-14 19:01:50 -08:00
Nuno CamposandGitHub c2a129c882 Exclude complex values from checkpoint metadata (#3448) 2025-02-14 18:51:48 -08:00
Nuno Campos 62f004fd28 Lint 2025-02-14 18:42:40 -08:00
Nuno Campos d4b22ac1d4 Fix postgres tests 2025-02-14 18:40:30 -08:00
Nuno Campos 0415c02b40 Fix sqlite tests 2025-02-14 18:34:06 -08:00
Nuno Campos e8665f84e7 Update 2025-02-14 18:31:03 -08:00
Nuno Campos 8ff5e79e70 Lint 2025-02-14 18:27:49 -08:00
Nuno Campos 7f4822931e Update tests 2025-02-14 18:24:48 -08:00
Nuno Campos 9706211aca Exclude complex values from checkpoint metadata 2025-02-14 17:35:14 -08:00
Ben BurnsandGitHub 405da6d507 chore(docs): enable analytics, add consent banner & copyright notice (#3447) 2025-02-15 00:54:31 +00:00
Nuno Campos bf7252cadc checkpoint 2.0.14 2025-02-14 12:28:04 -08:00
Nuno CamposandGitHub e33bac6737 Fix busy loop in AsyncBatchedBaseStore (#3445)
- while loop w asyncio.sleep(0) takes up cpu
2025-02-14 12:12:28 -08:00
Nuno Campos da97d2e1ba Fix 2025-02-14 12:03:03 -08:00
Nuno Campos 6baf320d8e Fix 2025-02-14 10:43:03 -08:00
Nuno Campos a064ccdca1 Lint 2025-02-14 10:40:09 -08:00
Nuno Campos b5479b48bf Lint 2025-02-14 10:39:34 -08:00
Nuno Campos 9dbcb03185 Fix busy loop in AsyncBatchedBaseStore
- while loop w asyncio.sleep(0) takes up cpu
2025-02-14 10:36:02 -08:00
Eugene YurtsevandGitHub f2faa39ca9 add api reference for Pregel (#3437) 2025-02-13 21:07:43 -05:00
Eugene YurtsevandGitHub b4f6cdf01f docs: remove astream events from streaming conceptual guide (#3438) 2025-02-13 21:07:30 -05:00
Vadym BardaandGitHub cd976e779d docs: update stateless runs how-to guide (#3439) 2025-02-13 20:27:02 -05:00
Eugene YurtsevandGitHub c1f337f50b docs: add check code output for result="ansi" (#3435)
* Add ast parsing to determine whether we should include result="ansi".
It's not meant to be perfect, but will hopefully catch the most common
cases. Still requires manual review.
* Ideally we could suppress output in markdown-exec in the future.
2025-02-14 01:07:40 +00:00
David DuongandGitHub 31d3ceaf6d feat(sdk-js): bump to 0.0.42 (#3436) 2025-02-13 16:27:04 -08:00
Tat Dat Duong a48844632d feat(sdk-js): bump to 0.0.42 2025-02-13 16:17:02 -08:00
Eugene YurtsevandGitHub 437891aa4f docs: handle more links (#3434) 2025-02-13 23:43:29 +00:00
Eugene YurtsevandGitHub 3e1bbd3123 docs: cell magic to shell block conversion (#3433)
* add handling for blocks that use magic commands like %pip to convert
them into bash
* Apply new logic to another notebook
2025-02-13 18:23:49 -05:00
Eugene YurtsevandGitHub 9111449ffd docs: handle input() and cell magic for notebook conversion (#3432) 2025-02-13 22:29:32 +00:00
Eugene YurtsevandGitHub 77d7c00ce8 docs: fix up edge cases with links in notebooks (#3414)
* Adds another notebook conversion
* Fix up some edge cases for handling links in notebooks. Notebooks
links were using a different convention than markdown links.

We'll need to push additional logic to use an appropriate suffix (.md or
.ipynb) for cross-references between how-to guides (though these should
be rare).
2025-02-13 15:33:55 -05:00
Eugene YurtsevandGitHub 91725d742d docs: add unit tests to build pipeline (#3427)
* Add testing step to to docs build pipeline
* Requires updating import structure in some place
* Add simple unit test to cover some logic with highlights
2025-02-13 15:32:42 -05:00
David DuongandGitHub d73a4539ec feat(sdk-js): add docs for new useStream hook (#3420)
- **Add basic docs**
- **Add docs**
- **feat(sdk-js): add docs, how-to guide**
2025-02-13 11:32:03 -08:00
Nuno CamposandGitHub 15e2df6da5 Add LGP Arch page (#3428) 2025-02-13 11:22:29 -08:00
Tat Dat Duong ce6b396186 Update index page as well 2025-02-13 11:16:32 -08:00
Tat Dat Duong d2ab02edf1 Add shoutout to CopilotKit and assistant-ui 2025-02-13 11:15:45 -08:00
Nuno Campos 0aef9424a8 Add link 2025-02-13 11:12:49 -08:00
Nuno Campos ed23288e5b Add LGP Arch page 2025-02-13 11:09:31 -08:00
Tat Dat Duong 7ec8a4cb4d Update type definitions 2025-02-13 10:57:00 -08:00
David DuongandGitHub 2d9ca3045e feat(sdk-js): expose branches (#3426) 2025-02-13 10:45:01 -08:00
David DuongandGitHub b065c54871 feat(sdk-js): make "messages" the default key (#3425) 2025-02-13 10:39:17 -08:00
Tat Dat Duong 3c0a677c90 feat(sdk-js): make "messages" the default key 2025-02-13 10:36:22 -08:00
Tat Dat Duong 7e4852373d Fix broken links 2025-02-13 10:23:11 -08:00
Tat Dat Duong 422b2ba7f0 Update docs 2025-02-13 10:18:09 -08:00
Tat Dat Duong 2c66ac869d feat(sdk-js): expose branches 2025-02-13 10:17:42 -08:00
Matt SteadmanandGitHub 1ef7121100 docs: Fix grammar in LangGraph Glossery (#3407) 2025-02-13 13:05:54 -05:00
William FHandGitHub a53287f3d8 Clarify custom auth <-> deployment options (#3423) 2025-02-13 17:38:38 +00:00
Vadym BardaandGitHub da96925ecb ci: install mkdocs-insiders only for internal PRs (#3422) 2025-02-13 12:24:30 -05:00
Tat Dat Duong f3403eab48 Add link ref 2025-02-13 07:55:46 -08:00
Tat Dat Duong 208d9d165d feat(sdk-js): add docs, how-to guide 2025-02-13 07:44:01 -08:00
Tat Dat Duong 49c74dd569 Add docs 2025-02-13 07:12:15 -08:00
Tat Dat Duong 2d97af57f8 Add basic docs 2025-02-13 07:08:35 -08:00
b310ce07bc docs: add scripts for notebook conversion (#3406)
* Update notebook conversion code
* Convert one more file

---------

Co-authored-by: Ben Burns <803016+benjamincburns@users.noreply.github.com>
2025-02-13 06:48:27 +00:00
Vadym BardaandGitHub 65976f311f langgraph: release 0.2.72 (#3413) 2025-02-13 00:14:54 -05:00
Nuno CamposandGitHub 80c9d61fbd langgraph: fix None handling for pydantic state updates (#3411) 2025-02-12 21:05:02 -08:00
ZapironandGitHub a578c7b137 docs: fix grammatical error for navigating node to parent section (#3356)
Add within to better explain moving from one subgraph to another
2025-02-12 23:59:59 -05:00
vbarda 04e8342d97 pydantic v1 2025-02-12 20:46:12 -08:00
vbarda b0e11ae524 update 2025-02-12 20:02:26 -08:00
Vadym BardaandGitHub d45253cee8 checkpoint: release libraries (#3412) 2025-02-12 22:44:44 -05:00
Vadym BardaandGitHub 1377e3b6ba checkpoint: combine metadata when writing checkpoints (#3404) 2025-02-13 03:24:41 +00:00
vbarda c36323cba8 3.9 2025-02-12 19:17:05 -08:00
148cf52981 chore(docs): notebook convert script + 1 conversion (#3390)
* Adds a conversion script from ipython notebook to markdown.
* Replaces one ipython notebook (create react agent) with a markdown file for testing.

---------

Co-authored-by: Ben Burns <803016+benjamincburns@users.noreply.github.com>
2025-02-13 02:38:15 +00:00
Eugene YurtsevandGitHub 9010303245 docs: add update prebuilt on docs deploy (#3410)
logic executed on every PR which involves a network request per package
to download stats from pypi.
2025-02-12 20:59:15 -05:00
vbarda 661476e88d langgraph: fix None handling for pydantic state updates 2025-02-12 17:53:12 -08:00
3397d8908f docs: adding Breeze Agent for third party agent page (#3352)
Adding open source web researcher agent to the third party page

---------

Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
Co-authored-by: Eugene Yurtsev <eugene@langchain.dev>
2025-02-12 20:15:22 -05:00
Nuno Campos e005f0472b sdk-js 0.0.40 2025-02-12 16:53:02 -08:00
David DuongandGitHub 18a1d60e45 feat(sdk-js): further 2x improvement when SSE (#3408) 2025-02-12 16:09:18 -08:00
Tat Dat Duong 5091d5e9fe Remove ts-node 2025-02-12 15:56:01 -08:00
Tat Dat Duong da1fae0c72 Cleanup 2025-02-12 15:55:10 -08:00
Tat Dat Duong 7db81d72dc Cleanup 2025-02-12 15:55:10 -08:00
Tat Dat Duong 4ce387ee28 test 2025-02-12 15:55:09 -08:00
Nuno CamposandTat Dat Duong b902db686d Speed up! 2025-02-12 15:55:07 -08:00
Nuno CamposandGitHub 16be48079e fix(sdk-js): improve SSE parsing performance by 10x (#3401) 2025-02-12 10:08:46 -08:00
Eugene YurtsevandGitHub cf3a9ad63e docs: add timeout to docs delpoy workflow (#3402) 2025-02-12 13:04:06 -05:00
David DuongandGitHub 547830ef24 feat(sdk-js): add experimental useStream hook (#3361)
Experimental `useStream` React hook to make streaming as simple as
possible. Supports branching / forking, message-tuple stream mode for
rendering messages.

Usage: https://github.com/langchain-ai/langchain-nextjs-template/pull/62
2025-02-12 09:39:02 -08:00
Tat Dat Duong d333e52fce Simplify types for additional kwargs 2025-02-12 09:16:07 -08:00
Tat Dat Duong 15fe44ddf8 Update deps 2025-02-12 09:13:10 -08:00
Tat Dat Duong b6aff521e5 Make event listeners a callback 2025-02-12 09:11:44 -08:00
Eugene YurtsevandGitHub 35ff9f5211 docs: add script to add typescript translations (#3394)
A script to add typescript translations. We can improve by automatically
adding markdown tabs appropriately and parallelizing the llm calls
2025-02-12 12:07:05 -05:00
Tat Dat Duong d690fc3e00 Bump to 0.0.39 2025-02-12 08:52:25 -08:00
Tat Dat Duong 3325787af7 fix(sdk-js): improve SSE parsing performance by 10x 2025-02-12 08:51:53 -08:00
Tat Dat Duong 77a3cffa7f Allow omitting client 2025-02-12 08:50:01 -08:00
Ben BurnsandGitHub d1f2a6c518 chore(docs): update markdown-exec to end sessions after each page (#3391) 2025-02-11 21:28:30 +00:00
Eugene YurtsevandGitHub b984584851 docs: revert accidental changes to glossary (#3389) 2025-02-11 21:09:03 +00:00
bce4545021 docs: vcr only set up for markdown (#3339)
- PR branch for testing w/ typescript (@benjamincburns )
- implementation needs better cache invalidation for the cassettes
(@eyurtsev)

---------

Co-authored-by: Ben Burns <803016+benjamincburns@users.noreply.github.com>
2025-02-11 15:38:17 -05:00
Vadym BardaandGitHub 29c317887d langgraph: release to 0.2.71 (#3388) 2025-02-11 14:06:04 -05:00
Vadym BardaandGitHub 84a0eca935 langgraph: allow passing destinations to .add_node (#3384) 2025-02-11 19:01:45 +00:00
Tat Dat Duong d9ed1ef52e Branching 2025-02-11 10:10:54 -08:00
Vadym BardaandGitHub fda79e00ce docs: update typo in a tool (#3385)
Fixes #3383
2025-02-11 13:08:33 -05:00
Tat Dat Duong 3163a60466 Fix typo 2025-02-11 09:58:19 -08:00
Tat Dat Duong ac05955222 Update peer dependencies 2025-02-11 09:09:08 -08:00
Tat Dat Duong f3fe30380c Make sure we clear when switching threads 2025-02-11 09:01:53 -08:00
Tat Dat Duong 2c5ddceeb1 Add submit / stop 2025-02-11 09:01:53 -08:00
Tat Dat Duong 98976e016a Prevent double Error: Error 2025-02-11 09:01:52 -08:00
Tat Dat Duong ea8025b719 Add other stream parameters 2025-02-11 09:01:52 -08:00
Tat Dat Duong 735a76a16c Clean up the API 2025-02-11 09:01:52 -08:00
Tat Dat Duong a33437964c Add debugger, that is not exported 2025-02-11 09:01:52 -08:00
Tat Dat Duong cb9405bcee Allow update: null 2025-02-11 09:01:52 -08:00
Tat Dat Duong bd2268404c Update types 2025-02-11 09:01:51 -08:00
Tat Dat Duong 25f88740c1 feat(sdk-js): add experimental useStream hook 2025-02-11 09:01:51 -08:00
David DuongandGitHub e9809ae9c1 feat(sdk-js): strongly-typed messages, state/update-type, stream mode (#3360)
StateType, UpdateType is set on the Client rather than on
`RunsClient.stream` because of lack of partial type arguments
application.

This PR also describes the message serialization format emitted by
LangGraph Server (which may change ie. converting `type` to `role`).
Avoiding direct import of `@langchain/core` for the core LangGraph SDK
client, thus these types were copied from `@langchain/core` (a script is
used to aid with keeping track with core)
2025-02-11 08:56:02 -08:00
Tat Dat Duong 69311a4135 Add feedback stream event 2025-02-11 08:45:15 -08:00
Tat Dat Duong bb3193c83e fix(sdk-js): non-ok response is not throwing anymore 2025-02-11 08:45:15 -08:00
Tat Dat Duong 7a2eb614dc Add ErrorStreamEvent 2025-02-11 08:45:14 -08:00
Tat Dat Duong 7fd6931200 Cleanup types 2025-02-11 08:45:14 -08:00
Tat Dat Duong cbca07e3db Rename to more sane event type 2025-02-11 08:45:14 -08:00
Tat Dat Duong 066525b335 Update content 2025-02-11 08:45:14 -08:00
Tat Dat Duong a1dad43602 feat(sdk-js): strongly-typed messages, state/update-type, stream mode 2025-02-11 08:45:14 -08:00
Vadym BardaandGitHub 1e8f097656 docs: update prebuilt page w/ autogenerated info (#3381) 2025-02-11 09:27:01 -05:00
Brace SproulandGitHub db26c915a9 fix(sdk-js): Export types (#3377) 2025-02-10 18:02:42 -08:00
bracesproul 9b62280fc5 bump dep 2025-02-10 17:47:07 -08:00
bracesproul 515ad8d7a6 fix(sdk-js): Export types 2025-02-10 17:30:19 -08:00
David DuongandGitHub d378f0e06a fix(sdk-js): use type instead of interface to avoid TS errors (#3358)
Allow assigning `threadState?.checkpoint` to the `configurable` object
without TSC throwing "Index signature for type 'string' is missing in
type".
2025-02-10 13:30:25 -08:00
Vadym BardaandGitHub 740870df65 docs: ignore more links in url checker (#3374) 2025-02-10 15:27:58 -05:00
Vadym BardaandGitHub 6e20c9f3f9 docs: update codespell config (#3373) 2025-02-10 14:35:07 -05:00
Vadym BardaandGitHub 530544234a docs: add missing file (#3371) 2025-02-10 12:49:10 -05:00
Vadym BardaandGitHub f11d241482 docs: add adopters page (#3370) 2025-02-10 12:32:14 -05:00
William FHandGitHub e81979827f Support index embed specification via string (#3317)
So you can do

```
from langgraph.store.memory|posgres|etc. import InMemoryStore

InMemoryStore(index={"embed": "openai:text-embedding-3-small"})
```
2025-02-09 02:09:10 +00:00
Tat Dat Duong 2064ea4793 fix(sdk-js): use type instead of interface to avoid TS errors
Allow assigning `threadState?.checkpoint` to the `configurable` object without TSC throwing "Index signature for type 'string' is missing in type".
2025-02-08 10:32:28 -08:00
Brace SproulandGitHub 16cfeff78c release(sdk-js): 0.0.37 (#3354) 2025-02-07 12:44:55 -08:00
bracesproul 4321d337d6 release(sdk-js): 0.0.37 2025-02-07 12:35:51 -08:00
Brace SproulandGitHub d56e2545a6 fix(sdk-js): Remove default fetch timeout (#3353) 2025-02-07 12:34:32 -08:00
bracesproul 9a3f96c459 fix(sdk-js): Remove default fetch timeout 2025-02-07 12:17:34 -08:00
LaelandGitHub cb509ad6a5 Update application_structure.md (#3278)
moved requirements.txt to root of the project in the recommended
structure
2025-02-07 15:14:51 -05:00
Vadym BardaandGitHub e479a2c643 docs: update packages.yml (#3351) 2025-02-07 15:12:00 -05:00
Vadym BardaandGitHub 0caae32a40 docs: expose langgraph-supervisor (#3350) 2025-02-07 14:29:41 -05:00
Vadym BardaandGitHub a6b8098548 cli: release 0.1.71 (#3342) 2025-02-06 17:51:48 -05:00
Vadym BardaandGitHub 0631f19ef9 langgraph: release 0.2.70 (#3341) 2025-02-06 17:50:08 -05:00
Eugene YurtsevandGitHub e9b0bc4d3b cli: patch to convert graphs paths to posix (#3318)
* Convert graph paths to POSIX for docker.
* Will set up windows build in a separate PR (some issue w/ pulling down
the image) https://github.com/langchain-ai/langgraph/pull/3271
* Fix for https://github.com/langchain-ai/langgraph/issues/2061
2025-02-06 17:29:57 -05:00
Vadym BardaandGitHub eb19b80d13 langgraph: add agent name to AI messages in create_react_agent (#3340) 2025-02-06 17:24:53 -05:00
Nuno CamposandGitHub e5ccdd91c2 fix(langgraph): Dedupe input (right-side) messages in add_messages (#3338)
Port: https://github.com/langchain-ai/langgraphjs/pull/846
2025-02-06 13:25:20 -08:00
jacoblee93 871f15a630 Merge branch 'jacob/dedupe' of github.com:langchain-ai/langgraph into jacob/dedupe 2025-02-06 11:52:29 -08:00
jacoblee93 32aa87d4b2 Add test 2025-02-06 11:52:13 -08:00
Nuno Campos 55a3352e9b One more 2025-02-06 11:34:45 -08:00
Nuno Campos 6adaa6cf78 Fix up 2025-02-06 11:33:54 -08:00
Vadym BardaandGitHub 28172a2767 langgraph: allow setting custom names for compiled graph / compiled state graph (#3337) 2025-02-06 19:33:02 +00:00
jacoblee93 028137a51a Format 2025-02-06 11:28:10 -08:00
jacoblee93 c3847fae6c Dedupe input (right-side) messages in add_messages 2025-02-06 11:26:15 -08:00
William FHandGitHub 3daa4ae466 Update name to InMemorySaver (#2044)
(Keep MemorySaver around for backwards compatibility)

"MemorySaver" is ambiguous: is it saving memories? Where is it saving
memories to?

InMemorySaver aligns naming InMemoryStore as well as similar LangChain
objects (InMemoryVectorStore, etc.)
2025-02-05 22:04:25 -08:00
Doros Doru-LucianandGitHub 6a36f4bf91 docs: add forgotten MemorySaver in full code (#3321) 2025-02-05 20:58:17 -05:00
Eugene YurtsevandGitHub 04a0443742 ci: swap order of llms full and site build (#3315) 2025-02-04 22:16:39 +00:00
Eugene YurtsevandGitHub 3b224df566 publish llms text (#3313)
just includes llms-full
2025-02-04 21:56:33 +00:00
Vadym BardaandGitHub 0a2e2b4796 docs: fix typo (#3312) 2025-02-04 16:22:55 -05:00
Eugene YurtsevandGitHub 0e0b3ffac5 Update plans.md (#3311) 2025-02-04 20:45:54 +00:00
Eugene YurtsevandGitHub 75509bd221 docs: generate llms text (#3243)
```shell
python docs/_scripts/generate_llms_text.py llms_text.md
```
2025-02-04 20:30:26 +00:00
William FHandGitHub f997e5eafd Update inv file (#3308)
https://mkdocstrings.github.io/reference/handlers/base/
2025-02-04 11:45:59 -08:00
Eugene YurtsevandGitHub 6337c62dc7 Update prebuilt.md (#3306) 2025-02-04 18:46:57 +00:00
Eugene YurtsevandGitHub 59992fac7c Update create_third_party_page.py (#3307) 2025-02-04 18:44:18 +00:00
Eugene YurtsevandGitHub 28a7ca03a9 docs: publish prebuilt page (#3305)
Publish prebuilt page
2025-02-04 18:26:25 +00:00
TanushreeandGitHub 9fe61a42d2 Adding interrupt banner (#3295) 2025-02-03 18:57:17 -08:00
Marcello MaugeriandGitHub 59ae3b873c Fix typo in quick_start.md (#3297) 2025-02-03 18:51:27 -05:00
Vadym BardaandGitHub 31ba5c41ac docs: use full path for the upload artifact (#3293) 2025-02-03 15:33:50 -05:00
Vadym BardaandGitHub 6ddbdd0638 docs: add vercel build (#3290) 2025-02-03 20:13:58 +00:00
William FHandGitHub 3f7f52ccdc Docs links fix (#3292) 2025-02-03 10:57:38 -08:00
William FHandGitHub ee9a34f726 Update license key troubleshooting (#3157) 2025-02-03 18:09:05 +00:00
Eugene YurtsevandGitHub 72ce34e3e6 docs: add 3rd party packages scaffold (#3263)
* Adds scaffolding for 3rd party packages. Not published yet.
2025-02-03 17:21:30 +00:00
Vadym BardaandGitHub 098d5ec403 langgraph: update RunnableLike to support injected kwargs (#3288)
Fixes #3257
2025-02-03 11:25:20 -05:00
Vadym BardaandGitHub 45ef425d85 docs: update command how-to (#3280) 2025-02-03 09:29:45 -05:00
8c192414a2 docs: Update Hierarchial Multi Agent Example (#3282)
Was trying to learn the Multi Agent Workflow examples and encountered
some errors, which I fixed by editing these:

* Added missing state for Team1, and importing `Command`
* `ValueError: Node `LangGraph` already present.`: Seems to happen we
add the `team_1_graph` node without giving it a name, it will default to
the name `LangGraph`. Solved by giving the sub-graph a name when
building the top-level supervisor.
* Added the edges for the graph to feedback to the top level supervisor
to decide whether it still needs to relegate the task to other nodes or
end from there

---------

Co-authored-by: Vadym Barda <vadim.barda@gmail.com>
2025-02-03 09:29:19 -05:00
Vadym BardaandGitHub c0db7f4d09 docs: revamp streaming how-to guides + update redirects (#3274) 2025-01-31 18:04:51 -05:00
072f2d43eb docs: add graph API basics section (#3228)
![Screenshot 2025-01-30 at 3 53
05 PM](https://github.com/user-attachments/assets/c97018ea-38ff-4b38-96df-55c6d7f926f3)

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
2025-01-31 17:41:56 -05:00
Andrew NguonlyandGitHub c02a74e221 docs: Add Excalidraw file for LangGraph Cloud architecture diagram (#3272) 2025-01-31 14:07:12 -08:00
Vadym BardaandGitHub 15af8a9e6c Revert "docs: revamp streaming how-to guides (#3239)" (#3270)
This reverts commit d5b0ad2cf6.
2025-01-31 15:52:58 -05:00
Vadym BardaandGitHub 1b257b4d0a ci: disable autogen notebook in the runner (#3269) 2025-01-31 15:44:03 -05:00
Vadym BardaandGitHub 384814036e docs: update other frameworks how-to (#3264) 2025-01-31 20:23:41 +00:00
Vadym BardaandGitHub d5b0ad2cf6 docs: revamp streaming how-to guides (#3239) 2025-01-31 15:14:26 -05:00
ccurmeandGitHub 8d8e514924 langgraph[patch]: rename parameter (#3268)
Rename `tool_call_parallelism` (has not been released yet).
2025-01-31 19:36:55 +00:00
a37c4d6f49 langgraph[patch]: allow ToolNode to accept ToolCalls (#3126)
Alternative to https://github.com/langchain-ai/langgraph/pull/3124

Currently if a tool interrupts, the entire tool node executes again
after resuming. So tools can get executed twice if parallel tool calls
are generated. Here we allow ToolNode to accept tool calls, so we can
use the `Send` API to distribute the tool calls to multiple instances of
the tool node.

```python
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool
from langgraph.checkpoint.memory import MemorySaver
from langgraph.prebuilt import create_react_agent
from langgraph.types import Command, Send, interrupt


@tool
def human_assistance(query: str) -> str:
    """Request assistance from a human."""
    human_response = interrupt({"query": query})
    return human_response["data"]


@tool
def get_weather(location: str) -> str:
    """Use this tool to get the weather."""
    return "It's sunny!"


tools = [get_weather, human_assistance]
llm = ChatAnthropic(model="claude-3-5-sonnet-20240620")

agent = create_react_agent(
    llm,
    tools,
    checkpointer=MemorySaver(),
    tool_call_parallelism="parallel_tool_nodes",
)


user_input = (
    "Could you please (1) request assistance for building an AI agent "
    "from a human, and (2) search for the weather in Boston, MA? "
    "Generate two tool calls at once."
)

config = {"configurable": {"thread_id": "1"}}

for event in agent.stream(
    {"messages": [{"role": "user", "content": user_input}]},
    config,
    stream_mode="values",
):
    event["messages"][-1].pretty_print()
```
```
...
```
```python
human_response = "You should check out LangGraph to build your agent."
human_command = Command(resume={"data": human_response})

for event in agent.stream(human_command, config, stream_mode="values"):
    event["messages"][-1].pretty_print()
```

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
2025-01-31 17:20:59 +00:00
Vadym BardaandGitHub 4b3e07b67a langgraph: release 0.2.69 (#3256) 2025-01-30 19:56:20 -05:00
Nuno CamposandGitHub 6ba61cc768 Guard and cache calls to find_subgraph_pregel (#3255)
- The result of these doesnt change once a node is created, and it's
fairly expensive to run, so great thing to cache
- There's a variety of errors that can come from inspecting the source
code of a function (part of what this does) so adding a catch-all
try-except block as this should be best-effort, not crash your graph
2025-01-30 16:37:42 -08:00
Nuno Campos 5a79210904 Lint 2025-01-30 16:28:03 -08:00
Nuno Campos 4a60eaf32f Guard and cache calls to find_subgraph_pregel
- The result of these doesnt change once a node is created, and it's fairly expensive to run, so great thing to cache
- There's a variety of errors that can come from inspecting the source code of a function (part of what this does) so adding a catch-all try-except block as this should be best-effort, not crash your graph
2025-01-30 16:26:23 -08:00
Vadym BardaandGitHub cf7c3e7fd1 docs: update README to include built w/ langgraph (#3254) 2025-01-30 22:13:06 +00:00
Vadym BardaandGitHub 141b53ee6e docs: add reference file for config (#3253) 2025-01-30 16:58:00 -05:00
37e8e00f1f When using Command.PARENT also pass existing subgraph state to parent graph (#3134)
Co-authored-by: Vadym Barda <vadym@langchain.dev>
2025-01-30 15:54:44 -05:00
Vadym BardaandGitHub a0ec9017f2 langgraph: add get_stream_writer() (#3251)
Alternative to #3250
2025-01-30 20:45:44 +00:00
Eugene YurtsevandGitHub 80cef60405 docs: concepts update (#3248) 2025-01-30 16:32:17 +00:00
Vadym BardaandGitHub 46cba763be docs: small README update (#3244) 2025-01-29 17:46:32 -05:00
Vadym BardaandGitHub 830e5f4550 docs: update README (#3242) 2025-01-29 22:33:32 +00:00
Vadym BardaandGitHub 55e9409b6e docs: update multi-agent multi-turn how-to (#3241) 2025-01-29 22:28:03 +00:00
Vadym BardaandGitHub 39e65a1a62 langgraph: expose tags in the metadata for streamed message chunks (#3238) 2025-01-29 20:24:32 +00:00
Vadym BardaandGitHub 82148e9bf2 docs: update streaming docstring for Pregel and expose in api ref (#3229) 2025-01-29 12:07:07 -05:00
Harsh NevseandGitHub ed09a77d9f Update multi-agent-collaboration.ipynb (#3233)
grammar
2025-01-29 11:48:54 -05:00
William FHandGitHub 7e267897c9 Update auth file paths in build/up (#3231) 2025-01-29 05:09:10 -08:00
Andrew NguonlyandGitHub d279902156 docs: Add LangSmith Integration section for Cloud SaaS concepts (#3230) 2025-01-28 13:27:51 -08:00
Eugene YurtsevandGitHub 440158b969 Update functional_api.md (#3227) 2025-01-28 17:57:01 +00:00
0cf3a64d66 Do not inject args in RunnableCallable if arg already exists (#3185)
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2025-01-28 12:48:33 -05:00
Vadym BardaandGitHub 953e2907d4 docs: remove MessageGraph from concepts doc (#3226) 2025-01-28 10:16:54 -05:00
Vadym BardaandGitHub 0a861815b7 docs: replace 'state_modifier' with 'prompt' (#3190) 2025-01-28 02:51:40 +00:00
Eugene YurtsevandGitHub 928126f2d7 docs: functional api concepts paraphrase (#3223) 2025-01-27 21:26:13 -05:00
Vadym BardaandGitHub 0d8fea847a langgraph: release 0.2.68 (#3224) 2025-01-27 21:08:06 -05:00
Eugene YurtsevandGitHub b4dc3a851f functional api: remove generator support (#3220)
Remove generator support in entrypoint.
2025-01-27 19:42:35 -05:00
Vadym BardaandGitHub 7568862013 langgraph: more unittests for functional API (#3221) 2025-01-28 00:41:15 +00:00
Andrew NguonlyandGitHub 69dc5f326e docs: Add section for Automatic Deletion of LangGraph Cloud SaaS deployments (#3222) 2025-01-27 15:42:36 -08:00
90f1e66748 docs: functional api (#3125)
* Concepts page for the functional API
* How-to guides that show functional API implementations
* API reference for entrypoint, task, entrypoint.final
* Add functional API version to the workflows

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
Co-authored-by: ccurme <chester.curme@gmail.com>
2025-01-27 16:31:43 -05:00
Vadym BardaandGitHub a910a1a341 langgraph: actually fix flaky test (#3219) 2025-01-27 16:06:31 -05:00
Vadym BardaandGitHub 554e763994 langgraph: use 'prompt' param for model input preprocessing in create_react_agent (#3173) 2025-01-27 19:03:01 +00:00
Vadym BardaandGitHub adff1df813 langgraph: fix flaky test (#3218) 2025-01-27 13:11:17 -05:00
Vadym BardaandGitHub 64b828def6 langgraph: handle task naming for reused class methods (#3216) 2025-01-27 17:05:39 +00:00
Jacob LeeandGitHub 9196cc2da8 docs: Fix broken links in README (#3211) 2025-01-27 09:15:17 -05:00
David DuongandGitHub e13a8bc320 fix: missing pgvector in CLI (#3165)
Fixes https://github.com/langchain-ai/langgraph/issues/3164
2025-01-25 04:27:42 +01:00
Tat Dat Duong 4b5b309152 Bump to 0.1.69 2025-01-25 04:18:18 +01:00
Tat Dat Duong 9d5166a0d3 Fix tests 2025-01-25 04:16:52 +01:00
Nuno CamposandGitHub 5b11683f4e Fix type hints for entrypoint decorator (#3198) 2025-01-24 15:07:21 -08:00
Vadym BardaandGitHub 3fae8d47c3 langgraph: handle more callable types in tasks (#3203) 2025-01-24 22:50:42 +00:00
Nuno Campos be9cb03dfa Lint 2025-01-24 13:51:16 -08:00
Vadym BardaandGitHub 6926c4bcc0 langgraph: add names for tasks (#3202) 2025-01-24 21:42:54 +00:00
Nuno Campos c04802a344 Fix type hints for entrypoint decorator 2025-01-24 09:31:27 -08:00
Nuno CamposandGitHub cf7f6691cf Improve typings for task, it now returns a mixed sync/async future protocol (#3186)
- note this type is never instantiated, it is only used for typing (we
cannot make it a protocol as it inherits from concurrent.futures.Future)
2025-01-24 09:19:51 -08:00
Vadym BardaandGitHub e1140f4fad ci: always test notebooks on all library versions (#3191) 2025-01-23 22:26:32 -05:00
Eugene YurtsevandGitHub ae8afb7677 reference: document entrypoint more (#3189)
add more documentation to the entrypoint primitive
2025-01-23 22:17:20 -05:00
Vadym BardaandGitHub 48040d8ea5 ci: run notebooks in 'development' for PRs (#3188) 2025-01-23 21:59:03 -05:00
Vadym BardaandGitHub ad51bfdf71 ci: only test changed notebooks using 'development' version of the library (#3187) 2025-01-23 21:41:47 -05:00
Nuno Campos 996b120613 Undo 2025-01-23 16:59:27 -08:00
Nuno Campos 1093dd55c8 Improve typings for task, it now returns a mixed sync/async future protocol
- note this type is never instantiated, it is only used for typing (we cannot make it a protocol as it inherits from concurrent.futures.Future)
2025-01-23 16:57:34 -08:00
Nuno CamposandGitHub d794875b32 Undo change to test watch mode (#3184) 2025-01-23 16:54:03 -08:00
Nuno Campos 6948cf5eb8 Undo change to test watch mode 2025-01-23 16:18:53 -08:00
Nuno CamposandGitHub bacc2955ae Remove implementation of get_graph for @entrypoint (#3183) 2025-01-23 15:48:22 -08:00
Nuno Campos f014d96d1c Remove implementation of get_graph for @entrypoint 2025-01-23 15:39:36 -08:00
RadiandGitHub 7b552ebf4b Update tool-calling.ipynb (#3178)
Typo fix
2025-01-23 18:02:43 -05:00
Vadym BardaandGitHub 1e61ddfdbe langgraph: release 0.2.67 (#3182) 2025-01-23 18:01:43 -05:00
Vadym BardaandGitHub d34846dc08 docs: fix a hub prompt (#3180) 2025-01-23 17:21:37 -05:00
Vadym BardaandGitHub 06823e327f langgraph: update docstrings/api ref for functional api (#3176) 2025-01-23 16:48:55 -05:00
Vadym BardaandGitHub 1059ef55d1 langgraph: handle node return annotations with unions (#3170) 2025-01-23 14:41:22 -05:00
39552255c8 langgraph: add support for BaseModel updates to Command (#2747)
Simple update that adds support for the `update` attribute of the
`Command` class to support Pydantic `BaseModel` type.

LangGraph already supports [Pydantic models for graph
states](https://langchain-ai.github.io/langgraph/how-tos/state-model/).

Extending support to the `update` attribute allows users to pass custom
BaseModel instances. Additionally, updates defined as `BaseModel` types
are type-validated when created.

https://github.com/langchain-ai/langgraph/issues/2804

---------

Co-authored-by: vbarda <vadym@langchain.dev>
2025-01-23 14:31:44 -05:00
Vadym BardaandGitHub 38bbe67469 langgraph: remove print (#3167) 2025-01-23 11:24:18 -05:00
Nuno CamposandGitHub 6335963674 Make scratchpad counters thread-safe (#3158)
- Same solution as used in python stdlib to name threads and asyncio
tasks
2025-01-23 07:37:04 -08:00
Nuno Campos 8a4c452317 Make test less flaky 2025-01-23 07:27:34 -08:00
Eugene YurtsevandGitHub 5dc5853161 Add entrypoint.final to decouple return value from save value (#3135)
* Introduce `entrypoint.final` that allows decoupling what's returned
from the state update.
* moving decorator to class object w/ call to support defining `final`
as a property on it -- this should play nicely w/ IDE tooling / type
checking.


```python
    previous_ = None

    @entrypoint(checkpointer=MemorySaver())
    def foo(msg: str, *, previous: Any) -> entrypoint.final[int, list[str]]:
        nonlocal previous_
        previous_ = previous
        previous = previous or []
        return entrypoint.final(value=len(previous), save=previous + [msg])

    assert foo.get_output_schema().model_json_schema() == {
        "title": "LangGraphOutput",
        "type": "integer",
    }

    config = {"configurable": {"thread_id": "1"}}
    assert foo.invoke("hello", config) == 0
    assert previous_ is None
    assert foo.invoke("goodbye", config) == 1
    assert previous_ == ["hello"]
    assert foo.invoke("definitely", config) == 2
    assert previous_ == ["hello", "goodbye"]

```
2025-01-23 10:18:23 -05:00
Vadym BardaandGitHub 9e066554ba langgraph: allow async state modifier in create_react_agent (#3161)
Fixes https://github.com/langchain-ai/langgraph/issues/2875
2025-01-23 09:29:25 -05:00
Tat Dat Duong 6ce9354ee4 fix: missing pgvector in CLI
Fixes https://github.com/langchain-ai/langgraph/issues/3164
2025-01-23 15:27:39 +01:00
Nuno Campos 211fd4337d Undo 2025-01-22 16:44:13 -08:00
Nuno Campos 44bf97ac0e Fix 2025-01-22 16:32:59 -08:00
Nuno Campos 23c73ae719 Update tests 2025-01-22 16:30:43 -08:00
Nuno CamposandGitHub 4165d479e9 langgraph: add test for interrupting multiple times from a task (#3148) 2025-01-22 16:25:03 -08:00
Nuno Campos c43a9a4bd0 Make scratchpad counters thread-safe
- Same solution as used in python stdlib to name threads and asyncio tasks
2025-01-22 16:07:59 -08:00
Nuno Campos c9613927dc Lint 2025-01-22 16:05:34 -08:00
Nuno Campos c697c2aa04 Undo 2025-01-22 16:02:09 -08:00
Nuno Campos 3f2557c9c9 Fix 2025-01-22 16:02:09 -08:00
Nuno Campos cbad17fa7d Fix 2025-01-22 16:02:09 -08:00
Nuno Campos 17dacb83a2 Fix 2025-01-22 16:02:09 -08:00
Nuno Campos 3a997be088 Fix 2025-01-22 16:02:09 -08:00
Chester CurmeandNuno Campos 020d10138d add test case 2025-01-22 16:02:09 -08:00
Vadym BardaandGitHub 303587c4ff docs: bring back image for concept doc (#3152) 2025-01-22 16:08:24 -05:00
Andrew NguonlyandGitHub 7d4e636313 docs: Add note about how to share Postgres instance for self-hosted deployments (#3139)
### Screenshot

![image](https://github.com/user-attachments/assets/1caa7581-9dda-4ffc-9fee-ffb0f72487ea)
2025-01-22 12:14:24 -08:00
Lance MartinandGitHub 86913caf89 Add agents and workflows overview (#3040) 2025-01-22 12:07:47 -08:00
Nuno CamposandGitHub 041faefe29 Remove write to RETURN channel for entrypoint func (#3149) 2025-01-22 11:46:14 -08:00
Nuno Campos b704cf30cc Lint 2025-01-22 11:34:30 -08:00
Nuno Campos 3915b44180 Format 2025-01-22 11:32:09 -08:00
Nuno Campos ac1407b23c Remove write to RETURN channel for entrypoint func 2025-01-22 09:44:52 -08:00
Vadym BardaandGitHub 44840aa23f docs: add missing api key to cross-thread persistence howto (#3141) 2025-01-21 21:24:01 -05:00
Vadym BardaandGitHub 51242e2a32 ci: pin codespell (#3140) 2025-01-21 21:22:23 -05:00
Vadym BardaandGitHub b358e2e7cd docs: fix typo in persistence howto (#3138) 2025-01-21 21:03:00 -05:00
Nuno CamposandGitHub 0d91ab1474 Disable recursing on runnables for task/entrypoint decorated funcs (#3136) 2025-01-21 15:47:51 -08:00
Nuno Campos 12ae297194 Disable recursing on runnables for task/entrypoint decorated funcs 2025-01-21 15:36:09 -08:00
Nuno Campos 0177565c6b Spell check 2025-01-21 15:14:00 -08:00
Bhavya DhimanandGitHub c48d495031 fix(requirements.txt): Set requirements path to posix expression so that it can work in windows OS as well. (#3101)
When I cloned langgraph example, I was not able to run the code because
of the requirements.txt file. The path was set to posix expression which
was not working in windows OS.
I have updated the path to posix expression so that it can work in
windows OS as well.

Try running `langgraph-example` in windows using the langgraph-cli in
windows OS. It was working for linux not in windows.
2025-01-21 14:30:13 -05:00
Vadym BardaandGitHub 22e6468af5 langgraph: release 0.2.66 (#3128) 2025-01-21 13:26:29 -05:00
ccurmeandGitHub 24bc0c0630 docs: update readme / docs intro page (#3082) 2025-01-21 13:19:30 -05:00
Nuno CamposandGitHub 802e6df8df Enable async tests that were being skipped (#3109)
- async tests are placed in test_pregel_async, not in test_pregel
- to avoid tests placed in wrong file being accidentally skipped i've
added the auto-async mark to sync test file
2025-01-21 10:16:20 -08:00
Nuno CamposandGitHub 3ec55b008d Fix timing issue where a sync task would finish before the other one was registered in futures dict (#3110)
- this was not possible in async where all done callbacks are called in
next tick
- in sync case this would manifest as the first task done callback
seeing counter == 1 and thus setting event
- the fix is to unset the event whenever a task is scheduled
2025-01-21 10:16:09 -08:00
Nuno CamposandGitHub e10b7c1391 Re-enable support for running sync tasks from async entrypoints (#3108)
- When using an async entrypoint you can now freely mix and match sync
and async tasks with a uniform api (ie all tasks return a sync or async
future depending on context)
- Fix issues with scheduling deeply nested tasks (use threadsafe methods
to schedule coroutines and create futures)
2025-01-21 10:15:49 -08:00
Nuno CamposandGitHub 31cc6b9f1d Fix tracing of args for @task decorated functions (#3107)
- now using same logic as in langsmith sdk, treating as single args
dict, based on function signature
2025-01-21 10:09:13 -08:00
Nuno Campos 2cafb4905b Lint 2025-01-21 10:06:02 -08:00
Nuno Campos fe46576d98 Fix 2025-01-21 09:59:49 -08:00
Nuno Campos 16c86c9de6 Add test 2025-01-21 09:49:46 -08:00
fca0d2d5bb Update libs/langgraph/langgraph/utils/future.py
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2025-01-21 09:43:12 -08:00
Nuno Campos c7c62f5587 Fix 2025-01-21 09:42:25 -08:00
Vadym BardaandGitHub 956c5f68fc docs: add a how-to guide for structured outputs in react agent (#3121) 2025-01-21 17:30:32 +00:00
ccurmeandGitHub 4908caf522 docs: how-to guides nits (#3123) 2025-01-21 12:17:37 -05:00
Chester Curme f926eada24 fix warnings 2025-01-21 12:06:42 -05:00
Chester Curme adc1e47028 nits 2025-01-21 12:00:12 -05:00
Vadym BardaandGitHub 7820b5c765 docs: add docs for Command.PARENT (#3081) 2025-01-21 16:37:39 +00:00
Chester Curme ca6f8e2042 Merge branch 'main' into cc/update_readme 2025-01-21 10:31:29 -05:00
Chester Curme ee61d06f8d add hyperlink 2025-01-21 10:31:27 -05:00
Roy BarberandGitHub 6eeb9de46a DOCS: Incorrect reference to JS/TS SDK as Python SDK (#3103)
Small typo in the Local Server page:
https://langchain-ai.github.io/langgraph/tutorials/langgraph-platform/local-server/
2025-01-21 09:34:57 -05:00
viren-viiandGitHub 19a91f4677 Update persistence_postgres.ipynb to remove typo in markdown cell. (#3119)
Fixed a typo that was interrupting the markdown.
2025-01-21 09:33:31 -05:00
BagaturandGitHub 6087b1969e python[patch]: call create_react_agent model node without is_last_step (#3114)
So that you can call agent.nodes['agent'].invoke({'messages': []})
without needing to specify is_last_step. very helpful for evaluating
just the model node of the agent
2025-01-20 18:28:57 -08:00
Nuno CamposandGitHub 6cbc7e8b67 Add get_store function (#3112) 2025-01-20 16:12:39 -08:00
Nuno Campos b2213e523e Add get_store function 2025-01-20 16:03:27 -08:00
David DuongandGitHub ac64f50383 feat(cli): add detection for bun.lockb (#3111) 2025-01-21 00:30:22 +01:00
Tat Dat Duong 25239891bc feat(cli): add detection for bun.lockb 2025-01-21 00:17:12 +01:00
Nuno Campos b7c3ac4501 Fix tracing output 2025-01-20 13:55:13 -08:00
Nuno Campos 09e8516689 Fix test 2025-01-20 11:57:19 -08:00
Nuno Campos 3ca75d69b8 Lint 2025-01-20 11:57:19 -08:00
Nuno Campos d48dec5452 Enable async tests that were being skipped
- async tests are placed in test_pregel_async, not in test_pregel
- to avoid tests placed in wrong file being accidentally skipped i've added the auto-async mark to sync test file
2025-01-20 11:57:19 -08:00
Nuno Campos d48b25420b Fix timing issue where a sync task would finish before the other one was registered in futures dict
- this was not possible in async where all done callbacks are called in next tick
- in sync case this would manifest as the first task done callback seeing counter == 1 and thus setting event
- the fix is to unset the event whenever a task is scheduled
2025-01-20 11:40:54 -08:00
Nuno Campos 12be3fac33 Lint 2025-01-20 11:13:37 -08:00
Nuno Campos aed1f0ba18 Re-enable support for running sync tasks from async entrypoints
- When using an async entrypoint you can now freely mix and match sync and async tasks with a uniform api (ie all tasks return a sync or async future depending on context)
- Fix issues with scheduling deeply nested tasks (use threadsafe methods to schedule coroutines and create futures)
2025-01-20 11:03:51 -08:00
Nuno Campos 07695f5c5a Lint 2025-01-20 10:53:37 -08:00
Nuno Campos 204c9c83f8 Fix tracing of args for @task decorated functions
- now using same logic as in langsmith sdk, treating as single args dict, based on function signature
2025-01-20 10:49:27 -08:00
David DuongandGitHub 0bdd27ade4 fix(cli): warn users to use the JS cli for JS graphs (#3086) 2025-01-18 02:29:45 +01:00
David DuongandGitHub ab0048981a docs: add mention of JS CLI (#3077) 2025-01-18 01:52:00 +01:00
Tat Dat DuongandNuno Campos e18f2b3795 fix(cli): warn users to use the JS cli for JS graphs 2025-01-17 16:07:31 -08:00
Chester CurmeandNuno Campos 31578cbe0e move code block 2025-01-17 16:07:16 -08:00
Chester CurmeandNuno Campos 44970640d5 cr 2025-01-17 16:07:16 -08:00
Chester CurmeandNuno Campos 0f4e42474f cr 2025-01-17 16:07:16 -08:00
Chester CurmeandNuno Campos 832f9ad64e copy changes to libs/langgraph/README.md 2025-01-17 16:07:16 -08:00
Chester CurmeandNuno Campos 318de5bb81 update readme 2025-01-17 16:07:16 -08:00
William FHandGitHub a11f9b3535 Fix docstring in pg store init (#3094) 2025-01-18 00:03:51 +00:00
Nuno CamposandGitHub 29db5a8672 Implement get_graph for imperative api (#3076) 2025-01-17 15:53:50 -08:00
Nuno CamposandGitHub 444faec6e6 Fix two issues with task/stream timing (#3095)
- both issues are related to the fact that waiters for futures are
notified of completion before "done" callbacks are called
- 1st issue manifested as interrupt stream event being emitted before
the result of a task that logically finished first (it's in the line
above in body of the entrypoint function) -> this is solved by always
returning to use code a fresh future chained on the original future,
because chaining is done via done callbacks (therefore the chained
future will only resolve after done callbacks of the original feature
are called)
- 2nd issue mainfested as sometimes (very rarely) the last stream event
not being printed before stream() finishes. this is solved by ensuring
we only return out of PregelRunner.tick() once all "done" callbacks are
called, previously we were approximating this through use of
asyncio.sleep(0) / time.sleep(0). The new solution instead waits on a
threading/asyncio.Event which will only be set by the last "done"
callback to fire
- this PR also disables incomplete support for calling sync tasks from
async entrypoints
2025-01-17 15:44:52 -08:00
Nuno Campos e4a5c8fd28 Fix two issues with task/stream timing
- both issues are related to the fact that waiters for futures are notified of completion before "done" callbacks are called
- 1st issue manifested as interrupt stream event being emitted before the result of a task that logically finished first (it's in the line above in body of the entrypoint function) -> this is solved by always returning to use code a fresh future chained on the original future, because chaining is done via done callbacks (therefore the chained future will only resolve after done callbacks of the original feature are called)
- 2nd issue mainfested as sometimes (very rarely) the last stream event not being printed before stream() finishes. this is solved by ensuring we only return out of PregelRunner.tick() once all "done" callbacks are called, previously we were approximating this through use of asyncio.sleep(0) / time.sleep(0). The new solution instead waits on a threading/asyncio.Event which will only be set by the last "done" callback to fire
2025-01-17 15:35:08 -08:00
Tat Dat Duong 0f1b0bfba3 typo 2025-01-17 23:40:58 +01:00
Tat Dat Duong 0e79407973 Last pass 2025-01-17 23:40:58 +01:00
Tat Dat Duong efa51fe22c Update README.md 2025-01-17 23:40:58 +01:00
Tat Dat Duong 11f2501c98 docs: add mention of JS CLI 2025-01-17 23:40:58 +01:00
Eugene YurtsevandGitHub 71e6002a3c docs: update broken api reference (#3093) 2025-01-17 17:04:54 -05:00
Andrew NguonlyandGitHub 26e3ded701 docs: Add note about cron jobs not available in LangGraph Platform Self-Hosted Lite (#3091) 2025-01-17 12:52:46 -08:00
Eugene YurtsevandGitHub 4fcd1690f9 docs: expose functional api reference (#3089)
The API reference is marked as experimental right now, so this is OK to expose to make it easier to share w/ beta users.
2025-01-17 15:18:43 -05:00
Vadym BardaandGitHub eb33a873c8 langgraph: release 0.2.64 (#3090) 2025-01-17 15:18:34 -05:00
91aa66f4cf tests: add tests for calling multiple subgraphs in a parent node (#3070)
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2025-01-17 15:16:01 -05:00
Eugene Yurtsev 4476640702 x 2025-01-17 15:08:32 -05:00
Eugene YurtsevandGitHub 727e3f1730 functional api: first pass at api reference (#3083)
First pass at the API reference for the functional API
2025-01-17 14:46:22 -05:00
Vadym BardaandGitHub 943dd28863 docs: update state to include 'next' for supervisor notebooks (#3087) 2025-01-17 14:32:15 -05:00
ccurmeandGitHub aa9d253978 docs: highlight lines in troubleshooting doc (#3084)
![Screenshot 2025-01-17 at 1 44
07 PM](https://github.com/user-attachments/assets/b7009c77-cb2e-43e0-92a7-3978884b7f3e)
2025-01-17 18:53:21 +00:00
Eugene YurtsevandGitHub a11c6cfe6b Update docs/mkdocs.yml 2025-01-17 13:36:44 -05:00
Eugene Yurtsev 15c79dc3c3 x 2025-01-17 13:34:49 -05:00
Eugene Yurtsev a65c9f1e04 x 2025-01-17 13:11:23 -05:00
9912ae1053 docs: add high level example into the readme, make examples collapsible (#3052)
Co-authored-by: Chester Curme <chester.curme@gmail.com>
2025-01-17 17:10:22 +00:00
ccurmeandGitHub 7db29042b4 docs[patch]: update quickstart tutorial to use interrupt() (#3053)
Need to update cassettes
2025-01-17 11:24:40 -05:00
Chester Curme f8033a20c1 update cassettes 2025-01-17 11:15:33 -05:00
Chester Curme 5e3aa495d9 update 2025-01-17 11:05:55 -05:00
Chester Curme a54689affd ruff 2025-01-17 11:02:58 -05:00
Chester Curme 02ea523897 udpate 2025-01-17 11:02:25 -05:00
Chester Curme 18c6637e6c use message dicts instead of tuples 2025-01-17 10:34:21 -05:00
Chester Curme 4c02a4c501 Revert "disable parallel tool use"
This reverts commit 784b6afa11.
2025-01-17 10:19:17 -05:00
Chester Curme 784b6afa11 disable parallel tool use 2025-01-17 10:15:06 -05:00
Chester Curme b35b892d74 Merge branch 'main' into cc/update_quickstart 2025-01-17 10:02:29 -05:00
Chester Curme e7aaf21121 update 2025-01-17 10:02:18 -05:00
Eugene Yurtsev 54115ac796 x 2025-01-17 09:58:06 -05:00
ccurmeandGitHub 76be64adcb docs[patch]: fix builds (#3074) 2025-01-17 02:41:47 +00:00
Nuno Campos 2cf98725c4 Lint 2025-01-16 16:32:39 -08:00
Nuno Campos a33c59626a Lint 2025-01-16 16:01:57 -08:00
Nuno Campos 56d3b759c7 Add one more test 2025-01-16 15:46:25 -08:00
Nuno Campos 32bf81c559 Lint 2025-01-16 14:10:16 -08:00
Eugene Yurtsev de332ec31c x 2025-01-16 17:08:12 -05:00
Eugene YurtsevandGitHub ce30965df4 functional api: Add ability to request previous output (#3025)
1. The inputs into foo do not affect any state behavior
2. `previous` always reflects the previous return value from the
function
3. Anything can be returned and that will be the new state for the
function on the next iteration
4. This API is not meant to support reducers in the inputs/state

```python
  from langgraph.func import entrypoint

  states = []

  # In this version reducers do not work
  @entrypoint(checkpointer=MemorySaver())
  def foo(inputs, *, previous: Any) -> Any:
      states.append(previous)
      return {"previous": previous, "current": inputs}

  config = {"configurable": {"thread_id": "1"}}

  foo.invoke({"a": "1"}, config)
  foo.invoke({"a": "2"}, config)
  foo.invoke({"a": "3"}, config)
  assert states == [
      None,
      {"current": {"a": "1"}, "previous": None},
      {"current": {"a": "2"}, "previous": {"current": {"a": "1"}, "previous": None}},
  ]
```
2025-01-16 17:02:41 -05:00
Nuno Campos b98a7b09a3 Update 2025-01-16 13:44:19 -08:00
Nuno Campos 86b6afc982 Implement get_graph for imperative api 2025-01-16 13:44:18 -08:00
Nuno CamposandGitHub 47122ce88b docs: Add status field to Project object for Control Plane API (#3075) 2025-01-16 13:42:48 -08:00
Andrew Nguonly 002b048674 Add status field to Project object. 2025-01-16 13:27:23 -08:00
Eugene Yurtsev a58f5dacca x 2025-01-16 16:26:54 -05:00
Chester Curme cc397b1629 update cassettes 2025-01-16 16:24:05 -05:00
Eugene Yurtsev 3a48049194 x 2025-01-16 16:19:23 -05:00
Eugene Yurtsev e5f0db0af3 x 2025-01-16 16:09:11 -05:00
Chester Curme 93854ed721 fix link 2025-01-16 15:12:53 -05:00
Eugene Yurtsev 83a7acc57c Merge branch 'main' into eugene/expose_previous_state 2025-01-16 14:56:46 -05:00
Eugene Yurtsev b218cc76a7 type ignore for now 2025-01-16 14:50:40 -05:00
Eugene Yurtsev d021f476db x 2025-01-16 14:23:32 -05:00
Chester Curme d978cb0392 part 7 -> part 6 2025-01-16 14:21:40 -05:00
Chester Curme 605fe4ea11 simplify hitl, condense part 5 2025-01-16 14:20:05 -05:00
Eugene Yurtsev 46907b6cf9 x 2025-01-16 14:04:00 -05:00
Eugene Yurtsev 582856b30c x 2025-01-16 14:00:42 -05:00
Eugene Yurtsev e476897177 fix merge error 2025-01-16 13:58:55 -05:00
Eugene Yurtsev 421f7c0238 x 2025-01-16 13:55:41 -05:00
Eugene Yurtsev 3095bfce9c Merge branch 'main' into eugene/expose_previous_state 2025-01-16 13:54:05 -05:00
Nuno CamposandGitHub 4cfe0b2d4c tests: add a test for interrupt() w/ functional API (#3065) 2025-01-16 10:04:17 -08:00
Nuno Campos a16def5140 Lint 2025-01-16 09:55:04 -08:00
Nuno CamposandGitHub 1e730d124c Make config schema configurable for imperative api (#3067) 2025-01-16 09:52:55 -08:00
ccurmeandGitHub 21a7105655 docs[patch]: enable navigation back to index pages from child pages via sidebar (#3069)
Currently, if you're viewing a how-to guide and you click "How-to
Guides" in the sidebar, you aren't navigated back to the index page (it
will work if you click on a different guides section). To get back to
the index page, you need to scroll up and click the breadcrumbs.

After this change, clicking the link in the sidebar should navigate you
to the index page regardless of the page you are viewing.

Only side-effect from what I can tell is that "Home > Introduction" just
becomes "**Home**", which I think is fine (maybe preferable).

Before:
![Screenshot 2025-01-16 at 11 16
26 AM](https://github.com/user-attachments/assets/e4bdedfc-ed52-4a66-b0b2-194383ce2043)

After:
![Screenshot 2025-01-16 at 11 16
00 AM](https://github.com/user-attachments/assets/4d1d935b-5b11-43ac-8b63-c5aaff871188)
2025-01-16 12:52:16 -05:00
Nuno Campos 8c88e203bc Fix 2025-01-16 09:51:46 -08:00
Nuno CamposandGitHub 2a1224966c Implement input/output schemas for imperative api (#3066) 2025-01-16 08:45:02 -08:00
vbarda c4460e5dd2 add another test 2025-01-16 11:20:09 -05:00
Nuno Campos 46056363b3 Make config schema configurable for imperative api 2025-01-16 08:00:08 -08:00
Nuno Campos ba672604a6 Implement input/output schemas for imperative api 2025-01-16 07:57:00 -08:00
vbarda 8b1597a385 tests: add a test for interrupt() w/ functional API 2025-01-16 10:16:26 -05:00
Vadym BardaandGitHub adff439d4e langgraph: release 0.2.63 (#3064) 2025-01-16 09:19:25 -05:00
Vadym BardaandGitHub 89b0be3a7d checkpoint-postgres: release 2.0.13 (#3063) 2025-01-16 09:17:43 -05:00
Vadym BardaandGitHub 7ecda42b42 checkpoint-postgres: bring back missing migration (#3058) 2025-01-16 03:16:28 +00:00
Nuno CamposandGitHub bd99471705 tests: Add test for catching bunching in streaming (#3057) 2025-01-15 18:57:07 -08:00
Nuno Campos 0e4dbb4c62 Guard 2025-01-15 18:36:49 -08:00
Nuno Campos 145220f2a8 Fix 2025-01-15 18:29:34 -08:00
Eugene Yurtsev f9c25bba07 x 2025-01-15 21:15:38 -05:00
Eugene Yurtsev 7ecad39ecb x 2025-01-15 21:15:05 -05:00
Nuno CamposandGitHub 6bfc6be307 Add support for multiple subgraphs called in a single node (#3056) 2025-01-15 18:01:31 -08:00
Nuno Campos 6b9369876f Fix sync 2025-01-15 17:52:19 -08:00
Nuno Campos c26b0e78b6 Fix kafka lib 2025-01-15 17:15:58 -08:00
Nuno CamposandGitHub 1763dd69a7 Add checkpointer=True mode for subgraphs that want to keep state between turns (#3055) 2025-01-15 16:08:03 -08:00
Nuno Campos f4bd023ab1 Fix 2025-01-15 16:04:14 -08:00
Nuno Campos d402bf7379 Remove flag 2025-01-15 15:36:16 -08:00
Nuno Campos e8a73e1505 Remove flag 2025-01-15 15:36:10 -08:00
Nuno Campos d6492ef048 Add support for multiple subgraphs called in a single node 2025-01-15 15:36:10 -08:00
Nuno Campos 38d9b39f6e Add flag 2025-01-15 15:36:03 -08:00
Nuno Campos be8b4a1d7f Lint 2025-01-15 15:30:29 -08:00
Nuno Campos 71fbd6a8b4 Lint 2025-01-15 15:29:34 -08:00
Nuno Campos 5375af7827 Add checkpointer=True mode for subgraphs that want to keep state betweenn turns 2025-01-15 15:15:44 -08:00
Chester Curme 1654062957 enable navigation.indexes 2025-01-15 18:14:37 -05:00
Eugene Yurtsev 6b707cbfc5 x 2025-01-15 17:15:56 -05:00
Nuno CamposandGitHub dd7ac00953 Fix unexpected re-use of null resume value by subgraphs (#3054)
- Also stop exposing writes in config, in favor of scratchpad
2025-01-15 13:59:13 -08:00
Nuno Campos cd64075928 Lint 2025-01-15 13:49:33 -08:00
Nuno Campos 144ee31546 Lint 2025-01-15 13:43:14 -08:00
Nuno CamposandGitHub 8bb84c7096 Fix ignored goto when a mixed list of command and state updates is returned from a node (#3038) 2025-01-15 13:39:59 -08:00
Nuno Campos e83660885b Lint 2025-01-15 13:39:44 -08:00
Nuno Campos c2a57385c0 Update tests 2025-01-15 13:35:51 -08:00
Nuno Campos 3626478029 Fix unexpected re-use of null resume value by subgraphs
- Also stop exposing writes in config, in favor of scratchpad
2025-01-15 13:31:49 -08:00
Chester Curme 30311f3fb9 ruff 2025-01-15 16:12:01 -05:00
Chester Curme 0f458fbaff update 2025-01-15 16:06:55 -05:00
Brace SproulandGitHub 13c9bfa282 feat(langgraph): Add interrupt schema to library (#2947) 2025-01-15 12:55:47 -08:00
Andrew NguonlyandGitHub b6fe3937fc docs: Add section about Persistence to Cloud SaaS concepts page (#3051) 2025-01-15 12:27:53 -08:00
Chester Curme d7bae594f0 update hitl 2025-01-15 15:04:43 -05:00
Nuno Campos 5805e5709a Fix ignored goto when a mixed list of command and state updates is returned from a node 2025-01-15 11:42:28 -08:00
Nuno CamposandGitHub aab6fdf3f3 Fix Send order after interrupt/resume (#3037)
- order was incorrectly based on task id, instead of the correct task
path
- this requires storing task paths on checkpointers
- addition of task_path to put_writes is made backwards compatible by
checking signature on call, and treating it as an optional arg
2025-01-15 11:42:08 -08:00
Nuno CamposandGitHub be1d035aba tests: add test for multiple interrupts and tasks (#2941) 2025-01-15 11:41:30 -08:00
Nuno Campos 6e228f8a9c Lint 2025-01-15 11:32:42 -08:00
Nuno Campos 0adbd89d9a Bump checkpoint 2025-01-15 11:28:55 -08:00
Nuno Campos 47c37d140f Fix Send order after interrupt/resume
- order was incorrectly based on task id, instead of the correct task path
- this requires storing task paths on checkpointers
- addition of task_path to put_writes is made backwards compatible by checking signature on call, and treating it as an optinal arg
2025-01-15 11:28:26 -08:00
Nuno Campos fc887f7a5d checkpoint-postgres/sqlite 2.0.12/2.0.3 2025-01-15 11:26:51 -08:00
ccurmeandGitHub bbfc2b7370 docs[patch]: add section headers to LangGraph concepts page (#3047)
![Screenshot 2025-01-15 at 1 03
45 PM](https://github.com/user-attachments/assets/c7a6d5b7-cc42-4616-bba0-4352c2f922bc)
2025-01-15 14:15:33 -05:00
Nuno Campos 2c984dfe4e checkpoint 2.0.10 2025-01-15 11:14:03 -08:00
Nuno CamposandGitHub 09c0d9cec3 Add optional task_path arg for put_writes() (#3049)
- Will be used for sorting pending_sends when available
2025-01-15 11:11:10 -08:00
Nuno Campos 31734fb792 Lint 2025-01-15 11:02:10 -08:00
Nuno Campos eed577ee2a Update sqlite signature 2025-01-15 10:58:46 -08:00
Nuno Campos bba00506ea Lint 2025-01-15 10:57:26 -08:00
Nuno Campos fa12538a4e Lint 2025-01-15 10:50:11 -08:00
Nuno Campos c1a7bb8902 Lint 2025-01-15 10:49:47 -08:00
Nuno Campos 14b500d8a8 Fix 2025-01-15 10:47:09 -08:00
Nuno Campos 053a501db3 Add optional task_path arg for put_writes()
- Will be used for sorting pending_sends when available
2025-01-15 10:42:54 -08:00
Andrew NguonlyandGitHub bbe8eacf8d docs: Update Studio FAQ (#3048)
### Screenshot

![image](https://github.com/user-attachments/assets/6da2faa6-1c62-44e4-96f8-3450f94cb15c)
2025-01-15 10:23:43 -08:00
Nuno Campos 931d39124c Fix 2025-01-15 10:23:30 -08:00
Nuno Campos a7bb96da98 Fix 2025-01-15 10:21:40 -08:00
Nuno Campos 1e9a372dd7 Fix multiple interrupt/task test 2025-01-15 10:11:31 -08:00
Chester Curme 5030f1e89c bold -> headers 2025-01-15 13:02:59 -05:00
Nuno CamposandGitHub 50cb387904 Remove duckdb checkpointer and store (#3046)
- duckdb is too buggy to be able to provide reliable checkpointer and
store
2025-01-15 09:23:49 -08:00
Nuno Campos 003b1883c9 Remove duckdb checkpointer and store
- duckdb is too buggy to be able to provide reliable checkpointer and store
2025-01-15 09:15:17 -08:00
Nuno Campos 17aebb6239 Fix flasy return from task 2025-01-15 09:14:36 -08:00
Nuno CamposandGitHub d12830e95c Fix tracing hierarchy for imperative api (#3036) 2025-01-15 09:10:45 -08:00
Eugene YurtsevandNuno Campos 29b70cbf39 x 2025-01-15 09:03:46 -08:00
Eugene YurtsevandNuno Campos 6b86fbb0a8 x 2025-01-15 09:03:46 -08:00
Nuno CamposandGitHub 4426552c26 Fix flaky test output order (#3045) 2025-01-15 09:02:05 -08:00
Nuno Campos 671f268651 Remove duckdb checkpointer and store
- duckdb is too buggy to be able to provide reliable checkpointer and store
2025-01-15 08:56:32 -08:00
Vadym BardaandGitHub e2554c9616 langgraph: fix non-empty value check in ensure_config (#3039)
Fixes https://github.com/langchain-ai/langgraph/issues/2890
2025-01-15 16:54:31 +00:00
Nuno CamposandGitHub f1ee650489 Remove CI job to test against core 0.2.x (#3044) 2025-01-15 08:52:58 -08:00
Nuno Campos b7e4656c91 Fix flaky test output order 2025-01-15 08:45:35 -08:00
Nuno Campos 65a41942ef Remove CI job to test against core 0.2.x 2025-01-15 08:39:09 -08:00
Nuno Campos c767d86c9c Remove ci job for removed flag 2025-01-15 08:37:24 -08:00
Nuno Campos 01331ef858 Lint 2025-01-15 08:33:09 -08:00
Nuno CamposandGitHub 24a4c67c52 Merge branch 'main' into nc/14jan/fix-tracing-hierarchy-imperative 2025-01-15 08:31:38 -08:00
Nuno CamposandGitHub c7e43f86d4 Remove send v2 (#3033) 2025-01-15 08:29:05 -08:00
Vadym BardaandGitHub b18d266f2c langgraph: allow model names as strings in create_react_agent (#3031)
```python
agent = create_react_agent("anthropic:claude-3-5-sonnet-latest", [add])
agent.invoke({"messages": [("user", "what's 3 + 5")]})
```
2025-01-15 09:43:37 -05:00
Eugene YurtsevandGitHub 536ee7b37a docs: document inject kwarg (#3026) 2025-01-14 21:41:27 -05:00
Nuno Campos 901273c0e2 Lint 2025-01-14 17:09:30 -08:00
Nuno Campos 7bdbd62611 Fix tracing hierarchy for imperative api 2025-01-14 17:03:45 -08:00
Nuno Campos 0b74e25f72 Remove send v2 2025-01-14 15:49:57 -08:00
Eugene YurtsevandGitHub ff843ab005 docs: internal doc nits (#2946)
Update internal documentation
2025-01-14 23:16:38 +00:00
Eugene Yurtsev 7603809a9f x 2025-01-14 18:06:09 -05:00
Vadym BardaandGitHub f7fae7e140 langgraph: fix ismethod check in add_node (#3032)
Fixes #2893 #2965
2025-01-14 17:17:50 -05:00
Eugene YurtsevandGitHub 651ee8bd24 Update local-server.md (#3030) 2025-01-14 16:22:26 -05:00
Eugene YurtsevandGitHub 54bdba2da9 Update introduction.ipynb (#3029) 2025-01-14 16:20:54 -05:00
Eugene YurtsevandGitHub 7e5806cb0b Update local-server.md 2025-01-14 16:13:57 -05:00
Eugene YurtsevandGitHub 66f674fead Update introduction.ipynb 2025-01-14 16:12:20 -05:00
Vadym BardaandGitHub f029d615e6 ci: fix docs build (#3028) 2025-01-14 15:58:03 -05:00
Eugene Yurtsev bd76773b31 x 2025-01-14 15:50:20 -05:00
Eugene Yurtsev 311fe3970c x 2025-01-14 15:39:57 -05:00
Eugene Yurtsev 67a800dd98 update 2025-01-14 15:37:10 -05:00
ccurmeandGitHub 9b6e6d67dc layout (#2972)
Some docs layout improvements to help guide user journey.

Currently we have `Home | Tutorials | How-tos | Concepts | Reference` in
top-level horizontal navigation bar.

Here we make these updates:
- Top-level horizontal navigation bar is just `Home | API Reference`
- Add vertical sidebar to `Home` with sections:
  - Introduction
  - Get started
  - Guides
  - Resources

`Get Started` contains quickstarts for LG and LG Platform / deployment.
These are tutorials in Diataxis terms.

`Guides` contains index pages for how-tos, concepts, tutorials.

Advantage of this organization is that users are directed naturally down
the sidebar from Intro -> Get started -> How-tos, which is roughly how
we expect them to proceed.

This also makes deployment info more accessible as it is highlighted in
the "Getting started" section.

![Screenshot 2025-01-14 at 1 37
01 PM](https://github.com/user-attachments/assets/76dcde25-874b-4def-ad71-5313e399b7d7)
2025-01-14 15:29:59 -05:00
ccurmeandGitHub ecfb3e3850 Merge branch 'main' into eugene/langgraph_nav 2025-01-14 15:21:26 -05:00
Chester Curme ec71cd6fc1 update 2025-01-14 15:09:46 -05:00
Vadym BardaandGitHub aab4f0b164 checkpoint-duckdb: release 2.0.2 (#3024) 2025-01-14 15:08:49 -05:00
Chester Curme 2db6d9d7b5 clean up 2025-01-14 15:08:48 -05:00
Vadym BardaandGitHub 5db71a32bf checkpoint-duckdb: handle calling .list on async checkpointer (#3022) 2025-01-14 20:00:58 +00:00
Chester Curme 0f5df797af fix link 2025-01-14 15:00:38 -05:00
Vadym BardaandGitHub 4c0f855329 ci: fix docs runner (#3010) 2025-01-14 14:58:34 -05:00
Chester Curme 5dc3f14e8b populate troubleshootings nav 2025-01-14 14:56:23 -05:00
Chester Curme f25ea9ecaf populate tutorials nav 2025-01-14 14:50:05 -05:00
Chester Curme 9940a9f833 populate how-tos nav 2025-01-14 14:47:42 -05:00
Chester Curme d175d5e4a8 populate concepts nav 2025-01-14 14:42:10 -05:00
Vadym BardaandGitHub 74adbb744b bump checkpoint sqlite, postgres (#3021) 2025-01-14 14:41:22 -05:00
Chester Curme fe63440d98 add deployment landing page 2025-01-14 14:40:45 -05:00
William Fu-Hinthorn 2f47d98b34 Update error message for missing dev command 2025-01-14 11:28:51 -08:00
Vadym BardaandGitHub b989502c24 checkpoint-sqlite/postgres: handle calling .list on async checkpointer (#3019) 2025-01-14 19:06:11 +00:00
Eugene YurtsevandGitHub 8507dc33f0 FIx docs: Update MULTIPLE_SUBGRAPHS.md (#3016) 2025-01-14 13:41:50 -05:00
bracesproul 0d50c62283 cr 2025-01-14 10:39:57 -08:00
vbarda a9073241b2 add css for navbar depth 2025-01-14 13:31:39 -05:00
Chester Curme 0a04262f05 add custom css 2025-01-14 12:46:00 -05:00
Chester Curme 381796c474 hack 2025-01-14 12:39:38 -05:00
Vadym BardaandGitHub a11ba2b38a docs: update replay in the concept docs (#3017) 2025-01-14 11:53:53 -05:00
Chester Curme 09ae5ce05d update 2025-01-14 11:26:49 -05:00
Chester Curme 59e7751a8c update 2025-01-14 10:48:50 -05:00
Cesar William AlvarengaandGitHub a61ea101f6 fix: add missing END constant import (#3011) 2025-01-13 19:40:40 -05:00
Chester Curme b9816e31ff update 2025-01-13 19:12:51 -05:00
Chester Curme 3ea7f9469a update 2025-01-13 18:26:24 -05:00
Chester Curme 24e61fafa9 update 2025-01-13 16:22:58 -05:00
bracesproul b52b32b38e format n lint 2025-01-13 13:14:36 -08:00
Brace SproulandGitHub 5aefa5dc8c Merge branch 'main' into brace/interrupt-schema 2025-01-13 13:08:37 -08:00
Andrew NguonlyandGitHub c86155d3d3 docs: Add note about LangGraph Platform UI not available for self-hosted deployments (#3009)
Example screenshot:

![image](https://github.com/user-attachments/assets/8304b08d-bc9b-4cd3-8ff4-ed2471d3d6c7)
2025-01-13 13:05:18 -08:00
Chester Curme 2b370cf3b7 template applications -> lg plat 2025-01-13 14:21:12 -05:00
Chester Curme 839bea0f33 fixup 2025-01-13 14:16:14 -05:00
William FHandGitHub a03f1f7469 Bullseye (#3008) 2025-01-13 10:01:36 -08:00
Jimmy SambuoandGitHub d7199e5874 docs: use InjectedStore in semantic search guide (#2995)
When I tried to follow the How-to guide for [How to add semantic search
to your agent's
memory](https://langchain-ai.github.io/langgraph/how-tos/memory/semantic-search/#using-in-create_react_agent)
using `create_react_agent`, I got this error message when my agent used
the tool:

```python
1 validation error for upsert_memory
store
  Field required [type=missing, input_value={'content': '@jimmy works...ny.', 'memory_id': None}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.10/v/missingTraceback (most recent call last):

  File "/usr/local/lib/python3.9/site-packages/langchain_core/tools/base.py", line 688, in run
    tool_args, tool_kwargs = self._to_args_and_kwargs(tool_input, tool_call_id)

  File "/usr/local/lib/python3.9/site-packages/langchain_core/tools/base.py", line 611, in _to_args_and_kwargs
    tool_input = self._parse_input(tool_input, tool_call_id)

  File "/usr/local/lib/python3.9/site-packages/langchain_core/tools/base.py", line 532, in _parse_input
    result = input_args.model_validate(tool_input)

  File "/usr/local/lib/python3.9/site-packages/pydantic/main.py", line 627, in model_validate
    return cls.__pydantic_validator__.validate_python(

pydantic_core._pydantic_core.ValidationError: 1 validation error for upsert_memory
store
  Field required [type=missing, input_value={'content': '@jimmy works...ny.', 'memory_id': None}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.10/v/missing
```

I believe it’s because the graph did not inject the store into the tool
if we use `InjectedToolArg`.

When looking at the guide for [How to pass runtime values to
tools](https://langchain-ai.github.io/langgraph/how-tos/pass-run-time-values-to-tools/),
it suggests to use `InjectedStore` with `create_react_agent`. After
changing my code to use `InjectedStore`, my agent was able to save to
the store.
2025-01-13 09:59:46 -05:00
Siddhesh dosiandGitHub 61f2151df7 Update customer-support.ipynb minor spell (#3002)
There was spelling mistake.
2025-01-13 09:52:19 -05:00
William FHandGitHub 713528ffc3 Add admonition regarding dockerfile usage (#3001) 2025-01-12 09:52:13 -08:00
Andrew NguonlyandGitHub 7bd79c2509 docs: Add docs for LANGCHAIN_ENDPOINT for self-hosted deployments (#2988)
@langchain-infra, is this correct? Is this needed or is it
redundant/unnecessary?
2025-01-10 15:24:38 -08:00
Andrew NguonlyandGitHub 9974787df6 docs: Add API docs for POST /v1/projects/{project_id}/revisions/{revision_id}/deploy endpoint (#2994) 2025-01-10 15:16:48 -08:00
William FHandGitHub 638712a73b Add support for custom fetch implementation (#2993) 2025-01-10 23:08:33 +00:00
Vadym BardaandGitHub b8a54f6294 langgraph: release 0.2.62 (#2990) 2025-01-10 14:33:54 -05:00
Brace SproulandGitHub f2913fbcb6 fix(sdk-js): Release 0.0.35 (#2989) 2025-01-10 10:52:32 -08:00
bracesproul cfb121ee8f cr 2025-01-10 10:45:45 -08:00
bracesproul d27beeed18 move to prebuilt 2025-01-10 10:45:22 -08:00
bracesproul 8045e89e09 fix(sdk-js): Release 0.0.35 2025-01-10 10:43:44 -08:00
Brace SproulandGitHub 8355a1720a fix: Cron response types (#2987)
technically a breaking change, however the old response type was
incorrect.
2025-01-10 10:15:03 -08:00
bracesproul c302724394 fix cron create for thread return type 2025-01-10 10:05:57 -08:00
bracesproul c624ff69e1 fix: Cron response types 2025-01-10 10:01:51 -08:00
Vadym BardaandGitHub 10d46acc60 langgraph: add structured output to create_react_agent (#2848)
```python
class WeatherResponse(BaseModel):
    """Respond to the user with this"""

    temperature: float = Field(description="The temperature in fahrenheit")
    wind_direction: str = Field(
        description="The direction of the wind in abbreviated form"
    )
    wind_speed: float = Field(description="The speed of the wind in mph")

@tool
def get_weather(city: Literal["nyc", "sf"]):
    """Use this to get weather information."""
    if city == "nyc":
        return "It is cloudy in NYC, with 5 mph winds in the North-East direction and a temperature of 70 degrees"
    elif city == "sf":
        return "It is 75 degrees and sunny in SF, with 3 mph winds in the South-East direction"
    else:
        raise AssertionError("Unknown city")

model = ChatOpenAI()
tools = [get_weather]
agent_with_structured_output = create_react_agent(model, tools, response_format=WeatherResponse)
agent_with_structured_output.invoke({"messages": [("user", "what's the weather in nyc?")]})
```

```pycon
{
    'messages': [...],
    'structured_response': WeatherResponse(temperature=70.0, wind_directon='NE', wind_speed=5.0)
}
```
2025-01-10 16:06:59 +00:00
Vadym BardaandGitHub 35c3ba0104 docs: update how to for passing config to tools (#2986) 2025-01-10 11:05:15 -05:00
Hongbin MaoandGitHub 0e2cd9e289 Fix typo (#2984) 2025-01-10 10:52:52 -05:00
William FHandGitHub f4bd02da72 Make admonition more admonitiony (#2982) 2025-01-10 01:46:42 +00:00
William FHandGitHub ecfbfa1b90 Update auth docstrings (#2977) 2025-01-09 16:58:19 -08:00
William FHandGitHub e5b5f9510b Fix empty migration (#2978) 2025-01-09 23:14:02 +00:00
Andrew NguonlyandGitHub c6d7c80a99 docs: Add documentation for LANGSMITH_RUNS_ENDPOINTS env var (#2976) 2025-01-09 13:24:41 -08:00
Eugene Yurtsev fba5ca7ab9 x 2025-01-09 12:24:30 -05:00
William FHandGitHub 909190cede Update SDK registration (#2974) 2025-01-09 09:20:54 -08:00
William FHandGitHub 43c8578eef Unify type-naming of search param (#2973) 2025-01-09 08:56:05 -08:00
William Fu-Hinthorn 56f5edb9ba Unify naming of search param 2025-01-09 08:46:17 -08:00
William FHandGitHub 41f0fd504e Add store auth types (#2971) 2025-01-09 08:32:54 -08:00
Eugene Yurtsev f141089811 x 2025-01-09 11:11:04 -05:00
Eugene Yurtsev 38487cb158 x 2025-01-09 11:11:04 -05:00
William FHandGitHub 6357d496af Merge branch 'main' into wfh/auth/store 2025-01-09 08:08:04 -08:00
William Fu-Hinthorn 52bd5b13a7 Add store auth types 2025-01-09 08:03:30 -08:00
Andrew NguonlyandGitHub b633e0a4ed docs: Add docs for POSTGRES_URI_CUSTOM environment variable (#2951) 2025-01-08 15:27:32 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c14bcb6e9f build(deps-dev): bump jinja2 from 3.1.4 to 3.1.5 in /libs/langgraph (#2960)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/releases">jinja2's
releases</a>.</em></p>
<blockquote>
<h2>3.1.5</h2>
<p>This is the Jinja 3.1.5 security fix release, which fixes security
issues and bugs but does not otherwise change behavior and should not
result in breaking changes compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/Jinja2/3.1.5/">https://pypi.org/project/Jinja2/3.1.5/</a>
Changes: <a
href="https://jinja.palletsprojects.com/changes/#version-3-1-5">https://jinja.palletsprojects.com/changes/#version-3-1-5</a>
Milestone: <a
href="https://github.com/pallets/jinja/milestone/16?closed=1">https://github.com/pallets/jinja/milestone/16?closed=1</a></p>
<ul>
<li>The sandboxed environment handles indirect calls to
<code>str.format</code>, such as by passing a stored reference to a
filter that calls its argument. <a
href="https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h">GHSA-q2x7-8rv6-6q7h</a></li>
<li>Escape template name before formatting it into error messages, to
avoid issues with names that contain f-string syntax. <a
href="https://redirect.github.com/pallets/jinja/issues/1792">#1792</a>,
<a
href="https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699">GHSA-gmj6-6f8f-6699</a></li>
<li>Sandbox does not allow <code>clear</code> and <code>pop</code> on
known mutable sequence types. <a
href="https://redirect.github.com/pallets/jinja/issues/2032">#2032</a></li>
<li>Calling sync <code>render</code> for an async template uses
<code>asyncio.run</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1952">#1952</a></li>
<li>Avoid unclosed <code>auto_aiter</code> warnings. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from
<code>Template.generate_async</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Avoid leaving <code>root_render_func()</code> unclosed in
<code>Template.generate_async</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Avoid leaving async generators unclosed in blocks, includes and
extends. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>The runtime uses the correct <code>concat</code> function for the
current environment when calling block references. <a
href="https://redirect.github.com/pallets/jinja/issues/1701">#1701</a></li>
<li>Make <code>|unique</code> async-aware, allowing it to be used after
another async-aware filter. <a
href="https://redirect.github.com/pallets/jinja/issues/1781">#1781</a></li>
<li><code>|int</code> filter handles <code>OverflowError</code> from
scientific notation. <a
href="https://redirect.github.com/pallets/jinja/issues/1921">#1921</a></li>
<li>Make compiling deterministic for tuple unpacking in a <code>{% set
... %}</code> call. <a
href="https://redirect.github.com/pallets/jinja/issues/2021">#2021</a></li>
<li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc)
interaction with <code>Undefined</code> objects. <a
href="https://redirect.github.com/pallets/jinja/issues/2025">#2025</a></li>
<li>Fix <code>copy</code>/<code>pickle</code> support for the internal
<code>missing</code> object. <a
href="https://redirect.github.com/pallets/jinja/issues/2027">#2027</a></li>
<li><code>Environment.overlay(enable_async)</code> is applied correctly.
<a
href="https://redirect.github.com/pallets/jinja/issues/2061">#2061</a></li>
<li>The error message from <code>FileSystemLoader</code> includes the
paths that were searched. <a
href="https://redirect.github.com/pallets/jinja/issues/1661">#1661</a></li>
<li><code>PackageLoader</code> shows a clearer error message when the
package does not contain the templates directory. <a
href="https://redirect.github.com/pallets/jinja/issues/1705">#1705</a></li>
<li>Improve annotations for methods returning copies. <a
href="https://redirect.github.com/pallets/jinja/issues/1880">#1880</a></li>
<li><code>urlize</code> does not add <code>mailto:</code> to values like
<code>@a@b</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1870">#1870</a></li>
<li>Tests decorated with <code>@pass_context</code> can be used with the
<code>|select</code> filter. <a
href="https://redirect.github.com/pallets/jinja/issues/1624">#1624</a></li>
<li>Using <code>set</code> for multiple assignment (<code>a, b = 1,
2</code>) does not fail when the target is a namespace attribute. <a
href="https://redirect.github.com/pallets/jinja/issues/1413">#1413</a></li>
<li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{%
else %}</code> blocks does not cause the variable to be considered
initially undefined. <a
href="https://redirect.github.com/pallets/jinja/issues/1253">#1253</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.1.5</h2>
<p>Released 2024-12-21</p>
<ul>
<li>The sandboxed environment handles indirect calls to
<code>str.format</code>, such as
by passing a stored reference to a filter that calls its argument.
:ghsa:<code>q2x7-8rv6-6q7h</code></li>
<li>Escape template name before formatting it into error messages, to
avoid
issues with names that contain f-string syntax.
:issue:<code>1792</code>, :ghsa:<code>gmj6-6f8f-6699</code></li>
<li>Sandbox does not allow <code>clear</code> and <code>pop</code> on
known mutable sequence
types. :issue:<code>2032</code></li>
<li>Calling sync <code>render</code> for an async template uses
<code>asyncio.run</code>.
:pr:<code>1952</code></li>
<li>Avoid unclosed <code>auto_aiter</code> warnings.
:pr:<code>1960</code></li>
<li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from
<code>Template.generate_async</code>. :pr:<code>1960</code></li>
<li>Avoid leaving <code>root_render_func()</code> unclosed in
<code>Template.generate_async</code>. :pr:<code>1960</code></li>
<li>Avoid leaving async generators unclosed in blocks, includes and
extends.
:pr:<code>1960</code></li>
<li>The runtime uses the correct <code>concat</code> function for the
current environment
when calling block references. :issue:<code>1701</code></li>
<li>Make <code>|unique</code> async-aware, allowing it to be used after
another
async-aware filter. :issue:<code>1781</code></li>
<li><code>|int</code> filter handles <code>OverflowError</code> from
scientific notation.
:issue:<code>1921</code></li>
<li>Make compiling deterministic for tuple unpacking in a <code>{% set
... %}</code>
call. :issue:<code>2021</code></li>
<li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc)
interaction with <code>Undefined</code>
objects. :issue:<code>2025</code></li>
<li>Fix <code>copy</code>/<code>pickle</code> support for the internal
<code>missing</code> object.
:issue:<code>2027</code></li>
<li><code>Environment.overlay(enable_async)</code> is applied correctly.
:pr:<code>2061</code></li>
<li>The error message from <code>FileSystemLoader</code> includes the
paths that were
searched. :issue:<code>1661</code></li>
<li><code>PackageLoader</code> shows a clearer error message when the
package does not
contain the templates directory. :issue:<code>1705</code></li>
<li>Improve annotations for methods returning copies.
:pr:<code>1880</code></li>
<li><code>urlize</code> does not add <code>mailto:</code> to values like
<code>@a@b</code>. :pr:<code>1870</code></li>
<li>Tests decorated with <code>@pass_context`` can be used with the
``|select`` filter. :issue:</code>1624`</li>
<li>Using <code>set</code> for multiple assignment (<code>a, b = 1,
2</code>) does not fail when the
target is a namespace attribute. :issue:<code>1413</code></li>
<li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{%
else %}</code> blocks
does not cause the variable to be considered initially undefined.
:issue:<code>1253</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1"><code>877f6e5</code></a>
release version 3.1.5</li>
<li><a
href="https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f"><code>8d58859</code></a>
remove test pypi</li>
<li><a
href="https://github.com/pallets/jinja/commit/eda8fe86fd716dfce24910294e9f1fc81fbc740c"><code>eda8fe8</code></a>
update dev dependencies</li>
<li><a
href="https://github.com/pallets/jinja/commit/c8fdce1e0333f1122b244b03a48535fdd7b03d91"><code>c8fdce1</code></a>
Fix bug involving calling set on a template parameter within all
branches of ...</li>
<li><a
href="https://github.com/pallets/jinja/commit/66587ce989e5a478e0bb165371fa2b9d42b7040f"><code>66587ce</code></a>
Fix bug where set would sometimes fail within if</li>
<li><a
href="https://github.com/pallets/jinja/commit/fbc3a696c729d177340cc089531de7e2e5b6f065"><code>fbc3a69</code></a>
Add support for namespaces in tuple parsing (<a
href="https://redirect.github.com/pallets/jinja/issues/1664">#1664</a>)</li>
<li><a
href="https://github.com/pallets/jinja/commit/b8f4831d41e6a7cb5c40d42f074ffd92d2daccfc"><code>b8f4831</code></a>
more comments about nsref assignment</li>
<li><a
href="https://github.com/pallets/jinja/commit/ee832194cd9f55f75e5a51359b709d535efe957f"><code>ee83219</code></a>
Add support for namespaces in tuple assignment</li>
<li><a
href="https://github.com/pallets/jinja/commit/1d55cddbb28e433779511f28f13a2d8c4ec45826"><code>1d55cdd</code></a>
Triple quotes in docs (<a
href="https://redirect.github.com/pallets/jinja/issues/2064">#2064</a>)</li>
<li><a
href="https://github.com/pallets/jinja/commit/8a8eafc6b992ba177f1d3dd483f8465f18a11116"><code>8a8eafc</code></a>
edit block assignment section</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/jinja/compare/3.1.4...3.1.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.4&new-version=3.1.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 17:31:13 -05:00
Vadym BardaandGitHub 8b29dc81e0 sdk-js: release 0.0.34 (#2959) 2025-01-08 10:59:40 -05:00
Vadym BardaandGitHub 1546eddfbe sdk-js: add stream mode and stream subgraphs to runs.create (#2958) 2025-01-08 10:58:07 -05:00
Vadym BardaandGitHub 9680e35beb docs: update tool in customer support tutorial (#2956)
Fixes #2952
2025-01-08 09:33:25 -05:00
Andrew NguonlyandGitHub 837f215857 docs: Rename Deploy Logs to Server Logs (#2922) 2025-01-07 17:13:06 -08:00
Vadym BardaandGitHub e13261ac0a ci: update langsmith and patch urllib3 vcr issues for notebook runner (#2949) 2025-01-07 20:09:57 -05:00
8ab206043c langgraph[patch]: fix create_react_agent inspectability (#2948)
Co-authored-by: vbarda <vadym@langchain.dev>
2025-01-07 18:47:31 +00:00
bracesproul 8534212a25 cr 2025-01-07 10:15:48 -08:00
bracesproul e39255a792 feat: Add interrupt schema to library 2025-01-07 10:00:38 -08:00
BagaturandGitHub 3dbe37041a docs: readme nit (#2899)
When looking at [docs](https://langchain-ai.github.io/langgraph/) this
sentence is confusing, not clear there's two separate links or why one
of them would lead to repo
2025-01-07 11:00:14 -05:00
e00284b386 Clarifying the docstring for the add_edge function (#2782)
Revised docstring for StateGraph's add_edge method to clarify recurring
confusion #2775 #1462

---------

Co-authored-by: ashirgaokar <abhishek.shirgaokar@zee.com>
Co-authored-by: vbarda <vadym@langchain.dev>
2025-01-07 10:04:50 -05:00
merdanandGitHub a36d2ac77d Update langgraph_agentic_rag.ipynb (#2885)
add missing package
2025-01-07 09:51:29 -05:00
tomo-abeandGitHub 2a46534286 Fix typo introduction.ipynb (#2894)
Fixing typo
2025-01-07 09:47:23 -05:00
VItto RivabellaandGitHub 4b06791b8c Update agent_supervisor.ipynb (#2888) 2025-01-07 09:45:41 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
661e20eec4 build(deps-dev): bump jinja2 from 3.1.4 to 3.1.5 (#2914)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/releases">jinja2's
releases</a>.</em></p>
<blockquote>
<h2>3.1.5</h2>
<p>This is the Jinja 3.1.5 security fix release, which fixes security
issues and bugs but does not otherwise change behavior and should not
result in breaking changes compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/Jinja2/3.1.5/">https://pypi.org/project/Jinja2/3.1.5/</a>
Changes: <a
href="https://jinja.palletsprojects.com/changes/#version-3-1-5">https://jinja.palletsprojects.com/changes/#version-3-1-5</a>
Milestone: <a
href="https://github.com/pallets/jinja/milestone/16?closed=1">https://github.com/pallets/jinja/milestone/16?closed=1</a></p>
<ul>
<li>The sandboxed environment handles indirect calls to
<code>str.format</code>, such as by passing a stored reference to a
filter that calls its argument. <a
href="https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h">GHSA-q2x7-8rv6-6q7h</a></li>
<li>Escape template name before formatting it into error messages, to
avoid issues with names that contain f-string syntax. <a
href="https://redirect.github.com/pallets/jinja/issues/1792">#1792</a>,
<a
href="https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699">GHSA-gmj6-6f8f-6699</a></li>
<li>Sandbox does not allow <code>clear</code> and <code>pop</code> on
known mutable sequence types. <a
href="https://redirect.github.com/pallets/jinja/issues/2032">#2032</a></li>
<li>Calling sync <code>render</code> for an async template uses
<code>asyncio.run</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1952">#1952</a></li>
<li>Avoid unclosed <code>auto_aiter</code> warnings. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from
<code>Template.generate_async</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Avoid leaving <code>root_render_func()</code> unclosed in
<code>Template.generate_async</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>Avoid leaving async generators unclosed in blocks, includes and
extends. <a
href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li>
<li>The runtime uses the correct <code>concat</code> function for the
current environment when calling block references. <a
href="https://redirect.github.com/pallets/jinja/issues/1701">#1701</a></li>
<li>Make <code>|unique</code> async-aware, allowing it to be used after
another async-aware filter. <a
href="https://redirect.github.com/pallets/jinja/issues/1781">#1781</a></li>
<li><code>|int</code> filter handles <code>OverflowError</code> from
scientific notation. <a
href="https://redirect.github.com/pallets/jinja/issues/1921">#1921</a></li>
<li>Make compiling deterministic for tuple unpacking in a <code>{% set
... %}</code> call. <a
href="https://redirect.github.com/pallets/jinja/issues/2021">#2021</a></li>
<li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc)
interaction with <code>Undefined</code> objects. <a
href="https://redirect.github.com/pallets/jinja/issues/2025">#2025</a></li>
<li>Fix <code>copy</code>/<code>pickle</code> support for the internal
<code>missing</code> object. <a
href="https://redirect.github.com/pallets/jinja/issues/2027">#2027</a></li>
<li><code>Environment.overlay(enable_async)</code> is applied correctly.
<a
href="https://redirect.github.com/pallets/jinja/issues/2061">#2061</a></li>
<li>The error message from <code>FileSystemLoader</code> includes the
paths that were searched. <a
href="https://redirect.github.com/pallets/jinja/issues/1661">#1661</a></li>
<li><code>PackageLoader</code> shows a clearer error message when the
package does not contain the templates directory. <a
href="https://redirect.github.com/pallets/jinja/issues/1705">#1705</a></li>
<li>Improve annotations for methods returning copies. <a
href="https://redirect.github.com/pallets/jinja/issues/1880">#1880</a></li>
<li><code>urlize</code> does not add <code>mailto:</code> to values like
<code>@a@b</code>. <a
href="https://redirect.github.com/pallets/jinja/issues/1870">#1870</a></li>
<li>Tests decorated with <code>@pass_context</code> can be used with the
<code>|select</code> filter. <a
href="https://redirect.github.com/pallets/jinja/issues/1624">#1624</a></li>
<li>Using <code>set</code> for multiple assignment (<code>a, b = 1,
2</code>) does not fail when the target is a namespace attribute. <a
href="https://redirect.github.com/pallets/jinja/issues/1413">#1413</a></li>
<li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{%
else %}</code> blocks does not cause the variable to be considered
initially undefined. <a
href="https://redirect.github.com/pallets/jinja/issues/1253">#1253</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.1.5</h2>
<p>Released 2024-12-21</p>
<ul>
<li>The sandboxed environment handles indirect calls to
<code>str.format</code>, such as
by passing a stored reference to a filter that calls its argument.
:ghsa:<code>q2x7-8rv6-6q7h</code></li>
<li>Escape template name before formatting it into error messages, to
avoid
issues with names that contain f-string syntax.
:issue:<code>1792</code>, :ghsa:<code>gmj6-6f8f-6699</code></li>
<li>Sandbox does not allow <code>clear</code> and <code>pop</code> on
known mutable sequence
types. :issue:<code>2032</code></li>
<li>Calling sync <code>render</code> for an async template uses
<code>asyncio.run</code>.
:pr:<code>1952</code></li>
<li>Avoid unclosed <code>auto_aiter</code> warnings.
:pr:<code>1960</code></li>
<li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from
<code>Template.generate_async</code>. :pr:<code>1960</code></li>
<li>Avoid leaving <code>root_render_func()</code> unclosed in
<code>Template.generate_async</code>. :pr:<code>1960</code></li>
<li>Avoid leaving async generators unclosed in blocks, includes and
extends.
:pr:<code>1960</code></li>
<li>The runtime uses the correct <code>concat</code> function for the
current environment
when calling block references. :issue:<code>1701</code></li>
<li>Make <code>|unique</code> async-aware, allowing it to be used after
another
async-aware filter. :issue:<code>1781</code></li>
<li><code>|int</code> filter handles <code>OverflowError</code> from
scientific notation.
:issue:<code>1921</code></li>
<li>Make compiling deterministic for tuple unpacking in a <code>{% set
... %}</code>
call. :issue:<code>2021</code></li>
<li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc)
interaction with <code>Undefined</code>
objects. :issue:<code>2025</code></li>
<li>Fix <code>copy</code>/<code>pickle</code> support for the internal
<code>missing</code> object.
:issue:<code>2027</code></li>
<li><code>Environment.overlay(enable_async)</code> is applied correctly.
:pr:<code>2061</code></li>
<li>The error message from <code>FileSystemLoader</code> includes the
paths that were
searched. :issue:<code>1661</code></li>
<li><code>PackageLoader</code> shows a clearer error message when the
package does not
contain the templates directory. :issue:<code>1705</code></li>
<li>Improve annotations for methods returning copies.
:pr:<code>1880</code></li>
<li><code>urlize</code> does not add <code>mailto:</code> to values like
<code>@a@b</code>. :pr:<code>1870</code></li>
<li>Tests decorated with <code>@pass_context`` can be used with the
``|select`` filter. :issue:</code>1624`</li>
<li>Using <code>set</code> for multiple assignment (<code>a, b = 1,
2</code>) does not fail when the
target is a namespace attribute. :issue:<code>1413</code></li>
<li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{%
else %}</code> blocks
does not cause the variable to be considered initially undefined.
:issue:<code>1253</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1"><code>877f6e5</code></a>
release version 3.1.5</li>
<li><a
href="https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f"><code>8d58859</code></a>
remove test pypi</li>
<li><a
href="https://github.com/pallets/jinja/commit/eda8fe86fd716dfce24910294e9f1fc81fbc740c"><code>eda8fe8</code></a>
update dev dependencies</li>
<li><a
href="https://github.com/pallets/jinja/commit/c8fdce1e0333f1122b244b03a48535fdd7b03d91"><code>c8fdce1</code></a>
Fix bug involving calling set on a template parameter within all
branches of ...</li>
<li><a
href="https://github.com/pallets/jinja/commit/66587ce989e5a478e0bb165371fa2b9d42b7040f"><code>66587ce</code></a>
Fix bug where set would sometimes fail within if</li>
<li><a
href="https://github.com/pallets/jinja/commit/fbc3a696c729d177340cc089531de7e2e5b6f065"><code>fbc3a69</code></a>
Add support for namespaces in tuple parsing (<a
href="https://redirect.github.com/pallets/jinja/issues/1664">#1664</a>)</li>
<li><a
href="https://github.com/pallets/jinja/commit/b8f4831d41e6a7cb5c40d42f074ffd92d2daccfc"><code>b8f4831</code></a>
more comments about nsref assignment</li>
<li><a
href="https://github.com/pallets/jinja/commit/ee832194cd9f55f75e5a51359b709d535efe957f"><code>ee83219</code></a>
Add support for namespaces in tuple assignment</li>
<li><a
href="https://github.com/pallets/jinja/commit/1d55cddbb28e433779511f28f13a2d8c4ec45826"><code>1d55cdd</code></a>
Triple quotes in docs (<a
href="https://redirect.github.com/pallets/jinja/issues/2064">#2064</a>)</li>
<li><a
href="https://github.com/pallets/jinja/commit/8a8eafc6b992ba177f1d3dd483f8465f18a11116"><code>8a8eafc</code></a>
edit block assignment section</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/jinja/compare/3.1.4...3.1.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.4&new-version=3.1.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 09:41:37 -05:00
William FHandGitHub a486eb5e75 0.2.61 (#2933) 2025-01-05 14:43:43 -08:00
William Fu-Hinthorn e9d62944d3 0.2.61 2025-01-05 14:42:25 -08:00
William FHandGitHub cbd09abe58 fix formatting (#2880) 2025-01-04 04:59:04 -08:00
William FHandGitHub 4798443e31 Import TypedDict from typing_extensions, add ruff rule (#2910)
Within `libs/langgraph`, change all `TypedDict` imports to come from
`typing_extensions` rather than `typing`, as `pydantic` doesn't like the
latter.

Additionally, add a ruff rule to ban these imports too (so this doesn't
regress).

Solves  #2909.
2025-01-04 04:58:43 -08:00
William FHandGitHub ce900864fa Fix typo in client.py (#2925)
Typo change in function doc
2025-01-04 04:58:23 -08:00
Ramón VargasandGitHub 577f95bd50 Merge branch 'main' into patch-1 2025-01-04 13:26:54 +01:00
William FHandGitHub 59a11c63b0 Support multiple args in @task's (#2923)
Also add support for just `@task` without the ()'s
2025-01-04 04:25:49 -08:00
Andrew NguonlyandGitHub 08098688d4 docs: Update docs for POST /v1/projects/{project_id}/revisions endpoint (#2926) 2025-01-03 10:36:38 -08:00
Ramón VargasandGitHub 687ee02509 Update client.py
Typo change in function doc
2025-01-03 18:40:15 +01:00
William Fu-Hinthorn 451bc038b6 Support multiple args in @task's 2025-01-03 07:56:27 -08:00
Nuno CamposandGitHub c865e8c070 Update README.md 2025-01-02 10:01:35 +00:00
Nuno CamposandGitHub d74ec2c2de Bubble up stack close task (#2913) 2025-01-02 09:54:43 +00:00
Nuno CamposandGitHub f70bfc6d87 Fix stream_mode=updates for cases where one node returns multiple updates for same key (#2903) 2025-01-02 09:54:06 +00:00
David DuongandGitHub c86f0af107 fix(sdk): Fix SDK Command.update type (#2901)
Align typing with JS:


https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph/src/constants.ts#L226
2025-01-01 15:55:58 +01:00
William Fu-Hinthorn c6ee807de5 Bubble up stack close task 2025-01-01 05:41:57 -08:00
Johannes Mario Meissner 7256752f48 Import TypedDict from typing_extensions, add ruff rule 2024-12-31 22:14:16 +09:00
Nuno Campos dac84951aa Fix stream_mode=updates for cases where one node returns multiple updates for same key 2024-12-30 20:10:59 +00:00
Nuno CamposandGitHub 3aaa3e38a0 Add more tests for async cancellation (#2902) 2024-12-30 20:10:14 +00:00
Nuno Campos 400d83708a Fix 2024-12-30 20:01:35 +00:00
Nuno Campos 1d9c7ef461 Fix 2024-12-30 19:29:14 +00:00
Nuno Campos 01e5ecedfd Remove assertion of order 2024-12-30 19:26:18 +00:00
Nuno Campos 76199701b0 Add more tests for async cancellation 2024-12-30 18:56:56 +00:00
jacoblee93 2766fccb5b Bump Python version 2024-12-30 10:30:50 -08:00
jacoblee93 6aef3e0117 Update Python types too 2024-12-30 10:29:01 -08:00
jacoblee93 c5023ba147 Modify type 2024-12-30 10:22:06 -08:00
jacoblee93 9a9fe2fdec Update JS SDK command types 2024-12-30 10:14:51 -08:00
Andrew NguonlyandGitHub effddca494 docs: LangGraph Control Plane API (#2881) 2024-12-26 16:15:18 -08:00
Harrison Chase 2ab59840e7 cr 2024-12-26 12:48:08 -08:00
Eugene YurtsevandGitHub 0fb65f6e67 docs: fix accidental nav bar change (#2865) 2024-12-23 21:47:14 -05:00
Eugene Yurtsev 0ecd23eec6 fix accidental commit 2024-12-23 21:38:16 -05:00
Eugene YurtsevandGitHub e137dabf22 docs: memoize class resolution (#2861)
Main purpose is to avoid all the repeated log warnings which make the
builds hare to understand
2024-12-23 14:24:16 -05:00
Eugene YurtsevandGitHub fdc1e47aa1 docs: add edit uri (#2860) 2024-12-23 14:20:17 -05:00
Eugene Yurtsev 866780b477 x 2024-12-23 14:11:38 -05:00
Eugene Yurtsev 18d3fa2e15 x 2024-12-23 14:06:25 -05:00
Eugene YurtsevandGitHub 4b0c53fb5c docs: improve api reference generation in code blocks (#2857)
Generate api references from any markdown -- this will handle markdown
files in notebooks as well as code blocks in plain markdown
2024-12-23 13:35:08 -05:00
Eugene Yurtsev 5183484322 x 2024-12-22 22:10:29 -05:00
Eugene Yurtsev 8213e4719b qx 2024-12-22 22:10:06 -05:00
Eugene Yurtsev f993dfcfcb x 2024-12-22 22:07:59 -05:00
Eugene YurtsevandGitHub 9e31b82d8d docs: Add highlight-next-line (#2850)
Add highlight next line


![image](https://github.com/user-attachments/assets/cda3c9f2-1f98-489a-a487-d1ad9c6a1186)


![image](https://github.com/user-attachments/assets/bfa05f4d-50cc-490a-9598-5076068d8f4b)
2024-12-20 21:10:51 -05:00
Vadym BardaandGitHub a3c5b8fc37 checkpoint-postgres: release 2.0.9 (#2849) 2024-12-20 17:47:20 -05:00
Eugene Yurtsev 1e0aebc3ec x 2024-12-20 17:38:20 -05:00
Eugene Yurtsev 056f581342 x 2024-12-20 17:29:10 -05:00
Eugene Yurtsev a0d7323bec x 2024-12-20 17:14:22 -05:00
Vadym BardaandGitHub 44ee0199fd checkpoint postgres: add a shallow checkpointer (#2826)
This PR adds a "shallow" version of `PostgresSaver` checkpointer that
ONLY stores the most recent checkpoint and does NOT retain any history.
It is meant to be a light-weight drop-in replacement for the
PostgresSaver that supports most of the LangGraph persistence
functionality with the exception of time travel.
2024-12-20 17:51:20 +00:00
1de61f6fce docs: Improve explanation and fix grammar mistakes in agentic concepts guide (#2541)
Made some of the explanations more clear by rephrasing certain parts of
the sentence.

Fixed minor grammar mistakes also.

---------

Co-authored-by: Vadym Barda <vadim.barda@gmail.com>
2024-12-20 11:20:27 -05:00
Vadym BardaandGitHub f33db6cec4 docs: remove langgraph up references (#2847) 2024-12-20 11:00:04 -05:00
Vadym BardaandGitHub c72107177b docs: update custom agent in handoffs doc (#2846) 2024-12-20 14:59:38 +00:00
Yassin NouhandGitHub f520a38d30 docs: missing docstring for aupdate_state method (#2435) 2024-12-20 09:06:29 -05:00
Andrew NguonlyandGitHub d0278f520c docs: Update CPU for Production type deployments (#2845) 2024-12-19 21:04:31 -08:00
Vadym BardaandGitHub 506539ac9d langgraph: actually run test_large_cases_async (#2843) 2024-12-19 22:25:22 +00:00
JasonJandGitHub d6c6516f16 fix: minor modification, syntax error (#1905) 2024-12-19 15:29:10 -05:00
Sarthak GuptaandGitHub 6f5d6d9993 docs: remove Literal as it is not being used (#2149)
This PR removes the use of `from typing import Literal` since it is not
being used in the code implementation
2024-12-19 15:25:27 -05:00
Neeraj GandGitHub 8dcd058404 Formatting inconsistency in low_level.md (#1342) 2024-12-19 15:21:49 -05:00
William FHandGitHub e3050b3a3e [Docs] Show example payloads (#2839) 2024-12-19 10:38:17 -08:00
William Fu-Hinthorn 9e767afad7 Link 2024-12-19 09:09:36 -08:00
William Fu-Hinthorn 62b35277ec Warning more obvious 2024-12-19 09:01:50 -08:00
William Fu-Hinthorn 931419909b rm 2024-12-19 08:59:11 -08:00
William Fu-Hinthorn e849c869cc [Docs] Add example payloads to code 2024-12-19 08:52:31 -08:00
William FHandGitHub 5a580ae5ec [Docs] Add diagrams (#2834) 2024-12-19 06:37:55 -08:00
William Fu-Hinthorn 47a0e09513 Add prereq 2024-12-19 06:28:56 -08:00
William Fu-Hinthorn f37486efe2 Add images 2024-12-19 06:26:52 -08:00
William FHandGitHub fa61be9fbc [Docs] Bullet points (#2830) 2024-12-18 23:10:13 -08:00
William Fu-Hinthorn 08097a78bd [Docs] Bullet points 2024-12-18 23:09:06 -08:00
William FHandGitHub 43f610e9a6 [Doc] Fix env var name (#2828) 2024-12-18 21:32:08 -08:00
William Fu-Hinthorn aa1ddee67e [Doc] Fix env var name 2024-12-18 21:30:12 -08:00
William FHandGitHub 12b46e8a69 [Docs] Make example more illustrative (#2827) 2024-12-18 18:58:26 -08:00
William Fu-Hinthorn d90f69105a missed 2024-12-18 18:49:49 -08:00
William Fu-Hinthorn fbd3b67183 [Docs] Make example more illustrative 2024-12-18 18:47:35 -08:00
William FHandGitHub 6d8be543e7 Update syntax highlighting (#2825) 2024-12-18 17:53:33 -08:00
William Fu-Hinthorn 1c1772f7ec Update syntax highlighting 2024-12-18 17:51:07 -08:00
William FHandGitHub ce239c784a [Docs] Ignore linkcheck localhost on main (#2824) 2024-12-18 16:48:02 -08:00
William Fu-Hinthorn c14c978824 [Docs] Ignore localhost on main 2024-12-18 16:46:34 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Vadym Barda
ebb2823be0 build(deps-dev): bump tornado from 6.4.1 to 6.4.2 in /libs/langgraph (#2814)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.1 to
6.4.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst">tornado's
changelog</a>.</em></p>
<blockquote>
<h1>Release notes</h1>
<p>.. toctree::
:maxdepth: 2</p>
<p>releases/v6.4.2
releases/v6.4.1
releases/v6.4.0
releases/v6.3.3
releases/v6.3.2
releases/v6.3.1
releases/v6.3.0
releases/v6.2.0
releases/v6.1.0
releases/v6.0.4
releases/v6.0.3
releases/v6.0.2
releases/v6.0.1
releases/v6.0.0
releases/v5.1.1
releases/v5.1.0
releases/v5.0.2
releases/v5.0.1
releases/v5.0.0
releases/v4.5.3
releases/v4.5.2
releases/v4.5.1
releases/v4.5.0
releases/v4.4.3
releases/v4.4.2
releases/v4.4.1
releases/v4.4.0
releases/v4.3.0
releases/v4.2.1
releases/v4.2.0
releases/v4.1.0
releases/v4.0.2
releases/v4.0.1
releases/v4.0.0
releases/v3.2.2
releases/v3.2.1
releases/v3.2.0
releases/v3.1.1
releases/v3.1.0
releases/v3.0.2
releases/v3.0.1
releases/v3.0.0
releases/v2.4.1
releases/v2.4.0</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tornadoweb/tornado/commit/a5ecfab15e52202a46d34638aad93cddca86d87b"><code>a5ecfab</code></a>
Bump version to 6.4.2</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/bc7df6bafdec61155e7bf385081feb205463857d"><code>bc7df6b</code></a>
Fix tests with Twisted 24.7.0</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/d5ba4a1695fbf7c6a3e54313262639b198291533"><code>d5ba4a1</code></a>
httputil: Fix quadratic performance of cookie parsing</li>
<li>See full diff in <a
href="https://github.com/tornadoweb/tornado/compare/v6.4.1...v6.4.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tornado&package-manager=pip&previous-version=6.4.1&new-version=6.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-18 19:36:20 -05:00
William FHandGitHub 25f0224f97 [Docs] Link glob (#2823) 2024-12-18 16:35:09 -08:00
William FHandGitHub fdf9b0ad48 Merge branch 'main' into wfh/expand_link_glob 2024-12-18 16:34:58 -08:00
William FHandGitHub 00ecccfd81 [docs] Remove show source: true in ref docs (#2821) 2024-12-18 16:34:46 -08:00
William Fu-Hinthorn 7d5452d039 [Docs] Link glob 2024-12-18 16:32:02 -08:00
William FHandGitHub 2d8de54e80 [Docs] Ignore 127.0.0 links (#2822) 2024-12-18 16:16:42 -08:00
William Fu-Hinthorn 32abc62bc1 [Docs] Ignore 127.0.0 links 2024-12-18 16:14:54 -08:00
William Fu-Hinthorn e36cf4111d [docs] Remove show source: true in ref docs 2024-12-18 16:04:35 -08:00
William FHandGitHub 53a2c2bdcd [Docs] Fix mkdocs.yml paths (#2820) 2024-12-18 15:58:30 -08:00
William Fu-Hinthorn 2cae9337a7 Fix broken index 2024-12-18 15:56:35 -08:00
William Fu-Hinthorn b056e17b38 Linkcheck 2024-12-18 15:46:45 -08:00
William FHandGitHub 2855caa3eb Fix config cli type from Path -> str (#2771)
Config parameter in `dev` was typed as pathlib.Path, but it is actually
a string. We need to manually create a Path from the string when parsing
the config.

FIxes #2647
2024-12-18 15:25:15 -08:00
William FHandGitHub 140566e662 [Docs] Add auth docs (#2797) 2024-12-18 15:22:26 -08:00
William FH b7f57b1375 Merge branch 'main' into wfh/docs/auth 2024-12-18 15:09:15 -08:00
Vadym BardaandGitHub 121c5863db docs: add a banner for langchain academy (#2818) 2024-12-18 23:08:51 +00:00
William Fu-Hinthorn 1709cd3fb5 concept 2024-12-18 15:08:19 -08:00
William Fu-Hinthorn d4a1fe5a03 concept 2024-12-18 15:03:13 -08:00
William Fu-Hinthorn 06e1e4ed12 Update cross-linking 2024-12-18 14:52:02 -08:00
Vadym BardaandGitHub 1e62b175ba docs: make the studio web UI docs more clear (#2812) 2024-12-18 22:40:22 +00:00
William FHandGitHub f89fe49f99 Merge branch 'main' into wfh/docs/auth 2024-12-18 14:26:39 -08:00
William Fu-Hinthorn 2e1971baf3 Remaining feedback 2024-12-18 14:25:25 -08:00
William Fu-Hinthorn 948027aef2 Notebook style 2024-12-18 14:22:15 -08:00
William Fu-Hinthorn 6954e63671 Numbering 2024-12-18 14:16:35 -08:00
William Fu-Hinthorn 7f0bfdc139 Feedback 2024-12-18 14:15:54 -08:00
William FHandGitHub 0496128e6b [CLI] Bump min-bound for langgraph-api (#2816) 2024-12-18 12:38:37 -08:00
William FHandGitHub d79b1a61e8 Merge branch 'main' into fix-cli-path 2024-12-18 12:34:39 -08:00
William Fu-Hinthorn e227f6ce83 Bump version 2024-12-18 12:30:06 -08:00
William Fu-Hinthorn 8a1a11fde5 [CLI] Update min bound for langgraph-api 2024-12-18 12:29:17 -08:00
Andrew NguonlyandGitHub c47fd171c6 docs(cloud): Add note about GitHub org/acc owner (#2815)
### Summary
Clarifying that in order to install the `hosted-langserve` GitHub app,
the GitHub user must be an owner of the organization or account.
2024-12-18 11:45:30 -08:00
William Fu-Hinthorn 1e07a9ac97 Add admonition 2024-12-18 11:41:52 -08:00
William Fu-Hinthorn d9cc227e75 Unpin install command in doc 2024-12-18 11:41:52 -08:00
6b45a281c1 fix example in docs of state_schema in create_react_agent (#2109)
because in
```python
    def call_model(
        state: AgentState,
        config: RunnableConfig,
    )
...
        if (
            (
                "remaining_steps" not in state
                and state["is_last_step"]
                and has_tool_calls
            )
```

https://github.com/langchain-ai/langgraph/blob/c0b56bf60d84ed435609c35b0691cd0305ceae78/libs/langgraph/langgraph/prebuilt/chat_agent_executor.py#L543
the AgentState requires is_last_step to have a default value, like
`False`, and `IsLastStep` can satisfy it.

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-18 11:41:52 -08:00
BagaturandWilliam Fu-Hinthorn 532bc71c11 langgraph[patch]: format messages in state (#2199)
Add `format` flag to `add_messages` which allows you to specify if the
contents of messages in state should be formatted in a particular way.
PR only adds support for OpenAI style contents. Helpful if you're using
different models at different nodes and want a unified messages format
to interact with when you manually update messages.
2024-12-18 11:41:52 -08:00
dependabot[bot]William Fu-Hinthorndependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Vadym Barda
dabd75f1f9 build(deps-dev): bump tornado from 6.4.1 to 6.4.2 (#2519)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.1 to
6.4.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst">tornado's
changelog</a>.</em></p>
<blockquote>
<h1>Release notes</h1>
<p>.. toctree::
:maxdepth: 2</p>
<p>releases/v6.4.2
releases/v6.4.1
releases/v6.4.0
releases/v6.3.3
releases/v6.3.2
releases/v6.3.1
releases/v6.3.0
releases/v6.2.0
releases/v6.1.0
releases/v6.0.4
releases/v6.0.3
releases/v6.0.2
releases/v6.0.1
releases/v6.0.0
releases/v5.1.1
releases/v5.1.0
releases/v5.0.2
releases/v5.0.1
releases/v5.0.0
releases/v4.5.3
releases/v4.5.2
releases/v4.5.1
releases/v4.5.0
releases/v4.4.3
releases/v4.4.2
releases/v4.4.1
releases/v4.4.0
releases/v4.3.0
releases/v4.2.1
releases/v4.2.0
releases/v4.1.0
releases/v4.0.2
releases/v4.0.1
releases/v4.0.0
releases/v3.2.2
releases/v3.2.1
releases/v3.2.0
releases/v3.1.1
releases/v3.1.0
releases/v3.0.2
releases/v3.0.1
releases/v3.0.0
releases/v2.4.1
releases/v2.4.0</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tornadoweb/tornado/commit/a5ecfab15e52202a46d34638aad93cddca86d87b"><code>a5ecfab</code></a>
Bump version to 6.4.2</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/bc7df6bafdec61155e7bf385081feb205463857d"><code>bc7df6b</code></a>
Fix tests with Twisted 24.7.0</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/d5ba4a1695fbf7c6a3e54313262639b198291533"><code>d5ba4a1</code></a>
httputil: Fix quadratic performance of cookie parsing</li>
<li>See full diff in <a
href="https://github.com/tornadoweb/tornado/compare/v6.4.1...v6.4.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tornado&package-manager=pip&previous-version=6.4.1&new-version=6.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-18 11:41:52 -08:00
Nuno CamposandWilliam Fu-Hinthorn ef88b805a7 0.2.60 2024-12-18 11:41:52 -08:00
Nuno CamposandWilliam Fu-Hinthorn 7e8a68f0f0 Fix 2024-12-18 11:41:52 -08:00
Nuno CamposandWilliam Fu-Hinthorn e20bd15580 lib: Fix incorrect default for Command.update
- this should not default to empty tuple, it should default to None
2024-12-18 11:41:52 -08:00
William Fu-Hinthorn 51c57cc819 [SDK] Add studio user object 2024-12-18 11:41:52 -08:00
William FHandGitHub 09a6450eed [SDK] Add studio user object (#2813) 2024-12-18 11:33:50 -08:00
William FHandGitHub 77fba7a571 Merge branch 'main' into wfh/sdk/studio_user 2024-12-18 11:28:21 -08:00
William Fu-Hinthorn 60232eadc4 [SDK] Add studio user object 2024-12-18 11:21:13 -08:00
83e4e6c4c2 Update docs/docs/tutorials/auth/add_auth_server.md
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-12-18 11:15:38 -08:00
William FHandGitHub a6f0c665af Unpin install command in doc (#2811) 2024-12-18 10:13:29 -08:00
William Fu-Hinthorn f1a2e19144 Add admonition 2024-12-18 10:04:57 -08:00
William Fu-Hinthorn b28e9d0a87 Unpin install command in doc 2024-12-18 10:03:16 -08:00
William Fu-Hinthorn b3230cf6d1 More guidance 2024-12-18 10:01:56 -08:00
1a6c3114f3 fix example in docs of state_schema in create_react_agent (#2109)
because in
```python
    def call_model(
        state: AgentState,
        config: RunnableConfig,
    )
...
        if (
            (
                "remaining_steps" not in state
                and state["is_last_step"]
                and has_tool_calls
            )
```

https://github.com/langchain-ai/langgraph/blob/c0b56bf60d84ed435609c35b0691cd0305ceae78/libs/langgraph/langgraph/prebuilt/chat_agent_executor.py#L543
the AgentState requires is_last_step to have a default value, like
`False`, and `IsLastStep` can satisfy it.

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-18 12:46:33 -05:00
BagaturandGitHub 4f1bf4fa7a langgraph[patch]: format messages in state (#2199)
Add `format` flag to `add_messages` which allows you to specify if the
contents of messages in state should be formatted in a particular way.
PR only adds support for OpenAI style contents. Helpful if you're using
different models at different nodes and want a unified messages format
to interact with when you manually update messages.
2024-12-18 17:19:04 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Vadym Barda
22fa673872 build(deps-dev): bump tornado from 6.4.1 to 6.4.2 (#2519)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.1 to
6.4.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst">tornado's
changelog</a>.</em></p>
<blockquote>
<h1>Release notes</h1>
<p>.. toctree::
:maxdepth: 2</p>
<p>releases/v6.4.2
releases/v6.4.1
releases/v6.4.0
releases/v6.3.3
releases/v6.3.2
releases/v6.3.1
releases/v6.3.0
releases/v6.2.0
releases/v6.1.0
releases/v6.0.4
releases/v6.0.3
releases/v6.0.2
releases/v6.0.1
releases/v6.0.0
releases/v5.1.1
releases/v5.1.0
releases/v5.0.2
releases/v5.0.1
releases/v5.0.0
releases/v4.5.3
releases/v4.5.2
releases/v4.5.1
releases/v4.5.0
releases/v4.4.3
releases/v4.4.2
releases/v4.4.1
releases/v4.4.0
releases/v4.3.0
releases/v4.2.1
releases/v4.2.0
releases/v4.1.0
releases/v4.0.2
releases/v4.0.1
releases/v4.0.0
releases/v3.2.2
releases/v3.2.1
releases/v3.2.0
releases/v3.1.1
releases/v3.1.0
releases/v3.0.2
releases/v3.0.1
releases/v3.0.0
releases/v2.4.1
releases/v2.4.0</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tornadoweb/tornado/commit/a5ecfab15e52202a46d34638aad93cddca86d87b"><code>a5ecfab</code></a>
Bump version to 6.4.2</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/bc7df6bafdec61155e7bf385081feb205463857d"><code>bc7df6b</code></a>
Fix tests with Twisted 24.7.0</li>
<li><a
href="https://github.com/tornadoweb/tornado/commit/d5ba4a1695fbf7c6a3e54313262639b198291533"><code>d5ba4a1</code></a>
httputil: Fix quadratic performance of cookie parsing</li>
<li>See full diff in <a
href="https://github.com/tornadoweb/tornado/compare/v6.4.1...v6.4.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tornado&package-manager=pip&previous-version=6.4.1&new-version=6.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-18 10:04:05 -05:00
Nuno Campos 3d85f2296c 0.2.60 2024-12-18 13:45:32 +00:00
Nuno CamposandGitHub 5ad9cfa030 lib: Fix incorrect default for Command.update (#2809)
- this should not default to empty tuple, it should default to None
2024-12-18 13:35:53 +00:00
Nuno Campos 39281c866d Fix 2024-12-18 13:28:22 +00:00
Nuno Campos 4c3a38d324 lib: Fix incorrect default for Command.update
- this should not default to empty tuple, it should default to None
2024-12-18 13:15:38 +00:00
William Fu-Hinthorn 8fc3f204ea Add pt 2 and 3 2024-12-18 01:10:33 -08:00
William FH 2df2f41dc7 Merge branch 'main' into wfh/docs/auth 2024-12-18 01:08:41 -08:00
William Fu-Hinthorn 30e647abce Add links 2024-12-18 01:06:01 -08:00
William Fu-Hinthorn b85c9961d7 Split into 3 2024-12-18 00:50:38 -08:00
William Fu-Hinthorn 1c97bddc14 Fix cross linking 2024-12-17 18:22:56 -08:00
William Fu-Hinthorn 97b3d1b9ac Simplify tutorial 2024-12-17 17:43:09 -08:00
Vadym BardaandGitHub 8b70da6a0f docs: update howtos nav (#2805) 2024-12-17 19:50:00 -05:00
William Fu-Hinthorn 7904fdc928 Update explanations 2024-12-17 16:41:00 -08:00
William Fu-Hinthorn ba56ba1b2a Add langgraph reference 2024-12-17 16:31:13 -08:00
William Fu-Hinthorn 12f2a480cd Add concepts 2024-12-17 16:25:48 -08:00
Vadym BardaandGitHub 532cb0a691 docs: reorg multi-agent howtos (#2784) 2024-12-18 00:01:28 +00:00
William Fu-Hinthorn 23e18e8c1b Add how-tos 2024-12-17 14:50:09 -08:00
William Fu-Hinthorn 6d160a2865 Merge branch 'main' into wfh/docs/auth 2024-12-17 14:04:31 -08:00
e0b4eb6454 doc: fixed typo in interrupt_concurrent.md (#2791)
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-12-17 15:49:44 -05:00
Eugene YurtsevandGitHub 608ff41e78 ci: fix link checker (#2803) 2024-12-17 15:41:10 -05:00
Eugene YurtsevandGitHub 9280e3411b docs: update why langgraph and other typos (#2799) 2024-12-17 15:36:41 -05:00
William FHandGitHub 36fa8e0097 Update ref docs (#2802) 2024-12-17 11:54:32 -08:00
Eugene Yurtsev f63217794d qx 2024-12-17 14:50:26 -05:00
William Fu-Hinthorn bcb11640a5 Update AuthContext 2024-12-17 11:46:30 -08:00
William Fu-Hinthorn b6c3a0d0fd Update wording 2024-12-17 11:37:25 -08:00
Luke JangandGitHub 8b14b6a9f0 docs: removed redundant import from the example (#2794)
there were two same import
"from langchain_openai import ChatOpenAI"
2024-12-17 14:33:35 -05:00
William Fu-Hinthorn 8c63cc1778 Add excption docs 2024-12-17 11:22:54 -08:00
William Fu-Hinthorn 6756e91ffc Authenticate return single type 2024-12-17 11:01:54 -08:00
William Fu-Hinthorn 3dd1e67977 Add mermaid 2024-12-17 10:54:18 -08:00
Eugene YurtsevandGitHub fc5d919aee docs: fix some typos (#2790) 2024-12-17 13:53:57 -05:00
Eugene Yurtsev 0369300160 update 2024-12-17 12:24:15 -05:00
William Fu-Hinthorn 245cf83b20 [Docs] Add auth tutorial 2024-12-17 08:59:04 -08:00
Vadym BardaandGitHub 9bd351b80f docs: small fixes (#2798) 2024-12-17 11:58:38 -05:00
Eugene YurtsevandGitHub 83c3f86159 docs: fix port
Fix port from 8123 (was the default for langgraph up) to 2024 (the default for langgraph dev)
2024-12-17 10:29:12 -05:00
Eugene Yurtsev 3a41a2addc q 2024-12-16 22:04:21 -05:00
Eugene Yurtsev 3eca363c23 x 2024-12-16 22:01:53 -05:00
Eugene Yurtsev 2f1e864570 x 2024-12-16 22:00:41 -05:00
Eugene Yurtsev 79a1ce6804 x 2024-12-16 21:47:32 -05:00
Eugene YurtsevandGitHub deb99a9acb docs: Update langgraph cloud deploy quickstart
docs: update langgraph cloud deploy quickstart
2024-12-16 20:39:58 -05:00
William FHandGitHub 781d0cf27a [CLI] Handle dependencies js up --watch 2024-12-16 16:27:56 -08:00
William Fu-Hinthorn 8a02ddd868 [CLI] Handle dependencies js up --watch 2024-12-16 16:19:23 -08:00
Eugene Yurtsev 5f7dcbb07a x 2024-12-16 17:57:01 -05:00
Eugene Yurtsev 9615580a66 x 2024-12-16 17:55:29 -05:00
Eugene Yurtsev d45eb0f9f2 x 2024-12-16 17:49:38 -05:00
William FHandGitHub 4caa483478 [SDK] relax response typehint
So you can return a dict with extra args
2024-12-16 14:02:46 -08:00
William Fu-Hinthorn 006305f6a8 [SDK] relax response typehint 2024-12-16 11:28:21 -08:00
Vadym BardaandGitHub d9b7aaa5cc langgraph: relax constraints in ToolNode Command validation (#2778) 2024-12-16 14:00:45 -05:00
Vadym BardaandGitHub d2794eda0a langgraph: relax type annotation for Command.update (#2777)
Addresses #2758 , #2747
2024-12-16 14:00:23 -05:00
William FHandGitHub 9cbef9b542 [SDK] Add HTTPException type
To make it easier to raise exceptions with custom status codes in the imported file.
2024-12-16 09:01:15 -08:00
William Fu-Hinthorn 343dc2d37a [SDK] Add HTTPException type 2024-12-16 08:45:44 -08:00
David DuongandGitHub ca0ff1d334 Merge pull request #2774 from langchain-ai/dqbd/studio-datasets-navigation
docs: update studio index to add datasets
2024-12-16 20:14:46 +04:00
Tat Dat Duong f5663ffa49 docs: update studio index to add datasets 2024-12-16 16:44:43 +01:00
David DuongandGitHub e7477a9315 Merge pull request #2680 from langchain-ai/dqbd/add-to-dataset-docs
feat(studio): add Add to Dataset docs
2024-12-16 19:31:49 +04:00
Tat Dat Duong 18c083b60a Use S3 for assets 2024-12-16 16:24:05 +01:00
Vadym BardaandGitHub 2f0e3c66d1 docs: update structured output how-to guide (#2773)
Fixes #2760
2024-12-16 09:51:12 -05:00
ZapironandGitHub d9ec185e72 docs: Update correct ID for initial ToolNode hyperlink (#2767)
Automatically leads to the correct `ToolNode` section instead of the top
2024-12-16 09:15:34 -05:00
Denis Capkovic 721945b5ce Fix config cli type from Path -> str
Config parameter in `dev` was typed as pathlib.Path, but it is actually
a string. We need to manually create a Path from the string when parsing
the config.
2024-12-16 10:52:02 +01:00
William FHandGitHub 87fba0ecd0 [CLI] Add openapi param to config
For langraph api
2024-12-14 07:33:07 -08:00
William FHandGitHub 30e6b5482f Merge branch 'main' into wfh/cli/add_auth_env_var 2024-12-14 07:26:34 -08:00
William Fu-Hinthorn 77b42e0867 [CLI] Add openapi param to config 2024-12-14 07:25:14 -08:00
William FHandGitHub cbe92e3e55 [CLI] Add auth param to langgraph.json
Preliminary for supporting custom auth.
2024-12-13 17:09:09 -08:00
William Fu-Hinthorn 70f2efc9a1 Update dev 2024-12-13 17:01:01 -08:00
William Fu-Hinthorn dbf5b4920e [CLI] Add auth env var 2024-12-13 16:36:35 -08:00
William FHandGitHub 9291ae8646 Merge pull request #2761 from langchain-ai/wfh/auth/types
[SDK] Add auth types
2024-12-13 16:25:41 -08:00
William Fu-Hinthorn 2713082707 [SDK] Add auth types 2024-12-13 16:17:35 -08:00
Eugene YurtsevandGitHub 89eb938b30 docs: fix typo in example
Fix typo in thread config
2024-12-13 12:47:30 -05:00
Eugene Yurtsev 26e97492b7 add missing thread config 2024-12-13 12:39:26 -05:00
Vadym BardaandGitHub 4c3958f0be docs: update custom tool call snippet (#2754) 2024-12-13 09:42:13 -05:00
980b592631 Fixed the code snippet in the Update State From Tools tutorial (#2752)
Hi,

While reading the [update state from
tools](https://langchain-ai.github.io/langgraph/how-tos/update-state-from-tools/)
tutorial. I noticed that this code snippet contains a syntax error:

```python
def call_tools(state):
    ...
    commands = [tools_by_name[call["name"].invoke(call, config={"coerce_tool_content": False}) for tool_call in tool_calls]
    return commands
```

There is a missing closing bracket `]` in the list comprehension.
Additionally, the variable `call` inside the list comprehension is
undefined, it should be `tool_call`.

Here is a corrected version of the code:

```python
def call_tools(state):
    ...
    commands = [tools_by_name[tool_call["name"]].invoke(tool_call, config={"coerce_tool_content": False}) for tool_call in tool_calls]
    return commands
```

---------

Co-authored-by: Vadym Barda <vadim.barda@gmail.com>
2024-12-13 09:40:18 -05:00
Imad SaddikandGitHub e494869c72 Fixed the documentation for the persistence concept (#2750)
Hi,

I was reading the
[persistence](https://langchain-ai.github.io/langgraph/concepts/persistence/#update-state)
concept in LangGraph and found a sentence with a missing verb, so I
fixed it.
2024-12-13 09:38:17 -05:00
da0aac7556 Updating MongoDB checkpointer docs (#2743)
This PR updates the [How-to
guide](https://langchain-ai.github.io/langgraph/how-tos/persistence_mongodb/)
on using the MongoDB checkpointer.

The guide currently explains how to create a custom MongoDB
checkpointer, but we now have a checkpointer implementation available
via the `langgraph-checkpoint-mongodb` library. This PR updates the
current resource to guide users on how to use this implementation.

---------

Co-authored-by: ajosh0504 <apoorva.joshi@mongodb.com>
Co-authored-by: vbarda <vadym@langchain.dev>
2024-12-12 15:31:57 -05:00
Vadym BardaandGitHub a200027cda checkpoint: release 2.0.9 (#2744) 2024-12-12 15:06:54 -05:00
Eugene YurtsevandGitHub 8cd57f7457 Merge pull request #2742 from langchain-ai/eugene/more_info_in_human_in_the_loop
concepts: HIL add more context to interrupt section
2024-12-12 14:55:00 -05:00
Nuno Campos 26c1f1ee7a sdk-py 0.1.44 2024-12-12 11:48:20 -08:00
Eugene Yurtsev 33af251a09 x 2024-12-12 14:01:33 -05:00
Eugene YurtsevandGitHub 17dc588c81 docs: concepts HIL add example w/ subgraph call
Add an example with subgraph call to illustrate the flow
2024-12-12 12:02:36 -05:00
Eugene Yurtsev 258060593b x 2024-12-12 11:54:04 -05:00
Vadym BardaandGitHub fbe513835f docs: update type annotations (#2739) 2024-12-12 11:53:55 -05:00
Eugene Yurtsev f319b1e107 x 2024-12-12 11:50:09 -05:00
Nuno CamposandGitHub cbb7348998 Merge pull request #2736 from langchain-ai/nc/12dec/sdk-command-keys
sdk-py: Strip out unused keys in command parameter
2024-12-12 08:18:19 -08:00
Nuno CamposandGitHub 2d8246e7c4 Merge pull request #2735 from langchain-ai/vb/relax-strict-keys
checkpoint: set strict_map_key=False in serde
2024-12-12 08:15:48 -08:00
Nuno Campos e5ea4f51c7 sdk-py: Strip out unused keys in command parameter 2024-12-12 08:10:43 -08:00
vbarda a031f8294e all lines 2024-12-12 11:06:45 -05:00
vbarda 7d940a4a96 lint 2024-12-12 10:58:50 -05:00
vbarda 6ae0c83c83 checkpoint: set strict_map_key=False in serde 2024-12-12 10:58:07 -05:00
Vadym BardaandGitHub 083a14c2c5 docs: update how-to to remove agent wrapper (#2721) 2024-12-12 08:15:17 -05:00
Nuno CamposandGitHub e4db5c2ca4 Merge pull request #2728 from langchain-ai/nc/11dec/more-tests
lib: Add more tests
2024-12-11 17:41:47 -08:00
Nuno Campos 1d2b50e438 Fix 2024-12-11 17:34:21 -08:00
Nuno Campos 5146c9fcdf Disable for old py 2024-12-11 17:04:58 -08:00
Nuno Campos e8a2f7ef92 lib: Add more tests
- add more unit tests (courtesy of claude)
- move tests with large assertions to separate file
2024-12-11 16:20:53 -08:00
Vadym BardaandGitHub 0400c5236e docs: update redis how-to (#2727)
Fixes #2712
2024-12-11 23:22:47 +00:00
Vadym BardaandGitHub 67f96063e2 docs: update min lib version for howto (#2726) 2024-12-11 17:11:57 -05:00
Vadym BardaandGitHub 44cdbc781f langgraph: release 0.2.59 (#2725) 2024-12-11 16:45:13 -05:00
Vadym BardaandGitHub f642fb6545 langgraph[fix]: pass config to tools (#2724)
Fixes #2723
2024-12-11 21:43:29 +00:00
Andrew NguonlyandGitHub ff3bc2f982 docs: Add details about Cloud SaaS deployment time (#2722) 2024-12-11 13:19:19 -08:00
William FHandGitHub e1925a8dcb Merge pull request #2720 from langchain-ai/wfh/docs/missing_backticks 2024-12-11 12:34:51 -08:00
William FHandGitHub fe83a151bb Merge branch 'main' into wfh/docs/missing_backticks 2024-12-11 12:34:38 -08:00
William Fu-Hinthorn d18c9449ec [docs] Add missing backicks 2024-12-11 12:33:33 -08:00
Eugene YurtsevandGitHub 12a15c3cb4 docs: document interrupt & HIL
- Document interrupt reference
- Update conceptual guides for HIL
- Split time-travel conceptual guide
- Split breakpoints into separate conceptual guide
- Update relevant how-tos
- Update how-to index page for HIL with more information and recommendations
- New how-to for multi turn conversation
2024-12-11 14:00:21 -05:00
Eugene Yurtsev 189358cb91 one more link fix 2024-12-11 13:22:17 -05:00
Eugene YurtsevandGitHub d16004c0b6 Merge branch 'main' into eugene/document_interrupt 2024-12-11 13:14:01 -05:00
Eugene Yurtsev fdf19a5be9 x 2024-12-11 13:12:29 -05:00
Eugene Yurtsev d24ce62c3f x 2024-12-11 13:10:42 -05:00
Eugene Yurtsev 3ffed8d38d x 2024-12-11 13:08:57 -05:00
vbarda 25d4512744 update cassettes 2024-12-11 13:03:27 -05:00
Eugene Yurtsev 630195a108 fix one more link 2024-12-11 12:50:32 -05:00
Eugene YurtsevandGitHub 475e16b8ed Merge pull request #2718 from langchain-ai/eugene/fix_links
fix links
2024-12-11 12:43:19 -05:00
Eugene Yurtsev 32702dea08 x 2024-12-11 12:42:54 -05:00
Eugene Yurtsev 3db266bb93 x 2024-12-11 12:41:03 -05:00
Eugene Yurtsev 11ce54d7e4 x 2024-12-11 12:39:53 -05:00
Eugene Yurtsev 54a5e45d21 x 2024-12-11 12:37:54 -05:00
vbarda 0ad470162c fix links 2024-12-11 11:54:19 -05:00
Eugene YurtsevandGitHub 37436c5cd6 Merge pull request #2717 from langchain-ai/eugene/breakpoints_take_one_hundred
re-org concepts
2024-12-11 11:42:15 -05:00
Eugene Yurtsev 7f48428d16 x 2024-12-11 11:41:00 -05:00
Eugene Yurtsev d9c0a5d827 x 2024-12-11 11:40:09 -05:00
Eugene Yurtsev 6907d1b775 x 2024-12-11 11:32:33 -05:00
Eugene YurtsevandGitHub bec3055561 Merge pull request #2714 from langchain-ai/eugene/add_more_hil_patterns
Beef up concept, remove how to
2024-12-11 11:09:05 -05:00
Eugene YurtsevandGitHub 2f535a803c Merge pull request #2716 from langchain-ai/eugene/document_command
concepts: document command as HIL
2024-12-11 11:08:57 -05:00
Eugene Yurtsev fbb11a6d2e x 2024-12-11 11:08:24 -05:00
Eugene YurtsevandGitHub 3f348e3268 Merge pull request #2715 from langchain-ai/eugene/fix_typo_123
fix typo
2024-12-11 11:05:14 -05:00
Eugene Yurtsev 6b80fa6718 x 2024-12-11 11:02:28 -05:00
Eugene Yurtsev 82fa597e84 x 2024-12-11 10:58:58 -05:00
Eugene Yurtsev f6c44ec154 x 2024-12-11 10:58:10 -05:00
vbarda a03900be7a minor fix 2024-12-11 09:56:20 -05:00
vbarda 7144f7db41 typos 2024-12-11 09:24:48 -05:00
Eugene YurtsevandGitHub 8f1db66c17 Merge pull request #2711 from langchain-ai/eugene/more_changes
more changes
2024-12-10 23:54:57 -05:00
Eugene Yurtsev c2556aa2fe x 2024-12-10 23:54:15 -05:00
Eugene YurtsevandGitHub d468655f62 Merge pull request #2710 from langchain-ai/eugene/more_concept_work
more concepts changes
2024-12-10 23:25:01 -05:00
Eugene Yurtsev 6153c777fb x 2024-12-10 23:24:26 -05:00
Eugene Yurtsev a4d49b4e77 x 2024-12-10 23:23:58 -05:00
Eugene Yurtsev 789c732866 x 2024-12-10 22:52:17 -05:00
Eugene YurtsevandGitHub 51f85ffa84 Merge pull request #2709 from langchain-ai/eugene/update_index_page
langgraph: update index page
2024-12-10 22:21:42 -05:00
Eugene Yurtsev 31dd6c65a9 x 2024-12-10 22:20:55 -05:00
Eugene YurtsevandGitHub cb225dde7f Merge pull request #2708 from langchain-ai/eugene/wait_for_user_input_improve
wait for user input improvements
2024-12-10 21:53:52 -05:00
Eugene Yurtsev 0cb530e588 x 2024-12-10 21:53:19 -05:00
Eugene YurtsevandGitHub f0f3e11b0e Merge pull request #2707 from langchain-ai/eugene/fix_typos
fix typo
2024-12-10 21:39:09 -05:00
Eugene YurtsevandGitHub 55fbff89f4 Merge pull request #2706 from langchain-ai/eugene/update_breakpoints_2
docs: update resume link
2024-12-10 21:38:43 -05:00
Eugene Yurtsev 327bb369d7 x 2024-12-10 21:38:20 -05:00
Eugene YurtsevandGitHub 30eb2d00e2 Merge pull request #2703 from langchain-ai/vb/update-wait-for-input
docs: update wait for user input how-to
2024-12-10 21:34:46 -05:00
Eugene Yurtsev 45d1033092 x 2024-12-10 21:32:31 -05:00
Eugene Yurtsev 5a0ae2157c update resume link 2024-12-10 21:22:00 -05:00
Eugene YurtsevandGitHub e001b7a35f Merge pull request #2702 from langchain-ai/eugene/update_more_docs
eugene/update more docs
2024-12-10 21:18:49 -05:00
Eugene YurtsevandGitHub a41b9bb83c Merge pull request #2704 from langchain-ai/eugene/update_glossary 2024-12-10 21:18:34 -05:00
vbarda 04f6a6ccd1 update 2024-12-10 21:13:38 -05:00
Andrew NguonlyandGitHub ce15790210 docs: Add section about Cloud SaaS autoscaling (#2705) 2024-12-10 16:58:25 -08:00
Eugene Yurtsev 04b76f55a0 x 2024-12-10 18:23:51 -05:00
vbarda f52a8728ff docs: update wait for user input how-to 2024-12-10 18:19:33 -05:00
Eugene Yurtsev 686ee31b75 x 2024-12-10 18:10:55 -05:00
Eugene Yurtsev 47dcb2d105 x 2024-12-10 18:10:14 -05:00
Eugene Yurtsev 3a611fb20d update dynamic breakpoints 2024-12-10 18:09:07 -05:00
Eugene Yurtsev baa88f3c97 x 2024-12-10 17:56:48 -05:00
Vadym BardaandGitHub 79aa88812d docs: update reivew tool calls how-to (#2700) 2024-12-10 17:38:48 -05:00
Eugene Yurtsev 81436ceef8 x 2024-12-10 17:22:22 -05:00
Nuno Campos 2b70dba0e0 0.2.58 2024-12-10 14:09:11 -08:00
Eugene Yurtsev e14a6cf98b Add multi turn conversation input 2024-12-10 17:06:08 -05:00
Nuno CamposandGitHub dc0398efd1 Merge pull request #2661 from langchain-ai/nc/5dec/perf
lib: Performance improvements
2024-12-10 14:04:02 -08:00
David DuongandGitHub 02f1904ba7 Merge pull request #2699 from langchain-ai/dqbd/sdk-js-0.0.32
feat(sdk-js): bump to 0.0.32
2024-12-11 02:00:21 +04:00
Nuno Campos 30f852e7b2 Fix 2024-12-10 13:56:26 -08:00
Tat Dat Duong 7fc6c4b1fa feat(sdk-js): bump to 0.0.32 2024-12-10 22:52:51 +01:00
Nuno Campos 7f8ec2c590 Fix 2024-12-10 13:46:45 -08:00
Vadym BardaandGitHub 611588613d docs: add an FAQ note for command vs cond edge (#2697) 2024-12-10 15:16:02 -05:00
Nuno Campos 11e80210a2 lib: Performance improvements
- don't create contextvars.Context/asyncio.Task in RunnableSeq (not needed as each step creates it if necessary)
- don't run in-memory-saver methods in background threads (no point as they hold the gil)
- avoid calling should_interrupt when no interrupts set
2024-12-10 11:40:24 -08:00
Nuno CamposandGitHub 60d742ea48 Merge pull request #2683 from langchain-ai/nc/9dec/invoke-command-goto
lib: Add support for invoke(Command(goto=<str>))
2024-12-10 11:39:10 -08:00
Nuno Campos a7ac9ffd4e Update test 2024-12-10 11:31:41 -08:00
Vadym BardaandGitHub 3d97b97c86 fix typo (#2696) 2024-12-10 14:19:23 -05:00
Nuno CamposandGitHub a7d1ecbb74 Merge pull request #2693 from langchain-ai/eugene/fix_test
langgraph[patch]: Fix unit test for Command(update)
2024-12-10 11:09:11 -08:00
vbarda 61f362f16e update dynamic breakpoints 2024-12-10 14:07:08 -05:00
Eugene YurtsevandNuno Campos 7cabc0a3dc reformat 2024-12-10 11:04:07 -08:00
Eugene YurtsevandNuno Campos f9cdfd3ac4 x 2024-12-10 11:03:56 -08:00
Eugene YurtsevandNuno Campos dd778f8ed6 qxqx 2024-12-10 11:03:56 -08:00
Nuno Campos df5d08f689 Fix 2024-12-10 11:03:01 -08:00
Nuno Campos a9b94f93ee Update again 2024-12-10 11:03:01 -08:00
Nuno Campos 5f869b9e75 Update test 2024-12-10 11:03:01 -08:00
Nuno Campos 79562f3f37 lib: Add support for invoke(Command(goto=<str>)) 2024-12-10 11:03:01 -08:00
Nuno Campos 081b2cbdcf Fix 2024-12-10 11:01:25 -08:00
Eugene YurtsevandNuno Campos 70eeb2a670 x 2024-12-10 11:00:58 -08:00
Nuno CamposandGitHub 0f287d986b Merge pull request #2695 from langchain-ai/nc/10dec/multistep-plan
lib: Add unit test for multistep planner graph
2024-12-10 10:54:37 -08:00
Nuno CamposandGitHub 1fd9da6718 Merge pull request #2691 from langchain-ai/dqbd/enhanced-config-type-extraction
fix(config): extract default values, description from pydantic models, typeddict and dataclass
2024-12-10 10:44:24 -08:00
Nuno Campos ef6c5b4711 lib: Add unit test for multistep planner graph 2024-12-10 10:40:49 -08:00
Eugene Yurtsev 77fe51fbe4 Merge branch 'main' into eugene/document_interrupt 2024-12-10 13:17:47 -05:00
Vadym BardaandGitHub 70a5ef6713 docs: small updates (#2694) 2024-12-10 12:02:24 -05:00
Tat Dat Duong 17c1a8db46 Fix lint 2024-12-10 17:42:01 +01:00
Vadym BardaandGitHub 97a51014c3 docs: add a how-to on updating state from tools (#2670) 2024-12-10 11:20:50 -05:00
Tat Dat Duong 5a30fc6a87 Handle PydanticUndefined, add tests 2024-12-10 17:06:37 +01:00
Tat Dat Duong 1f68bd0d83 Move to langgraph.utils.fields 2024-12-10 16:49:05 +01:00
vbarda fdfc5d9cda Revert "langgraph: release 0.2.58 (#2692)"
This reverts commit a9f5507006.
2024-12-10 10:35:01 -05:00
Vadym BardaandGitHub 1c3f65c931 docs: add tool use for Command concepts (#2669)
To be merged after #2656
2024-12-10 10:22:17 -05:00
Vadym BardaandGitHub a9f5507006 langgraph: release 0.2.58 (#2692) 2024-12-10 10:19:59 -05:00
Vadym BardaandGitHub 59bfa5d009 langgraph: allow tools to return Command in tool node (#2656) 2024-12-10 10:18:04 -05:00
Tat Dat Duong b4f11929f8 fix(config): extract default values, description from pydantic models, typeddict and dataclass 2024-12-10 15:24:56 +01:00
Vadym BardaandGitHub 038bec2e78 update callout (#2689) 2024-12-09 23:27:44 -05:00
Eugene Yurtsev 01cdb60b5d x 2024-12-09 23:14:19 -05:00
Eugene Yurtsev 5bfb9af5fe x 2024-12-09 22:53:35 -05:00
Eugene Yurtsev ac48612abb x 2024-12-09 22:51:06 -05:00
Eugene Yurtsev 73fb725f0c add pngs 2024-12-09 22:50:33 -05:00
Eugene Yurtsev b98a1337a5 x 2024-12-09 22:50:16 -05:00
Vadym BardaandGitHub c2a41039de docs: remove GraphCommand references (#2688) 2024-12-09 22:44:47 -05:00
33fe467d1f lib: Treat Command as "resuming" signal (#2682)
- so it works w interrupt_before/after

---------

Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-12-09 21:22:53 -05:00
Vadym BardaandGitHub 43b6c06f5c docs: update Command concept doc (#2686) 2024-12-09 21:19:16 -05:00
Vadym BardaandGitHub d81dec653d docs: temporarily fix link (#2685) 2024-12-09 21:09:32 -05:00
Vadym BardaandGitHub e1d8c6b113 docs: update multi-agent concept doc (#2684) 2024-12-09 21:01:14 -05:00
Vadym BardaandGitHub a64f9f80c0 docs: add a how to for multi-agent network (#2675) 2024-12-09 20:18:29 -05:00
Eugene Yurtsev a879de51f1 x 2024-12-09 18:13:39 -05:00
Eugene Yurtsev 60ab76c3e9 x 2024-12-09 18:12:17 -05:00
Eugene Yurtsev 09e9117674 x 2024-12-09 17:24:59 -05:00
Eugene Yurtsev acac19b95b x 2024-12-09 16:49:51 -05:00
Eugene Yurtsev 723bcfeaa2 x 2024-12-09 15:27:00 -05:00
Eugene Yurtsev c279421cbf x 2024-12-09 14:46:06 -05:00
Tat Dat Duong df1e48154a feat(studio): add Add to Dataset docs 2024-12-09 19:22:41 +01:00
Eugene Yurtsev d0bf7837bd x 2024-12-09 11:25:21 -05:00
Nuno CamposandGitHub a403e802fa Merge pull request #2679 from langchain-ai/nc/9dec/imperative-generator
lib: imperative api: Generators use yield to publish stream_mode=custom events
2024-12-09 08:22:31 -08:00
Nuno Campos e0a0958a60 lib: imperative api: Generators use yield to publish stream_mode=custom events 2024-12-09 08:14:41 -08:00
William FHandGitHub 3f1bdb9ebf Add sync support for the AsyncPostgresStore (#2673) 2024-12-09 07:12:52 -08:00
Nuno Campos b37c9d8a01 0.2.57 2024-12-07 11:49:10 -08:00
Nuno CamposandGitHub 1af1911aad Merge pull request #2378 from langchain-ai/nc/8nov/send-future
Imperative API
2024-12-07 11:48:45 -08:00
Eugene Yurtsev b4f7e06a1d x 2024-12-06 22:42:41 -05:00
Eugene Yurtsev 1dda28f8fb x 2024-12-06 22:31:28 -05:00
Eugene Yurtsev cc4718c5cb x 2024-12-06 22:31:18 -05:00
Eugene Yurtsev 0d580bdac7 x 2024-12-06 22:31:11 -05:00
Eugene Yurtsev a19d06e18c x 2024-12-06 17:00:18 -05:00
Eugene Yurtsev e16312da3f x 2024-12-06 16:52:33 -05:00
Nuno CamposandGitHub 6784a5a5b1 Merge pull request #2667 from langchain-ai/nc/6dec/support-mixed-list
lib: Support returning mixed list of commands and state updates
2024-12-06 08:31:03 -08:00
Nuno Campos 4e0e9a4eff Fix 2024-12-06 08:20:41 -08:00
Nuno Campos 015bf5e0a6 Add tests, missing return stmt 2024-12-06 08:17:50 -08:00
Nuno Campos 85fc26db43 lib: Support returning mixed list of commands and state updates 2024-12-06 08:03:26 -08:00
Vadym BardaandGitHub 5fa80e2a92 docs: update multi-agent tutorials to use Command (#2643) 2024-12-06 15:18:12 +00:00
Eugene Yurtsev 5e13460604 x 2024-12-05 23:31:54 -05:00
Eugene Yurtsev 750b97349e x 2024-12-05 21:32:10 -05:00
Eugene Yurtsev 6230c46830 x 2024-12-05 21:27:18 -05:00
William FHandGitHub 93e4c8cc1f Create index concurrently (#2659) 2024-12-05 15:56:39 -08:00
Nuno CamposandGitHub b7e441d781 Merge pull request #2658 from langchain-ai/nc/5dec/return-multiple-commands
lib: Add support for returning multiple commands from a node
2024-12-05 15:16:06 -08:00
Nuno Campos ccd8920eef Lint 2024-12-05 15:09:13 -08:00
Vadym BardaandGitHub 0c379d6cc7 fix docstring (#2660) 2024-12-05 17:55:25 -05:00
Eugene Yurtsev 01b1080b6e x 2024-12-05 17:26:55 -05:00
Eugene Yurtsev 62ff2eb32d x 2024-12-05 17:16:34 -05:00
Nuno Campos 1f745ca017 Lint 2024-12-05 13:50:42 -08:00
Nuno Campos aa4fea48dd lib: Add support for returning multiple commands from a node 2024-12-05 13:47:38 -08:00
Eugene Yurtsev 4fd261765a x 2024-12-05 15:46:26 -05:00
William FHandGitHub 0f0e31df24 Nicer item repr (#2655) 2024-12-05 10:52:44 -08:00
Nuno CamposandGitHub a275ab26d3 Merge pull request #2468 from cab938/issue2159
feat: Make CompiledGraph displayable in Jupyter with display()
2024-12-05 10:03:40 -08:00
William FHandGitHub b3bf4dd43c [docs] Update guidance on min bounds for deployment (#2652) 2024-12-05 17:50:36 +00:00
David DuongandGitHub b7fd391811 Merge pull request #2653 from langchain-ai/dqbd/sdk-command
fix(sdk-js): rename Command["send"] to `goto`
2024-12-05 20:49:47 +04:00
Tat Dat Duong cf961a286c fix(sdk-js): rename Command["send"] to goto 2024-12-05 17:14:07 +01:00
Vadym BardaandGitHub 4b83103cf2 docs: relax pinned version in langgraph server tutorial (#2651) 2024-12-05 09:11:00 -05:00
William FHandGitHub 1a46537c3a Codeblock ref rendering (#2649) 2024-12-05 05:48:00 -08:00
Eugene Yurtsev 0a49f3003b x 2024-12-04 22:57:48 -05:00
Eugene Yurtsev e80098e297 x 2024-12-04 22:38:55 -05:00
Eugene Yurtsev 3d3647cd85 x 2024-12-04 22:36:43 -05:00
Eugene Yurtsev 291379dfb9 x 2024-12-04 22:32:11 -05:00
Eugene Yurtsev 9f93e48a67 x 2024-12-04 22:19:32 -05:00
Eugene Yurtsev de123d66a5 Merge branch 'main' into eugene/document_interrupt 2024-12-04 21:30:55 -05:00
Nuno CamposandGitHub 759a712f57 Merge pull request #2502 from langchain-ai/vb/fix-annotation
langgraph: fix issue w/ type annotations in tools_condition
2024-12-04 20:47:21 -05:00
Nuno Campos 9f73dfa8d5 Fix 2024-12-04 17:43:05 -08:00
Nuno CamposandGitHub 4459952e72 Merge branch 'main' into issue2159 2024-12-04 20:42:03 -05:00
Nuno Campos 8ef82f3578 Update 2024-12-04 17:40:27 -08:00
Nuno CamposandGitHub 73e3f5a5b0 Merge pull request #2517 from langchain-ai/eugene/how_to_use_tempalte
docs: Add template quickstart
2024-12-04 20:37:04 -05:00
Nuno Campos a54587cff5 Remove unknown arg 2024-12-04 17:33:54 -08:00
Nuno Campos 63ea71548b sdk-py 0.1.43 2024-12-04 17:27:24 -08:00
Nuno CamposandGitHub f32cf5e984 Merge pull request #2642 from langchain-ai/nc/4dec/fix-stream-params
sdk-py: Handle stream(params=)
2024-12-04 20:26:59 -05:00
Nuno Campos d1aaa9de8c sdk-py: Handle stream(params=) 2024-12-04 17:25:51 -08:00
Nuno Campos f40a2d71ec lib 0.2.56 2024-12-04 17:15:17 -08:00
Nuno CamposandGitHub b5a9e9da55 Merge pull request #2635 from langchain-ai/vb/add-graph-command-docs
docs: add Command docs
2024-12-04 20:14:35 -05:00
vbarda 1eeb90ae0d cr 2024-12-04 19:41:21 -05:00
William FHandGitHub cd875291ad Link to conceptual doc (#2641) 2024-12-05 00:21:01 +00:00
e9cd216887 Update docs/docs/concepts/low_level.md
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-12-04 19:18:37 -05:00
7651f1ab1c Update libs/langgraph/langgraph/types.py
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-12-04 19:17:22 -05:00
1a492f727c Update libs/langgraph/langgraph/types.py
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-12-04 19:16:33 -05:00
6caaa8cea7 Update libs/langgraph/langgraph/types.py
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-12-04 19:16:26 -05:00
Vadym BardaandGitHub f028984b2e langgraph: remove print (#2640) 2024-12-04 19:07:50 -05:00
vbarda 085395c824 rename 2024-12-04 19:04:42 -05:00
vbarda 19a6e894eb more updates 2024-12-04 19:02:49 -05:00
vbarda 5570121c83 update 2024-12-04 18:56:46 -05:00
vbarda 257e44ccb4 update 2024-12-04 18:54:57 -05:00
Eugene YurtsevandGitHub dad0f39fa4 concepts: reword network architecture (#2625) 2024-12-04 23:49:17 +00:00
Nuno Campos 7a326ef768 lib 0.2.55 2024-12-04 15:44:24 -08:00
Nuno Campos 2fa2469967 Update 2024-12-04 15:39:16 -08:00
Nuno Campos de86a46b3d Comment 2024-12-04 15:39:16 -08:00
Nuno Campos 9733db03c5 Wait until next tick to start send task 2024-12-04 15:39:16 -08:00
Nuno Campos e1f65012e6 Fix 2024-12-04 15:39:16 -08:00
Nuno Campos eb593d47dd Fix writes for task being saved against next checkpoint id 2024-12-04 15:39:16 -08:00
Nuno Campos 4e8f4ce440 Update 2024-12-04 15:39:16 -08:00
Nuno Campos 007d7e72b1 Add test for cancellation 2024-12-04 15:39:16 -08:00
Nuno Campos 2b77fdabee Lint 2024-12-04 15:39:16 -08:00
Nuno Campos 40d16593c7 Lint 2024-12-04 15:39:16 -08:00
Nuno Campos ec7bbe14b2 Lint 2024-12-04 15:39:16 -08:00
Nuno Campos 4c6323c585 Lint 2024-12-04 15:39:16 -08:00
Nuno Campos 2fe38f3940 Fix get_state 2024-12-04 15:39:16 -08:00
Nuno Campos 09ca964714 Wire up retry policy 2024-12-04 15:39:16 -08:00
Nuno Campos 0663d46c47 Rename 2024-12-04 15:39:16 -08:00
Nuno Campos a91dbf9b70 Lint 2024-12-04 15:38:43 -08:00
Nuno Campos d93be914c7 Fix stream order 2024-12-04 15:38:43 -08:00
Nuno Campos 287c29fbdc Fix async 2024-12-04 15:38:15 -08:00
Nuno Campos 90dd2b01b6 Comment 2024-12-04 15:38:15 -08:00
Nuno Campos a443b3b256 Fix 2024-12-04 15:38:15 -08:00
Nuno Campos 2e9aea6fc8 Lint 2024-12-04 15:38:15 -08:00
Nuno Campos 2895a69678 Lint 2024-12-04 15:38:15 -08:00
Nuno Campos 76a209835f Comments 2024-12-04 15:37:56 -08:00
Nuno Campos 872f54adf1 Get it working with interrupt (sync) 2024-12-04 15:37:56 -08:00
Nuno Campos 01a3c23a29 WIP 2024-12-04 15:37:56 -08:00
Nuno Campos 0461d45d76 Finish impl 2024-12-04 15:37:31 -08:00
Nuno Campos 7d8205633d Add call function to call a node and get a future
- Whereas Send is for fire-and-forget type of calls, new `call` and `acall` functions are for flows where you want to wait for the node to finish before doing something else
- Because we return regular python future objects (concurrent.futures.Future or asyncio.Future) all the python primitives for working with futures work, eg. wait, gather, etc
2024-12-04 15:37:31 -08:00
vbarda 797b919cf9 Merge branch 'main' into vb/add-graph-command-docs 2024-12-04 18:37:20 -05:00
Nuno CamposandGitHub 574ffb02fc Merge pull request #2639 from langchain-ai/nc/4dec/speed-up-tests
Speed up tests
2024-12-04 18:37:03 -05:00
Nuno Campos 771b9b28cd Speed up tests 2024-12-04 15:29:51 -08:00
Nuno CamposandGitHub dcc2617396 Merge pull request #2638 from langchain-ai/nc/4dec/command
lib: Merge GraphCommand and Command
2024-12-04 18:26:11 -05:00
Nuno Campos df70e91dae Lint 2024-12-04 15:13:55 -08:00
Nuno Campos b4b3ac6f57 lib: Merge GraphCommand and Command
- Now we have only Command
- Command(goto=) combines the previous functionality of Command(send=) and Command(goto=)
2024-12-04 15:12:03 -08:00
Nuno CamposandGitHub 78e6b36b1a Merge pull request #2636 from langchain-ai/nc/4dec/interrupt-loop
lib: Add support for multiple interrupts per node
2024-12-04 17:58:26 -05:00
William FHandGitHub d457ad3cc2 Clean up code snippet (#2637) 2024-12-04 14:50:23 -08:00
Nuno Campos 5c7a6689af Update tests 2024-12-04 14:41:30 -08:00
Nuno Campos fb01d65dc0 Lint 2024-12-04 14:31:22 -08:00
Eugene Yurtsev c75bfc1032 x 2024-12-04 17:22:09 -05:00
Eugene Yurtsev 6dc70b703d x 2024-12-04 17:21:47 -05:00
Eugene Yurtsev eb09909c22 x 2024-12-04 17:21:31 -05:00
Nuno Campos ea5ccd7a80 lib: Add support for multiple interrupts per node
- Includes support for interrupt loops
2024-12-04 14:15:30 -08:00
vbarda d52bb911a4 lint 2024-12-04 16:50:56 -05:00
Vadym BardaandGitHub 89a739e12b Merge branch 'main' into vb/add-graph-command-docs 2024-12-04 16:48:05 -05:00
vbarda 0fdf3c9daf cr 2024-12-04 16:47:51 -05:00
vbarda 90eab07ded docs: add Command/GraphCommand docs 2024-12-04 15:46:40 -05:00
William FHandGitHub 962a969fba Update link (#2634) 2024-12-04 12:09:04 -08:00
William FHandGitHub c89e84fb6a nit: Spelling (#2633) 2024-12-04 10:24:35 -08:00
William FHandGitHub 3ff1f81333 Add doc to index (#2632) 2024-12-04 18:19:14 +00:00
Vadym BardaandGitHub 851e6d1d4c issue template: replace langchain w/ langgraph (#2631) 2024-12-04 12:51:00 -05:00
William FHandGitHub e5e659c590 Add langgraph.json snippet to concept doc (#2630) 2024-12-04 17:11:13 +00:00
Eugene YurtsevandGitHub 8db6a78ad9 ci: update bug template (#2626) 2024-12-04 12:08:21 -05:00
Nuno CamposandGitHub 9ab5fbc0f8 Merge pull request #2627 from langchain-ai/nc/4dec/state-ensure-config
lib: Call ensure_config in state crud methods
2024-12-04 11:53:03 -05:00
William FHandGitHub c141f0fdf0 Add memory how-to (#2629) 2024-12-04 08:39:53 -08:00
William FHandGitHub 830557d6b7 Clarify behavior in docstring (#2628) 2024-12-04 16:38:09 +00:00
Nuno Campos e5b00cdd1e Fix 2024-12-04 08:30:10 -08:00
Nuno Campos 8eea7ac401 lib: Call ensure_config in state crud methods
- this ensures that config from context vars is merged in
2024-12-04 08:15:01 -08:00
William FHandGitHub c322f7ffa6 Add Memory Store conceptual doc section (#2624)
On semantic search
2024-12-04 15:19:49 +00:00
William FHandGitHub e6c83abecd Fix ref doc formatting (#2623) 2024-12-04 06:55:15 -08:00
ACMCMCandGitHub a8db511e24 Fix typo (#2620) 2024-12-04 06:30:05 -08:00
湛露先生andGitHub 84d33f9621 Fix typos in langgraph_sdk client. (#2621)
Fix typos in langgraph_sdk client.

Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
2024-12-04 06:29:28 -08:00
William FHandGitHub 9220049b35 Add store langgraph.json config ref (#2622) 2024-12-04 06:28:54 -08:00
William FHandGitHub 879df6b52c [JS] Update SDK version (#2619) 2024-12-03 23:01:19 -08:00
William FHandGitHub 9b8bf70d9e Add link to local studio testing (#2617) 2024-12-04 04:36:59 +00:00
Phoenix LoganandGitHub aca67107c1 fix: make database saver classes inheritance-friendly (#2615)
Replace hardcoded database saver class names with `cls` in
`from_conn_string` factory methods to improve subclassing support

## Changes
* Replaced direct class instantiations with `cls(conn)` in
`from_conn_string` classmethods across all database implementations
* Updated both synchronous and asynchronous variants for DuckDB,
PostgreSQL, and SQLite savers

## Why
This refactor makes the database saver classes more extensible by
following Python's convention of using `cls` in class methods. This
enables proper inheritance patterns where subclasses can reuse the
factory methods without needing to override them. Previously, the
hardcoded class names would always instantiate the parent class, even
when called from a subclass.

## Testing
The change is backward compatible and doesn't alter existing
functionality. All existing tests should continue to pass as this is
purely a structural refactoring that preserves the current behavior
while improving extensibility.

## Notes
This PR addresses follow up on comments from #2518 - AsyncPostgresSaver
didn't need to be fixed but many of the other DB saver classes did.
2024-12-03 20:26:06 -08:00
William FHandGitHub 5fa196ab38 Update docstrings for store classes (#2616) 2024-12-03 19:51:25 -08:00
Nuno CamposandGitHub 584d9271ce Merge pull request #2614 from langchain-ai/nc/3dec/handle-command
Handle Command returned from node (in addition to GraphCommand)
2024-12-03 19:05:05 -05:00
Nuno Campos 1bee33db3a Fix 2024-12-03 15:52:41 -08:00
Nuno Campos a203ddecf7 Handle Command returned from node (in addition to GraphCommand) 2024-12-03 15:48:59 -08:00
Vadym BardaandGitHub 5e3c326424 langgraph: bump sdk, release 0.2.54 (#2613) 2024-12-03 16:38:59 -05:00
Nuno CamposandGitHub 86407aa6e8 Merge pull request #2071 from langchain-ai/brace/doc-nits
fix(docs): Small nits & typo fixes
2024-12-03 16:38:36 -05:00
Vadym BardaandGitHub 7a80d6cb87 sdk-py: release 0.1.42 (#2612) 2024-12-03 16:34:08 -05:00
Nuno Campos 70f323779e Update persistence.md 2024-12-03 16:26:36 -05:00
23d5162945 Update human_in_the_loop.md
Co-authored-by: Vadym Barda <vadym@langchain.dev>
2024-12-03 16:26:36 -05:00
bracesproulandNuno Campos 9d755f54e4 fix(docs): Small nits & typo fixes 2024-12-03 16:26:36 -05:00
Nuno CamposandGitHub 75cccc4fc4 Merge pull request #2589 from stneng/main
fix: get correct reducer when type has multiple metadata.
2024-12-03 16:23:33 -05:00
Nuno CamposandGitHub dd010e9230 Merge pull request #2593 from langchain-ai/nc/2dec/sdk-sse
sdk-py: Fix SSE parsing to split lines only \n \r , remove httpx-sse, fix missing decoder flush
2024-12-03 16:23:11 -05:00
Nuno CamposandGitHub 2d87195b59 Merge pull request #2611 from langchain-ai/vb/remote-graph-kwargs
langgraph: allow passing kwargs to SDK methods in RemoteGraph's invoke/stream
2024-12-03 16:21:09 -05:00
vbarda 515242d0ba langgraph: allow passing kwargs to SDK methods in RemoteGraph's invoke/stream 2024-12-03 15:40:18 -05:00
Nuno Campos 3bf92d0b03 Fix 2024-12-03 11:04:28 -08:00
William FHandGitHub 36b6cd1493 fix: Handle empty store similarity (numpy) (#2602) 2024-12-02 18:20:19 -08:00
William FHandGitHub 0361554fcf Bump Checkpoint Postgres (#2601) 2024-12-02 17:56:23 -08:00
4332a9515d Fixup initial provisioning of aio postgres db (#2571) (#2600)
fixes #2570

---------

Co-authored-by: Tai Groot <tai@taigrr.com>
2024-12-03 01:55:26 +00:00
Nuno CamposandGitHub 64b99c187a Merge pull request #2544 from langchain-ai/brace/type-interrupts-py
fix(sdk-py): Add typing for interrupts
2024-12-02 20:52:19 -05:00
Nuno CamposandGitHub afa37d2059 Merge pull request #2552 from langchain-ai/vb/remove-assertion
langgraph: relax graph validation to handle nodes without return typehints
2024-12-02 20:51:50 -05:00
Nuno CamposandGitHub b80933c5fb Merge branch 'main' into main 2024-12-02 20:50:44 -05:00
Nuno CamposandGitHub d70b659adb Merge pull request #2430 from langchain-ai/nc/15nov/command-subgraph
Handle interrupt/resume for subgraphs
2024-12-02 20:45:40 -05:00
William FHandGitHub 15f0765d60 Add IVFFlat and HNSW support (#2598)
It seems that actually once i moved the operators & other things out,
the query planner does do reasonable things and do sequential scanning
if filtered N < some size but the index otherwise, even with namespace
filtering.
2024-12-02 17:42:29 -08:00
fe538d4bcb docs: Use edit mode as default to install template (#2590)
Small change to install the dependencies with `edit` mode so that users
or freshman can see the effect immediately when they change the template
code. As below,
`pip install -e .`

It's very good to evaluate how agent works and easy to test &
re-develop!

---------

Signed-off-by: Mingqi Hu <mingqi.hu@intel.com>
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2024-12-02 17:36:13 -08:00
Nuno CamposandGitHub 4e26a5cf2e Merge pull request #2597 from langchain-ai/nc/2dec/remote-command
lib: Handle Command in RemoteGraph
2024-12-02 20:34:08 -05:00
William FHandGitHub 20f091a277 [postgres] Sort Ascending (#2594)
Adds a few of preliminaries:
1. Makes the returned "score" actually the result of the requested
operation (cosine, inner_product, l2)
2. Sorts asc, etc. so that if you were to add an HNSW index (and not
have any WHERE filters), it would be used
3. Drop the inner WHERE statement if no namespace or other filters are
provided. See (2) for why.
I don't yet add an index to the migrations since I think we need to
agree on the right balance to ensure it's actually used in common query
patterns.
2024-12-03 01:08:24 +00:00
Nuno Campos 0071bd1e1c Lint 2024-12-02 17:01:12 -08:00
Nuno Campos d36e6ceaaf Fix 2024-12-02 16:59:38 -08:00
Nuno Campos a3feaef2eb lib: Handle Command in RemoteGraph 2024-12-02 16:45:07 -08:00
David DuongandGitHub c6fe26510e Merge pull request #2596 from langchain-ai/dqbd/sdk-cancel-on-disconnect
feat(sdk): pass cancel on disconnect when joining stream
2024-12-03 04:45:00 +04:00
Nuno Campos efbd02a27d Implement support for interrupt/resume in subgraphs 2024-12-02 16:43:35 -08:00
Tat Dat Duong a91bf116cb Bump to 0.1.41 2024-12-03 01:31:55 +01:00
Tat Dat Duong 6a6c3ed84c Bump to 0.0.30 2024-12-03 01:31:11 +01:00
Tat Dat Duong 988dd237d2 feat(sdk): pass cancel on disconnect when joining stream 2024-12-03 01:17:15 +01:00
David DuongandGitHub 63f5f15c04 Merge pull request #2592 from langchain-ai/dqbd/sdk-list-runs-by-status
feat(sdk): add ability to search runs via status
2024-12-03 04:03:29 +04:00
Nuno Campos 6fc1c602ab Add one more 2024-12-02 13:53:44 -08:00
Nuno Campos 2b65308508 WIP: Handle commands for subgraphs 2024-12-02 13:53:44 -08:00
Nuno Campos 3cee1d5087 Remove httpx_sse, fix missing flush of sse decoder 2024-12-02 12:03:31 -08:00
Nuno Campos 2ce2021c39 Revert "Revert "sdk-py: Fix SSE parsing to split lines only \n \r \r\n per SSE spec""
This reverts commit 53ec7c41b2.
2024-12-02 11:29:06 -08:00
Tat Dat Duong 46dd424a7e feat(sdk): add ability to search runs via status 2024-12-02 19:53:58 +01:00
stneng 363c6e2e4c fix 2024-12-01 16:07:15 -08:00
Vadym BardaandGitHub 784821705b checkpoint-postgres: pin psycopg >= 3.2.0 (#2580) 2024-11-29 11:30:19 -05:00
William FHandGitHub 65172c2a43 [CLI] Nonblocking debugpy mode (#2573) 2024-11-28 12:24:00 -08:00
William FHandGitHub 1130c3accb [CLI] Add Store config to CLI (#2548) 2024-11-28 01:58:18 -08:00
William FHandGitHub ee8653d1c5 [SDK] Add SearchItem (#2567) 2024-11-27 22:50:52 -08:00
William FHandGitHub 12486d977a Update postgres-checkpoint min bounds (#2564) 2024-11-27 22:31:16 -08:00
William FHandGitHub c87f9ab6b1 Fix sentence fragment (#2566) 2024-11-27 22:31:03 -08:00
William FHandGitHub 855a3d21ff Update Checkpoint Version (#2565) 2024-11-27 20:50:11 -08:00
William FHandGitHub d767af421b feat: Add vector search (#2535)
- Initializing the store with an 'embedding config' -> this contains the
'dims' (used to create the table) and the encoder object (rn langchain
embeddings object, though that is ......)
- Call setup() -> creates the vector table.

Each document has 1 or more vectors associated with it for each json
path in the embedding config.

Would welcome critique and requests! 

Leaving the params as the defaults for pgvector but open to feedback if
you think it's important to be able to more transparently configure that
in setup()

```python
from typing import TypedDict, List, Dict, Any, Optional

from langchain_openai import OpenAIEmbeddings
from langgraph.graph import StateGraph
from langgraph.store.postgres import PostgresStore

emb_config = {
    "dims": 1536,  # OpenAI embedding dimensions
    "embed": OpenAIEmbeddings(model="text-embedding-3-small"),
    "distance_type": "cosine",
}
with PostgresStore.from_conn_string(
    "postgres://postgres:postgres@localhost:5441",
    embedding=emb_config,
) as store:
    store.setup()


# Define the state type for our graph
class State(TypedDict):
    query: str
    results: Optional[List[Dict[str, Any]]]


def put_stuff(state: State) -> State:
    docs = [
        ("doc1", {"text": "red apple in kitchen"}),
        ("doc2", {"text": "blue car in garage"}),
        ("doc3", {"text": "green apple on table"}),
    ]
    for key, value in docs:
        store.put(("docs",), key, value)


def search_stuff(state: State) -> State:
    """Search for documents using vector similarity."""
    results = store.search(("docs",), query=state["query"])

    return {"results": results}


builder = StateGraph(State)
builder.add_node(put_stuff)
builder.add_node(search_stuff)
builder.add_edge("__start__", "put_stuff")
builder.add_edge("put_stuff", "search_stuff")
# Compile
with PostgresStore.from_conn_string(
    "postgres://postgres:postgres@localhost:5441",
    embedding=emb_config,
) as store:
    chain = builder.compile(store=store)

    result = chain.invoke({"query": "sour apple"})

# Print results
for doc in result["results"]:
    print(doc.key)
    print(doc.value)
    print(doc.response_metadata)

```
2024-11-28 04:40:12 +00:00
Nuno CamposandGitHub 07ac016e60 Merge pull request #2562 from langchain-ai/nc/27nov/revert-sdk
Revert "sdk-py: Fix SSE parsing to split lines only \n \r \r\n per SSE spec"
2024-11-27 17:36:07 -08:00
Nuno Campos 4576a259dd sdk-py 0.1.39 2024-11-27 17:32:07 -08:00
Nuno Campos 53ec7c41b2 Revert "sdk-py: Fix SSE parsing to split lines only \n \r \r\n per SSE spec"
This reverts commit dc09b13400.
2024-11-27 17:31:21 -08:00
Nuno Campos 769f6a1925 Fix 2024-11-27 15:59:48 -08:00
William FHandGitHub 62a36befd5 Add in-mem vector search (#2547) 2024-11-27 14:53:24 -08:00
Andrew NguonlyandGitHub dfaff2511b docs: Update API docs and remove unused pages (#2561) 2024-11-27 14:39:12 -08:00
Nuno Campos 1d9a0d1e4e sdk-py 0.1.37 2024-11-27 14:17:15 -08:00
Nuno CamposandGitHub 35c7eb18ee Merge pull request #2560 from langchain-ai/nc/27nov/fix-sse-parser
sdk-py: Fix SSE parsing to split lines only \n \r \r\n per SSE spec
2024-11-27 14:16:43 -08:00
Nuno Campos dc09b13400 sdk-py: Fix SSE parsing to split lines only \n \r \r\n per SSE spec 2024-11-27 14:10:50 -08:00
Nuno CamposandGitHub b2d8acffc4 Merge pull request #2558 from langchain-ai/nc/27nov/exc-note
lib: Add exception note identify node/task
2024-11-27 12:57:03 -08:00
Nuno Campos 1031e54860 lib: Add exception note identify node/task 2024-11-27 12:44:31 -08:00
Jacob LeeandGitHub 7ac365ea84 fix(sdk-js): Avoid retrying 402s (#2554) 2024-11-27 19:33:23 +00:00
Vadym BardaandGitHub 5144b8f374 langgraph: allow create_react_agent to take empty tools (#2553) 2024-11-27 12:54:59 -05:00
Vadym BardaandGitHub f4a9d17d24 Merge branch 'main' into vb/remove-assertion 2024-11-27 10:02:24 -05:00
vbarda f416480e9d nit 2024-11-27 10:01:24 -05:00
vbarda 61e47cb137 langgraph: relax graph validation to handle nodes without return typehints 2024-11-27 09:56:04 -05:00
Brace SproulandGitHub d4bbb66963 Merge branch 'main' into brace/type-interrupts-py 2024-11-26 13:01:41 -08:00
Nuno CamposandGitHub 4b1b3cecb4 Merge pull request #2546 from langchain-ai/jacob/jsenv
fix(js): Adds fallback for fetching environment variables
2024-11-26 12:34:18 -08:00
jacoblee93 c6a953c02a Bump version 2024-11-26 12:31:00 -08:00
jacoblee93 16b955dee2 Adds fallback for fetching environment variables 2024-11-26 12:30:33 -08:00
Brace SproulandGitHub 877124f7df Merge pull request #2545 from langchain-ai/release
release(sdk-js): 0.0.27
2024-11-26 11:54:45 -08:00
bracesproul d3a4865c0e release(sdk-js): 0.0.27 2024-11-26 11:42:20 -08:00
Brace SproulandGitHub 45b5f386e5 Merge branch 'main' into brace/type-interrupts-py 2024-11-26 11:41:07 -08:00
bracesproul a1ec55abc5 fix(sdk-py): Add typing for interrupts 2024-11-26 11:40:47 -08:00
Brace SproulandGitHub a3761ac522 Merge pull request #2543 from langchain-ai/brace/type-interrupts
fix(sdk-js): Add typing for interrupts on threads
2024-11-26 11:40:34 -08:00
bracesproul 376c58ff3b expose interupt type 2024-11-26 11:28:50 -08:00
bracesproul 58b99c899e cr 2024-11-26 11:28:19 -08:00
bracesproul 2ee279a977 fix(sdk-js): Add typing for interrupts on threads 2024-11-26 11:26:18 -08:00
William FHandGitHub f04ce5d1ee [CLI] Add python-dotenv for inmem group (#2540) 2024-11-26 07:56:57 -08:00
William FHandGitHub 8f649abd0a Release PG Checkpointer (#2536) 2024-11-26 01:44:45 +00:00
William FHandGitHub 1febec7c0d Dedup store batch operations (#2534) 2024-11-25 16:31:26 -08:00
Nuno CamposandGitHub a4eb4c6942 Merge pull request #2520 from langchain-ai/nc/22nov/parent-command
lib: Add Command(graph=Command.PARENT, ...)
2024-11-25 15:39:51 -08:00
Nuno Campos 8e1cd0e225 Add test 2024-11-25 14:11:20 -08:00
98935e1ffd fix: Fix race condition in PostgresSaver (#2494)
Signed-off-by: Tyler Ball <tyleraball@gmail.com>
Co-authored-by: Phoenix Logan <plogan@chanzuckerberg.com>
Co-authored-by: Tyler Ball <2481463+tyler-ball@users.noreply.github.com>
2024-11-25 20:19:52 +00:00
William FHandGitHub 328ef609af [CLI] Python path (#2531) 2024-11-25 11:59:49 -08:00
Talha MunirandGitHub 486d5412af docs: Fix grammatical mistake in introduction.ipynb (#2521) 2024-11-23 14:37:55 -05:00
Nuno Campos abc0c8c223 Fix 2024-11-22 16:35:20 -08:00
Nuno Campos 5bbb9dae57 Fix 2024-11-22 16:34:55 -08:00
Nuno Campos fed60e713c lib: Add Command(graph=Command.PARENT, ...)
- This makes the command bubble up out of the current graph and be handled by the calling graph (the immediate parent)
- This could be extended to support eg. ROOT graph, or some other level
2024-11-22 16:28:43 -08:00
Eugene YurtsevandGitHub 4f4e7a6981 docs: more fixes for python version (#2515) 2024-11-22 19:50:31 +00:00
Eugene Yurtsev f08155d60b x 2024-11-22 14:43:28 -05:00
Eugene Yurtsev 24b16908b7 x 2024-11-22 14:43:08 -05:00
Eugene Yurtsev c1c2ce8f1b x 2024-11-22 14:42:36 -05:00
Eugene Yurtsev 3efd4f3406 Merge branch 'main' into eugene/how_to_use_tempalte 2024-11-22 14:21:07 -05:00
Eugene Yurtsev f122ae2eb1 qxqx 2024-11-22 14:20:56 -05:00
3351d4f6c5 docs: fix typo (#2510)
`python-dotenv` not `python-dot-env`

Signed-off-by: Mingqi <mingqi.hu@intel.com>
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-11-22 14:17:59 -05:00
Eugene YurtsevandGitHub b4900341e4 docs: fix broken link (#2514)
We need to check later why CI didn't fail with original PR that broke
the link
2024-11-22 14:07:54 -05:00
Eugene Yurtsev 05791f5dfc qxqx 2024-11-22 13:26:46 -05:00
Eugene Yurtsev 416dfe95da qxqx 2024-11-22 13:16:41 -05:00
Eugene YurtsevandGitHub 65f515e020 docs: add helm chart link (#2512) 2024-11-22 17:17:36 +00:00
Eugene YurtsevandGitHub 0d0665a6e3 docs: Add resource allocation (#2511) 2024-11-22 11:56:16 -05:00
Eugene YurtsevandGitHub 93b8525dc1 docs: fix link checker (#2508)
3rd attempt to fix localhost link
2024-11-21 21:59:43 -05:00
Eugene YurtsevandGitHub aeb6f784e1 docs: fix link checking? (#2506) 2024-11-21 21:21:30 -05:00
Nuno Campos 3eedeac0d4 Not red 2024-11-21 15:31:52 -08:00
Eugene YurtsevandGitHub b09e7b20b0 docs: do not check localhost links (#2505) 2024-11-21 23:28:24 +00:00
Eugene YurtsevandGitHub 26ce731eab docs: update README.md (#2474) 2024-11-21 22:48:12 +00:00
Eugene YurtsevandGitHub 55593446f8 docs: get started with langgraph platform (#2469) 2024-11-21 17:41:03 -05:00
vbarda 2d6ddd0a1d langgraph: fix issue w/ type annotations in tools_condition 2024-11-21 14:31:34 -05:00
William FHandGitHub 7082e2613e [CLI] Dotenv support (#2501) 2024-11-21 16:28:53 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>William FH
ceeb9636ee build(deps-dev): bump notebook from 7.0.7 to 7.2.2 in /libs/langgraph (#2411)
Bumps [notebook](https://github.com/jupyter/notebook) from 7.0.7 to
7.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/notebook/releases">notebook's
releases</a>.</em></p>
<blockquote>
<h2>v7.2.2</h2>
<h2>7.2.2</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.1...0426a897ad6b5708d73e6e49ea424076de2906a1">Full
Changelog</a>)</p>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Upgrade JupyterLab dependencies to v4.2.5 <a
href="https://redirect.github.com/jupyter/notebook/pull/7447">#7447</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2024-06-07&amp;to=2024-08-27&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​RRosio</code></a></p>
<h2>v7.2.1</h2>
<h2>7.2.1</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0...e881745c98ea0a0ea585df78f1ca8950a0edeaa2">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Remove pseudoelement obstructing the cell collapser <a
href="https://redirect.github.com/jupyter/notebook/pull/7392">#7392</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-16&amp;to=2024-06-07&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ameeseeksmachine+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​meeseeksmachine</code></a></p>
<h2>v7.2.0</h2>
<h2>7.2.0</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.2...31bf294e85175bbf39816a90dc8858dedaf73bde">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Update to JupyterLab 4.2.0 <a
href="https://redirect.github.com/jupyter/notebook/pull/7357">#7357</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update to JupyterLab 4.2.0rc0 <a
href="https://redirect.github.com/jupyter/notebook/pull/7333">#7333</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Add <code>@jupyterlab/theme-dark-high-contrast-extension</code> <a
href="https://redirect.github.com/jupyter/notebook/pull/7331">#7331</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update to JupyterLab 4.2.0a2 <a
href="https://redirect.github.com/jupyter/notebook/pull/7307">#7307</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/notebook/blob/@jupyter-notebook/tree@7.2.2/CHANGELOG.md">notebook's
changelog</a>.</em></p>
<blockquote>
<h2>7.2.2</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.1...0426a897ad6b5708d73e6e49ea424076de2906a1">Full
Changelog</a>)</p>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Upgrade JupyterLab dependencies to v4.2.5 <a
href="https://redirect.github.com/jupyter/notebook/pull/7447">#7447</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2024-06-07&amp;to=2024-08-27&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-06-07..2024-08-27&amp;type=Issues"><code>@​RRosio</code></a></p>
<!-- raw HTML omitted -->
<h2>7.2.1</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0...e881745c98ea0a0ea585df78f1ca8950a0edeaa2">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Remove pseudoelement obstructing the cell collapser <a
href="https://redirect.github.com/jupyter/notebook/pull/7392">#7392</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-16&amp;to=2024-06-07&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ameeseeksmachine+updated%3A2024-05-16..2024-06-07&amp;type=Issues"><code>@​meeseeksmachine</code></a></p>
<h2>7.2.0</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.2...31bf294e85175bbf39816a90dc8858dedaf73bde">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Update to JupyterLab 4.2.0 <a
href="https://redirect.github.com/jupyter/notebook/pull/7357">#7357</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update to JupyterLab 4.2.0rc0 <a
href="https://redirect.github.com/jupyter/notebook/pull/7333">#7333</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Add <code>@jupyterlab/theme-dark-high-contrast-extension</code> <a
href="https://redirect.github.com/jupyter/notebook/pull/7331">#7331</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update to JupyterLab 4.2.0a2 <a
href="https://redirect.github.com/jupyter/notebook/pull/7307">#7307</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Add the <code>@jupyterlab/notebook-extension:copy-output</code>
plugin <a
href="https://redirect.github.com/jupyter/notebook/pull/7353">#7353</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Fix CSS for <code>full</code> windowing mode <a
href="https://redirect.github.com/jupyter/notebook/pull/7337">#7337</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Force notebook windowing mode to <code>defer</code> <a
href="https://redirect.github.com/jupyter/notebook/pull/7335">#7335</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Fix scrollbar always showing up by default <a
href="https://redirect.github.com/jupyter/notebook/pull/7327">#7327</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Default to the <code>full</code> windowing mode <a
href="https://redirect.github.com/jupyter/notebook/pull/7321">#7321</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jupyter/notebook/commit/d1d232b27c5441c4a040dd3ca491a7cf0fa6c528"><code>d1d232b</code></a>
Publish 7.2.2</li>
<li><a
href="https://github.com/jupyter/notebook/commit/0426a897ad6b5708d73e6e49ea424076de2906a1"><code>0426a89</code></a>
Upgrade JupyterLab dependencies to v4.2.5 (<a
href="https://redirect.github.com/jupyter/notebook/issues/7447">#7447</a>)</li>
<li><a
href="https://github.com/jupyter/notebook/commit/3542421de92c91892d8d8c40ebbd023215c39606"><code>3542421</code></a>
Publish 7.2.1</li>
<li><a
href="https://github.com/jupyter/notebook/commit/e881745c98ea0a0ea585df78f1ca8950a0edeaa2"><code>e881745</code></a>
Backport PR <a
href="https://redirect.github.com/jupyter/notebook/issues/7392">#7392</a>:
Remove pseudoelement obstructing the cell collapser (<a
href="https://redirect.github.com/jupyter/notebook/issues/7393">#7393</a>)</li>
<li><a
href="https://github.com/jupyter/notebook/commit/30587b826a0fe7055a02ea96d43e6305d8b5590b"><code>30587b8</code></a>
Publish 7.2.0</li>
<li><a
href="https://github.com/jupyter/notebook/commit/31bf294e85175bbf39816a90dc8858dedaf73bde"><code>31bf294</code></a>
Add user facing changelog for 7.2 (<a
href="https://redirect.github.com/jupyter/notebook/issues/7372">#7372</a>)</li>
<li><a
href="https://github.com/jupyter/notebook/commit/08fe5c5df12182178280bad5d2fbae02b3486146"><code>08fe5c5</code></a>
Update <code>@jupyterlab/galata</code> (<a
href="https://redirect.github.com/jupyter/notebook/issues/7361">#7361</a>)</li>
<li><a
href="https://github.com/jupyter/notebook/commit/7891117aa9f9cb95c8e301875f9bf74d9496a301"><code>7891117</code></a>
Update config.yml (<a
href="https://redirect.github.com/jupyter/notebook/issues/7363">#7363</a>)</li>
<li><a
href="https://github.com/jupyter/notebook/commit/a1e25b92bf10ef13a760353837114db9b498f242"><code>a1e25b9</code></a>
Publish 7.2.0rc1</li>
<li><a
href="https://github.com/jupyter/notebook/commit/f5d8aea3bdc3eea25213792f9d101738f2a1f627"><code>f5d8aea</code></a>
Default to the <code>full</code> windowing mode (<a
href="https://redirect.github.com/jupyter/notebook/issues/7321">#7321</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.0.7...@jupyter-notebook/tree@7.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=notebook&package-manager=pip&previous-version=7.0.7&new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2024-11-21 08:00:26 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>William FH
f7788abbb6 build(deps-dev): bump starlette from 0.38.6 to 0.40.0 (#2421)
Bumps [starlette](https://github.com/encode/starlette) from 0.38.6 to
0.40.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/encode/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.40.0</h2>
<p>This release fixes a Denial of service (DoS) via
<code>multipart/form-data</code> requests.</p>
<p>You can view the full security advisory:
<a
href="https://github.com/encode/starlette/security/advisories/GHSA-f96h-pmfr-66vw">GHSA-f96h-pmfr-66vw</a></p>
<h2>Fixed</h2>
<ul>
<li>Add <code>max_part_size</code> to <code>MultiPartParser</code> to
limit the size of parts in <code>multipart/form-data</code>
requests <a
href="https://github.com/encode/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733">fd038f3</a>.</li>
</ul>
<h2>Version 0.39.2</h2>
<h2>Fixed</h2>
<ul>
<li>Allow use of <code>request.url_for</code> when only &quot;app&quot;
scope is available <a
href="https://redirect.github.com/encode/starlette/pull/2672">#2672</a>.</li>
<li>Fix internal type hints to support
<code>python-multipart==0.0.12</code> <a
href="https://redirect.github.com/encode/starlette/pull/2708">#2708</a>.</li>
</ul>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/encode/starlette/compare/0.39.1...0.39.2">https://github.com/encode/starlette/compare/0.39.1...0.39.2</a></p>
<h2>Version 0.39.1</h2>
<h2>Fixed</h2>
<ul>
<li>Avoid regex re-compilation in <code>responses.py</code> and
<code>schemas.py</code> <a
href="https://redirect.github.com/encode/starlette/pull/2700">#2700</a>.</li>
<li>Improve performance of <code>get_route_path</code> by removing
regular expression usage <a
href="https://redirect.github.com/encode/starlette/pull/2701">#2701</a>.</li>
<li>Consider <code>FileResponse.chunk_size</code> when handling multiple
ranges <a
href="https://redirect.github.com/encode/starlette/pull/2703">#2703</a>.</li>
<li>Use <code>token_hex</code> for generating multipart boundary strings
<a
href="https://redirect.github.com/encode/starlette/pull/2702">#2702</a>.</li>
</ul>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/encode/starlette/compare/0.39.0...0.39.1">https://github.com/encode/starlette/compare/0.39.0...0.39.1</a></p>
<h2>Version 0.39.0</h2>
<h2>Added</h2>
<ul>
<li>Add support for HTTP Range to <code>FileResponse</code> <a
href="https://redirect.github.com/encode/starlette/pull/2697">#2697</a></li>
</ul>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/encode/starlette/compare/0.38.6...0.39.0">https://github.com/encode/starlette/compare/0.38.6...0.39.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/encode/starlette/blob/master/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>0.40.0 (October 15, 2024)</h2>
<p>This release fixes a Denial of service (DoS) via
<code>multipart/form-data</code> requests.</p>
<p>You can view the full security advisory:
<a
href="https://github.com/encode/starlette/security/advisories/GHSA-f96h-pmfr-66vw">GHSA-f96h-pmfr-66vw</a></p>
<h4>Fixed</h4>
<ul>
<li>Add <code>max_part_size</code> to <code>MultiPartParser</code> to
limit the size of parts in <code>multipart/form-data</code>
requests <a
href="https://github.com/encode/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733">fd038f3</a>.</li>
</ul>
<h2>0.39.2 (September 29, 2024)</h2>
<h4>Fixed</h4>
<ul>
<li>Allow use of <code>request.url_for</code> when only &quot;app&quot;
scope is available <a
href="https://redirect.github.com/encode/starlette/pull/2672">#2672</a>.</li>
<li>Fix internal type hints to support
<code>python-multipart==0.0.12</code> <a
href="https://redirect.github.com/encode/starlette/pull/2708">#2708</a>.</li>
</ul>
<h2>0.39.1 (September 25, 2024)</h2>
<h4>Fixed</h4>
<ul>
<li>Avoid regex re-compilation in <code>responses.py</code> and
<code>schemas.py</code> <a
href="https://redirect.github.com/encode/starlette/pull/2700">#2700</a>.</li>
<li>Improve performance of <code>get_route_path</code> by removing
regular expression usage
<a
href="https://redirect.github.com/encode/starlette/pull/2701">#2701</a>.</li>
<li>Consider <code>FileResponse.chunk_size</code> when handling multiple
ranges <a
href="https://redirect.github.com/encode/starlette/pull/2703">#2703</a>.</li>
<li>Use <code>token_hex</code> for generating multipart boundary strings
<a
href="https://redirect.github.com/encode/starlette/pull/2702">#2702</a>.</li>
</ul>
<h2>0.39.0 (September 23, 2024)</h2>
<h4>Added</h4>
<ul>
<li>Add support for <a
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests">HTTP
Range</a> to
<code>FileResponse</code> <a
href="https://redirect.github.com/encode/starlette/pull/2697">#2697</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/encode/starlette/commit/4ded4b7ac517bd301cee69f5c189b1cb48c069b6"><code>4ded4b7</code></a>
Version 0.40.0 (<a
href="https://redirect.github.com/encode/starlette/issues/2728">#2728</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733"><code>fd038f3</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/encode/starlette/commit/e11684013fe5ca084f5bd4e54830512a4dff9618"><code>e116840</code></a>
Bump the python-packages group with 6 updates (<a
href="https://redirect.github.com/encode/starlette/issues/2713">#2713</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/0b50b9c4abd992a39d6e32148cc6f577ac3b1c44"><code>0b50b9c</code></a>
Version 0.39.2 (<a
href="https://redirect.github.com/encode/starlette/issues/2710">#2710</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/fe46d99d92da17efe1827f96ad29d748aac870d2"><code>fe46d99</code></a>
Support <code>request.url_for</code> when only &quot;app&quot; scope is
avaialable (<a
href="https://redirect.github.com/encode/starlette/issues/2672">#2672</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/1a6018e08a994c78f5c169b8535408259af0f249"><code>1a6018e</code></a>
Support python-multipart 0.0.12 (<a
href="https://redirect.github.com/encode/starlette/issues/2708">#2708</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/fa7b382a66cd99e3dc18f3baa44dae5ec68be76b"><code>fa7b382</code></a>
Version 0.39.1 (<a
href="https://redirect.github.com/encode/starlette/issues/2706">#2706</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/075efd0c5c9f5e49a4416f3b4a24e24efab135f8"><code>075efd0</code></a>
generate boundary with token_hex (<a
href="https://redirect.github.com/encode/starlette/issues/2702">#2702</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/b8139f9fe3b1acb34ddbe38dc6472a60b621540e"><code>b8139f9</code></a>
Consider <code>FileResponse.chunk_size</code> when handling multiple
ranges (<a
href="https://redirect.github.com/encode/starlette/issues/2703">#2703</a>)</li>
<li><a
href="https://github.com/encode/starlette/commit/4fbf766b3eac4146b86175682cec88d266fd8470"><code>4fbf766</code></a>
test: add tests in <code>test_requests</code> (<a
href="https://redirect.github.com/encode/starlette/issues/2677">#2677</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/encode/starlette/compare/0.38.6...0.40.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=starlette&package-manager=pip&previous-version=0.38.6&new-version=0.40.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2024-11-21 07:58:30 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9bd430142a build(deps-dev): bump aiohttp from 3.10.6 to 3.10.11 (#2454)
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.6 to
3.10.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/releases">aiohttp's
releases</a>.</em></p>
<blockquote>
<h2>3.10.11</h2>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Authentication provided by a redirect now takes precedence over
provided <code>auth</code> when making requests with the client -- by
:user:<code>PLPeeters</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9436">#9436</a>.</p>
</li>
<li>
<p>Fixed :py:meth:<code>WebSocketResponse.close()
&lt;aiohttp.web.WebSocketResponse.close&gt;</code> to discard non-close
messages within its timeout window after sending close -- by
:user:<code>lenard-mosys</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9506">#9506</a>.</p>
</li>
<li>
<p>Fixed a deadlock that could occur while attempting to get a new
connection slot after a timeout -- by :user:<code>bdraco</code>.</p>
<p>The connector was not cancellation-safe.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9670">#9670</a>,
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9671">#9671</a>.</p>
</li>
<li>
<p>Fixed the WebSocket flow control calculation undercounting with
multi-byte data -- by :user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9686">#9686</a>.</p>
</li>
<li>
<p>Fixed incorrect parsing of chunk extensions with the pure Python
parser -- by :user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9851">#9851</a>.</p>
</li>
<li>
<p>Fixed system routes polluting the middleware cache -- by
:user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's
changelog</a>.</em></p>
<blockquote>
<h1>3.10.11 (2024-11-13)</h1>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Authentication provided by a redirect now takes precedence over
provided <code>auth</code> when making requests with the client -- by
:user:<code>PLPeeters</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>9436</code>.</p>
</li>
<li>
<p>Fixed :py:meth:<code>WebSocketResponse.close()
&lt;aiohttp.web.WebSocketResponse.close&gt;</code> to discard non-close
messages within its timeout window after sending close -- by
:user:<code>lenard-mosys</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>9506</code>.</p>
</li>
<li>
<p>Fixed a deadlock that could occur while attempting to get a new
connection slot after a timeout -- by :user:<code>bdraco</code>.</p>
<p>The connector was not cancellation-safe.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>9670</code>, :issue:<code>9671</code>.</p>
</li>
<li>
<p>Fixed the WebSocket flow control calculation undercounting with
multi-byte data -- by :user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>9686</code>.</p>
</li>
<li>
<p>Fixed incorrect parsing of chunk extensions with the pure Python
parser -- by :user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>9851</code>.</p>
</li>
<li>
<p>Fixed system routes polluting the middleware cache -- by
:user:<code>bdraco</code>.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/3e09325e4839117df13fbac301f360edf8d3a0ee"><code>3e09325</code></a>
Remove 3.10.11rc0 from 3.10 changelog (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9858">#9858</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/beb7b740533b81d75706e6615f07d92fcbf1c325"><code>beb7b74</code></a>
Release 3.10.11 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9857">#9857</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/259edc369075de63e6f3a4eaade058c62af0df71"><code>259edc3</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9851">#9851</a>/541d86d
backport][3.10] Fix incorrect parsing of chunk extensions w...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/bc15db61615079d1b6327ba42c682f758fa96936"><code>bc15db6</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9852">#9852</a>/249855a
backport][3.10] Fix system routes polluting the middleware ...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/158bf304bdd8047eec192540fa5bf7fe3862bffd"><code>158bf30</code></a>
Release 3.10.11rc0 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9848">#9848</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/e5917cd3480b01e7527b6524f9bec954325e1d5f"><code>e5917cd</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9844">#9844</a>/fabf3884
backport][3.10] Fix compressed get request benchmark paylo...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/68a1f42af90a5beae28c8617e0dfc15c3bd5153c"><code>68a1f42</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9840">#9840</a>/cc5fa316
backport][3.10] Add benchmark for sending compressed paylo...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/4f4b90fef082fbb37395c394d68ee0ab3fcbc7e6"><code>4f4b90f</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9835">#9835</a>/32ccfc9a
backport][3.10] Adjust client payload benchmarks to better...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/f3dd0f9fece79dc3cd9d00e2ffddd49c36598361"><code>f3dd0f9</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9832">#9832</a>/006f4070
backport][3.10] Increase allowed import time for Python 3....</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/f2aab2e40336848d6a53ea03dc6d072a38c5e7f9"><code>f2aab2e</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/9827">#9827</a>/14fcfd4c
backport][3.10] Adjust client GET read benchmarks to inclu...</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/aiohttp/compare/v3.10.6...v3.10.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.10.6&new-version=3.10.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 07:56:56 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
72dac006f4 build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /libs/cli/js-examples (#2456)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from
7.0.3 to 7.0.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md">cross-spawn's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.5...v7.0.6">7.0.6</a>
(2024-11-18)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>update cross-spawn version to 7.0.5 in package-lock.json (<a
href="https://github.com/moxystudio/node-cross-spawn/commit/f700743918d901eff92960e15a8dd68f87bd4176">f700743</a>)</li>
</ul>
<h3><a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.4...v7.0.5">7.0.5</a>
(2024-11-07)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>fix escaping bug introduced by backtracking (<a
href="https://github.com/moxystudio/node-cross-spawn/commit/640d391fde65388548601d95abedccc12943374f">640d391</a>)</li>
</ul>
<h3><a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.4">7.0.4</a>
(2024-11-07)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>disable regexp backtracking (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/160">#160</a>)
(<a
href="https://github.com/moxystudio/node-cross-spawn/commit/5ff3a07d9add449021d806e45c4168203aa833ff">5ff3a07</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/77cd97f3ca7b62c904a63a698fc4a79bf41977d0"><code>77cd97f</code></a>
chore(release): 7.0.6</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/6717de49ff1e5de49622488dcb9c33fb25370c85"><code>6717de4</code></a>
chore: upgrade standard-version</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/f700743918d901eff92960e15a8dd68f87bd4176"><code>f700743</code></a>
fix: update cross-spawn version to 7.0.5 in package-lock.json</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/9a7e3b2165917367f74b8365faad9873b30d7263"><code>9a7e3b2</code></a>
chore: fix build status badge</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/085268352dcbcad8064c64c5efb25268b4023184"><code>0852683</code></a>
chore(release): 7.0.5</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/640d391fde65388548601d95abedccc12943374f"><code>640d391</code></a>
fix: fix escaping bug introduced by backtracking</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/bff0c87c8b627c4e6d04ec2449e733048bebb464"><code>bff0c87</code></a>
chore: remove codecov</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/a7c6abc6fee79641d45b452fe6217deaa1bd0973"><code>a7c6abc</code></a>
chore: replace travis with github workflows</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/9b9246e0969e86656d7ccd527716bc3c18842a19"><code>9b9246e</code></a>
chore(release): 7.0.4</li>
<li><a
href="https://github.com/moxystudio/node-cross-spawn/commit/5ff3a07d9add449021d806e45c4168203aa833ff"><code>5ff3a07</code></a>
fix: disable regexp backtracking (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/160">#160</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cross-spawn&package-manager=npm_and_yarn&previous-version=7.0.3&new-version=7.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraph/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 07:56:33 -08:00
William FHandGitHub 54d848913f [CLI] Update Inmem Version (#2500) 2024-11-21 15:49:59 +00:00
Nuno CamposandGitHub 7021e81150 Merge pull request #2496 from langchain-ai/vb/fix-error-message
langgraph: fix error message on invalid update
2024-11-20 18:46:50 -08:00
vbarda b977045679 langgraph: fix error message on invalid update 2024-11-20 21:24:50 -05:00
William FHandGitHub a933776436 [CLI] Validate node version (#2489) 2024-11-20 17:24:34 -08:00
Nuno Campos 588373c2d5 0.2.53 2024-11-20 17:13:42 -08:00
Nuno CamposandGitHub 267962bece Merge pull request #2491 from langchain-ai/nc/20nov/stream-putnowait-loop
lib: For subgraphs / stream modes call stream.put as a callback in the original event loop
2024-11-20 17:11:56 -08:00
Nuno CamposandGitHub 4ae29b6e2a Merge pull request #2492 from langchain-ai/wfh/accept_313
[CLI] Accept 3.13 in build
2024-11-20 17:04:15 -08:00
William Fu-Hinthorn 3c0de26914 Accept 3.13 in build 2024-11-20 16:26:17 -08:00
Nuno Campos a570662773 Lint 2024-11-20 15:43:46 -08:00
Nuno Campos 9766068896 lib: For subgraphs / stream modes call stream.put as a callback in the original event loop
- This is asynchronous, so we shouldn't use for regular writes to the output stream (ie those from PregelLoop)
- For writes from subgraphs / nodes this is fine to use, as we make no guarantees about when those show up anyway
2024-11-20 15:39:30 -08:00
Vadym BardaandGitHub 7e8eef88ca docs: small fix for tutorial (#2487) 2024-11-20 14:36:42 -05:00
Eugene YurtsevandGitHub e3e63c70c9 docs: how-to guide language changes (#2462) 2024-11-19 14:54:08 -05:00
Brace SproulandGitHub 312f0982bc Merge pull request #2476 from langchain-ai/release
(sdk-js): Release 0.0.26
2024-11-19 11:38:11 -08:00
bracesproul 153245145e (sdk-js): Release 0.0.26 2024-11-19 11:32:22 -08:00
Brace SproulandGitHub c95abd88a1 Merge pull request #2117 from langchain-ai/brace/default-assign-api-key
fix(sdk-js): Pass api key in headers by default if in env
2024-11-19 11:26:01 -08:00
Brace SproulandGitHub a2b357bed5 Merge branch 'main' into brace/default-assign-api-key 2024-11-19 11:16:55 -08:00
Nuno Campos 253090f34d lint 2024-11-19 10:29:32 -08:00
Brace SproulandGitHub 7090d7e9a8 Merge pull request #2471 from langchain-ai/brace/drop-trailing-slash
fix(sdk-js): remove trailing slash from url
2024-11-19 09:31:59 -08:00
bracesproul b3fa43e4a6 fix(sdk-js): remove trailing slash from url 2024-11-19 09:23:47 -08:00
Vadym BardaandGitHub b1779cf348 docs: update autogen docs (#2470) 2024-11-19 11:57:26 -05:00
Harrison ChaseandGitHub 26d18d3ca5 add how to guides for autogen integration (#2466) 2024-11-19 08:44:17 -08:00
Christopher BrooksandGitHub 7d80176137 Merge branch 'langchain-ai:main' into issue2159 2024-11-19 11:19:34 -05:00
Christopher Brooks ca7da2fc41 feat: Make CompiledGraph displayable in Juypyter with display() (#2159) 2024-11-19 11:18:53 -05:00
12052d7d26 CLI docs (#2464)
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2024-11-19 10:57:07 -05:00
Vadym BardaandGitHub e3a30a9b69 docs: fix prompt (#2467) 2024-11-19 09:42:20 -05:00
William FHandGitHub ff1370a9a5 Release CLI (#2465) 2024-11-19 08:41:18 +00:00
William FHandGitHub 679a7365da Add default ns in put_writes (#2404) 2024-11-18 22:55:12 -08:00
b2522ffe19 CLI Dev command (#2463)
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
2024-11-19 05:12:03 +00:00
Eugene YurtsevandGitHub 4212a795a0 docs[minor]: Fix layout issues in available templates (#2452) 2024-11-18 22:53:19 -05:00
Eugene YurtsevandGitHub 517d67aa32 docs: Update to use LANGSMITH_API_KEY throughout (#2461) 2024-11-18 22:51:36 -05:00
Brace SproulandGitHub feaf14765a Merge pull request #2458 from langchain-ai/brace/expose-command-interface
fix(sdk-js): Expose Command interface
2024-11-18 18:54:19 -08:00
Vadym BardaandGitHub cc6063c729 docs: simplify multi-agent tutorials (#2443) 2024-11-19 02:31:12 +00:00
013397042e docs: grammar (#2449)
Co-authored-by: Ian Sullivan <ian@frame.ai>
2024-11-18 21:01:37 -05:00
Nuno Campos 9a775d9c9f 0.2.52 2024-11-18 17:17:40 -08:00
Nuno Campos 2c945ceb68 Copy configurable in ensure_config 2024-11-18 17:17:20 -08:00
Erick FriisandGitHub 39eabd0fb8 Merge pull request #2459 from langchain-ai/erick/docs-self-hosted-plan-links
docs: self-hosted plan links
2024-11-18 16:42:02 -08:00
Erick Friis e5cc2e2044 docs: self-hosted plan links 2024-11-18 16:35:19 -08:00
bracesproul f00c0515e7 add jsdoc 2024-11-18 16:32:32 -08:00
bracesproul d87c0d4d53 fix(sdk-js): Expose Command interface 2024-11-18 16:25:51 -08:00
Nuno Campos fb40a974c8 0.2.51 2024-11-18 16:03:04 -08:00
Nuno Campos d63bfc6879 Add missing property 2024-11-18 16:02:54 -08:00
Nuno CamposandGitHub 97dd30711a Merge pull request #2437 from langchain-ai/nc/16nov/speed-up-find-subgraph
lib: find_subgraph doesn't need to look in both func and afunc
2024-11-18 15:59:58 -08:00
Vadym BardaandGitHub 016a9c1936 checkpoint-postgres: release 2.0.3 (#2455) 2024-11-18 16:55:54 -05:00
Nuno CamposandGitHub a2d6837fba Merge pull request #2413 from langchain-ai/vb/fix-pipeline
checkpoint-postgres: handle cases when conn.pipeline is not supported
2024-11-18 10:39:56 -08:00
Andrew NguonlyandGitHub f5bb2a3b04 docs: Update LangGraph Server API docs (#2451) 2024-11-18 09:38:38 -08:00
vbarda f807b73092 use capabilities 2024-11-18 12:15:18 -05:00
Nuno CamposandGitHub 167405daf2 Merge pull request #2434 from langchain-ai/nc/15nov/update-state-copy-parent
lib: When copying checkpoint, make it a child of the parent
2024-11-18 08:34:34 -08:00
William FHandGitHub c6360e5408 [Checkpoint] 2.0.5 (#2450) 2024-11-18 08:19:17 -08:00
vbarda f0505155a2 cache 2024-11-18 11:12:21 -05:00
886df0fa86 checkpoint: Add option to use persistent dict for in-memory checkpointer (#2439)
- This should only be used in very specific circunstances, sqlite or
postgres adapters much more appropriate in most circunstances

---------

Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2024-11-18 16:04:05 +00:00
Kevin MarkhamandGitHub 3f1792d6ba docs: fix typo (#2406) 2024-11-18 09:11:57 -05:00
ZapironandGitHub 9208052a94 docs: Update link to LCEL Concept Guide (#2438)
Updated the link to the LCEL concept guide
2024-11-18 09:09:12 -05:00
Nuno Campos 7866bd2718 lib: find_subgraph doesn't need to look in both func and afunc
- if they both exist they're expected to share the same implementation, so looking in both is redundant
2024-11-16 16:57:32 -08:00
Nuno Campos 7c11325e23 Separate 2024-11-15 17:33:01 -08:00
Nuno Campos d99dc7d81b Fix missing writes 2024-11-15 17:23:00 -08:00
Nuno Campos 973ad76a58 Fix 2024-11-15 17:05:18 -08:00
Nuno Campos 36e49eb190 Add distinct source 2024-11-15 17:04:40 -08:00
Nuno Campos 66b9a7dee7 lib: When copying checkpoint, make it a child of the parent 2024-11-15 16:56:17 -08:00
Nuno Campos 5494855ffa 0.2.50 2024-11-15 15:43:37 -08:00
Nuno Campos 38d93a324c 0.2.49 2024-11-15 15:02:31 -08:00
Nuno CamposandGitHub 07c65321c1 Merge pull request #2432 from langchain-ai/nc/15nov/copy-checkpoint
lib: Restore prev behavior for update_state(None)
2024-11-15 15:00:18 -08:00
Nuno Campos 1dbdd7df2e Lint 2024-11-15 14:54:55 -08:00
Nuno Campos dab29ce094 lib: Restore prev behavior for update_state(None)
- update_state(None) copies checkpoint and keeps current (PUSH) tasks, eg for replay
- update_state(None, as_node=END) clears all tasks (PUSH or PULL)
2024-11-15 14:48:56 -08:00
Vadym BardaandGitHub 0388534b9f docs: update double texting how-tos (#2431) 2024-11-15 22:45:36 +00:00
Nuno CamposandGitHub 81077e7c3a Merge pull request #2429 from langchain-ai/nc/15nov/sdk-js-types
sdk-js: Update types for state.task
2024-11-15 11:54:59 -08:00
Nuno Campos 29a0042149 sdk-js: Update types for state.task 2024-11-15 11:54:00 -08:00
William FHandGitHub e9162e2516 Update CLI pyproject.toml (#2428) 2024-11-15 11:00:32 -08:00
Vadym BardaandGitHub 0f6c001c25 docs: update replay in persistence concepts (#2427) 2024-11-15 18:49:20 +00:00
Eugene YurtsevandGitHub 7f26325c87 cli: minor wording change in new command (#2422) 2024-11-15 03:13:53 +00:00
Nuno CamposandGitHub 3c4ce3f945 Merge pull request #2420 from langchain-ai/nc/14nov/js-sdk-command
Nc/14nov/js sdk command
2024-11-14 18:21:38 -08:00
Nuno Campos 84ef939bf4 sdk-js 0.0.24 2024-11-14 18:17:22 -08:00
Nuno Campos bdc22ea127 sdk-js: Accept command when creating run 2024-11-14 18:17:04 -08:00
Vadym BardaandGitHub 5abbb79e1b Merge branch 'main' into vb/fix-pipeline 2024-11-14 19:08:18 -05:00
vbarda 0a5220aa07 code review 2024-11-14 19:06:41 -05:00
Nuno CamposandGitHub 970e68edcc Merge pull request #2417 from langchain-ai/vb/fix-debug-async
langgraph: add debug to AsyncPregelLoop
2024-11-14 06:53:18 -08:00
vbarda da1a80e86d lint 2024-11-14 09:37:39 -05:00
vbarda c4b240e0c2 langgraph: add debug to AsyncPregelLoop 2024-11-14 09:36:33 -05:00
vbarda c2052d11c2 checkpoint-postgres: remove pipeline flag in cursor 2024-11-13 21:42:51 -05:00
Vadym BardaandGitHub dc0281b99c docs: update rollback in double-texting concepts (#2412) 2024-11-13 21:21:12 -05:00
Nuno Campos 3a860ad537 0.2.48 2024-11-13 17:45:04 -08:00
Nuno Campos 7051bccc30 checkpoint 2.0.4 2024-11-13 17:37:01 -08:00
Nuno Campos 199e41b228 sdk py 0.1.36 2024-11-13 17:07:07 -08:00
Nuno Campos 229a9e19a8 sdk-py: Add command arg for creating runs 2024-11-13 17:06:56 -08:00
Nuno Campos 3c3a1a1f35 0.2.47 2024-11-13 14:02:25 -08:00
Nuno CamposandGitHub f11127648e Merge pull request #2346 from langchain-ai/nc/4nov/send-eager
lib: Execute Sends in the superstep that originated them (feature-flagged)
2024-11-13 13:39:50 -08:00
Nuno CamposandGitHub 29f833b1a7 Merge pull request #2393 from langchain-ai/nc/11nov/command-resume
lib: Add interrupt() function
2024-11-13 13:34:19 -08:00
Nuno CamposandGitHub 7a3ea42743 Merge pull request #2410 from langchain-ai/nc/13nov/command-dataclass
Nc/13nov/command dataclass
2024-11-13 13:28:13 -08:00
Nuno Campos a94902db8a Lint 2024-11-13 13:17:02 -08:00
Nuno Campos 9fd152ef3a format 2024-11-13 13:14:03 -08:00
Nuno Campos 03bc9ba6e6 Make Command a dataclass 2024-11-13 13:11:28 -08:00
Nuno Campos 7fe6f88876 Add resumeable/ns properties to Interrupt 2024-11-13 12:51:55 -08:00
Nuno CamposandGitHub 1d88affd29 Merge pull request #2400 from langchain-ai/nc/12nov/command
Make Command accept generic arg for destinations
2024-11-13 10:03:27 -08:00
Eugene YurtsevandGitHub 6906e12edb cli: add ability to output docker compose file (#2379)
* Add ability to output docker compose file `langgraph dockerfile
Dockerfile --add-docker-compose`
* Add emoji in places
2024-11-13 12:42:58 -05:00
William FHandGitHub 7b4c29a20d [Checkpointers] MemorySaver: refrain from overwriting writes (#2399) 2024-11-13 00:20:38 +00:00
Nuno Campos 16bfa80b58 Make Command accept generic arg for destinations 2024-11-12 16:18:23 -08:00
Eugene YurtsevandGitHub cb10437c3f cli: Add default to interactive flow in new command (#2398) 2024-11-12 16:38:15 -05:00
Eugene YurtsevandGitHub 2bcf1c0a20 cli[minor]: Add langgraph new command (#2369)
Adds a "new" command to create langgraph application from a template.
2024-11-12 14:30:51 -05:00
Nuno Campos 00964b18f6 Undo 2024-11-11 18:12:25 -08:00
Nuno Campos 0d5c6201d3 Disable in py 3.10 or below for async 2024-11-11 18:09:58 -08:00
Nuno Campos 86d2847dab Use neg idx 2024-11-11 17:57:45 -08:00
Nuno Campos b3a4eaa967 Remove print 2024-11-11 17:56:10 -08:00
Nuno Campos 87fc519ce7 Remove print 2024-11-11 17:54:56 -08:00
Nuno Campos ef3a1ee997 Undo 2024-11-11 17:54:04 -08:00
Nuno Campos 311e16dffd Remove prints 2024-11-11 17:52:18 -08:00
Nuno Campos c83b8f6d04 Update 2024-11-11 17:49:58 -08:00
Nuno Campos 62d3a85b07 Add sync test 2024-11-11 17:46:54 -08:00
Nuno Campos 810ae0ef51 lib: Add interrupt() function
- This works similarly to the input() function from stdlib
- calling it in a node interrupts execution
- invoking the graph with Command(resume=...) will set ... as the return value of interrupt() so that the node can access the "answer" to the "question"
- This PR also starts the work to control the graph on invoke/stream with Command() input, to be continued in a future PR
2024-11-11 17:44:03 -08:00
Nuno Campos 2ff49d2200 Update 2024-11-11 15:43:20 -08:00
Nuno Campos d0567dc7be Add feature flag (default off) so we can merge this before releasing
- Add additional ci job to test with FF on
2024-11-11 15:38:48 -08:00
Nuno Campos ea64ac5c07 Update 2024-11-11 14:18:14 -08:00
Nuno Campos 090b53ccc1 Lint 2024-11-11 14:14:23 -08:00
Nuno Campos 0e872e7482 Lin t 2024-11-11 14:12:33 -08:00
Nuno Campos 3ad966e057 Update 2024-11-11 14:08:59 -08:00
Nuno CamposandGitHub a73f9affab Merge pull request #2391 from langchain-ai/nc/11nov/control-to-command
lib: Rename Control to GraphCommand
2024-11-11 14:06:17 -08:00
Nuno Campos 89a0859928 Execute Sends in same super step that triggered them
- Keep old code path for compatibility with existing checkpoints
- Keep a similar order of application of updates, in some cases there will be no visible change
- Update task path for Sends to contain the path of all the parent tasks (multiple parents when a Send task creates another Send)
- That lineage path is used to ensure order of application of updates respects their logical lineage (ie updates from parents always applied before their child tasks)
- Move Interrupt writes to use negative indexes, which allow replacing/shadowing (when task is re-run it may interrupt again, or succeed)
- Runner will now attempt to schedule new Send tasks as soon as the write is received (ie while the originating node is still running)
- Update kafka scheduler to support new Send behavior
2024-11-11 14:01:16 -08:00
Nuno Campos 75c502cd93 Lint 2024-11-11 13:59:18 -08:00
Nuno Campos 0cc45f7a35 Lint 2024-11-11 13:04:23 -08:00
Nuno Campos efb1dd6a10 lib: Rename Control to GraphCommand 2024-11-11 13:01:04 -08:00
Nuno CamposandGitHub 6edb213fe7 Merge pull request #2388 from langchain-ai/nc/11nov/update-none-clear-all-tasks
lib: update_state(values=None) should clear all tasks
2024-11-11 12:07:51 -08:00
Nuno Campos c0513076a2 Lint 2024-11-11 11:07:36 -08:00
Nuno Campos c043f148a6 lib: update_state(values=None) should clear all tasks 2024-11-11 10:48:34 -08:00
David DuongandGitHub 366b5e04c7 Merge pull request #2376 from langchain-ai/dqbd/js-0.0.23-lc_build
fix(sdk-js): move to `@langchain/scripts` for building, bump to 0.0.23
2024-11-11 15:33:53 +01:00
Tat Dat Duong 72239d2228 Bump to 0.0.23, use @langchain/scripts 0.1.4 2024-11-11 15:01:12 +01:00
Vadym BardaandGitHub b7f238975a docs: fix nav sidebar (#2382) 2024-11-10 16:32:14 -05:00
Tat Dat Duong a3c45141ee Make sure we actually build the CJS 2024-11-08 20:52:44 +01:00
Tat Dat Duong f7b899a54d fix(sdk-js): move to @langchain/scripts for building 2024-11-08 20:08:38 +01:00
Vadym BardaandGitHub 95477277a2 docs: improve breadcrumbs behavior (#2375) 2024-11-08 18:39:59 +00:00
Andrew NguonlyandGitHub 64b446f671 Update LangGraph server API docs (#2374) 2024-11-08 10:32:17 -08:00
David DuongandGitHub c2d2e44794 Merge pull request #2372 from langchain-ai/dqbd/0.0.22-sdk-js
feat(sdk-js): bump to 0.0.22
2024-11-08 16:17:45 +01:00
Eugene YurtsevandGitHub f60b9f3b43 cli: add --version option (#2373)
- add version option
- add unit test
2024-11-08 02:49:30 +00:00
Tat Dat Duong e3acfa3435 feat(sdk-js): bump to 0.0.22 2024-11-08 03:19:27 +01:00
Vadym BardaandGitHub 0f92c89529 docs: show nav menu for mobile (#2371) 2024-11-07 20:31:49 -05:00
Andrew NguonlyandGitHub 7cba75ec35 sdk-js: Add custom and messages-tuple stream modes (#2370) 2024-11-07 16:32:08 -08:00
Vadym BardaandGitHub 8408ba3a3e docs: add breadcrumbs (#2363) 2024-11-07 21:33:55 +00:00
Nuno CamposandGitHub c8c58b30d5 Merge pull request #2368 from langchain-ai/nc/7nov/control
lib: Rename args in Control object
2024-11-07 13:19:12 -08:00
Nuno Campos b4bed3329c lib: Rename args in Control object
- update_state -> state
- trigger -> goto
2024-11-07 13:12:19 -08:00
Eugene YurtsevandGitHub 4eec3aa69e docs: fix some typos (#2364) 2024-11-07 14:52:47 -05:00
Vadym BardaandGitHub 35e3276e34 langgraph: add add_sequence to StateGraph (#2352) 2024-11-07 13:16:34 -05:00
Nuno CamposandGitHub b346f4ead8 Merge pull request #2358 from langchain-ai/nc/6nov/kafka-missing-task-id
kafka: Add missing task id for TaskNotFound error
2024-11-06 16:48:25 -08:00
Vadym BardaandGitHub fef748e6cc docs: add another ignore url pattern to link check (#2357) 2024-11-07 00:43:22 +00:00
Nuno Campos 19cc95f7b6 kafka: Add missing task id for TaskNotFound error 2024-11-06 16:41:43 -08:00
Vadym BardaandGitHub eef65d94ac docs: fix numbered list in assistant versioning (#2356) 2024-11-06 22:17:01 +00:00
Nuno Campos 72d497e052 Move code 2024-11-06 09:02:06 -08:00
Nuno CamposandGitHub 32f58258aa Merge pull request #2355 from langchain-ai/nc/6nov/loop-match-writes
lib: Split out _match_writes util in PregelLoop
2024-11-06 08:55:10 -08:00
Nuno Campos 87d57b434a lib: Split out _match_writes util in PregelLoop 2024-11-06 08:48:30 -08:00
Nuno CamposandGitHub 4bbbb7d246 Merge pull request #2354 from langchain-ai/nc/6nov/cached-tasks-output-timing
lib: For cached tasks, emit output events after task events
2024-11-06 08:29:38 -08:00
Nuno Campos c1ce3c6b5f lib: For cached tasks, emit output events after task events 2024-11-06 08:22:54 -08:00
Nuno CamposandGitHub 511de6f5f6 Merge pull request #2353 from langchain-ai/dqbd/runnable-passthrough-test
fix(graph): invalid graph representation if RunnablePassthrough is used
2024-11-06 08:14:19 -08:00
Nuno Campos 4dc08cd724 Fix 2024-11-06 08:07:48 -08:00
Tat Dat Duong d7b9b3b01d fix(graph): invalid graph representation if RunnablePassthrough is used 2024-11-06 16:34:29 +01:00
Vadym BardaandGitHub a82ded65c6 docs: fix install/env cell for customer support tutorial (#2350) 2024-11-05 19:50:05 -05:00
Brace SproulandGitHub 1ca49fa568 Merge pull request #2348 from langchain-ai/brace/filter-status-js
feat(js-sdk): Add status field in search args
2024-11-05 16:40:23 -08:00
bracesproul 4eb3cd32fa cr 2024-11-05 16:04:52 -08:00
Brace SproulandGitHub 80d2a315aa Merge branch 'main' into brace/filter-status-js 2024-11-05 16:03:58 -08:00
bracesproul 82c9aa8485 feat(js-sdk): Add status field in search args 2024-11-05 16:03:24 -08:00
Nuno CamposandGitHub 8ecfafefbf Merge pull request #2347 from langchain-ai/nc/5nov/control-serializable
lib: Make Control object serializable
2024-11-05 15:34:13 -08:00
Nuno Campos 010564cbb3 lib: Make Control object serializable 2024-11-05 15:24:20 -08:00
Nuno Campos 18a3fa4a00 Ignore unknown tasks 2024-11-05 14:22:23 -08:00
Nuno Campos de8e487ff1 Add todo 2024-11-05 10:53:42 -08:00
Nuno CamposandGitHub e5ebdff4d8 Merge pull request #2342 from langchain-ai/nc/5nov/send-test-interrupt-before
Add two more test cases for Send + interrupt
2024-11-05 09:34:04 -08:00
Nuno Campos f283dac325 Add one more test for send-react-interrupt flow with replacing tool call 2024-11-05 09:27:02 -08:00
Nuno Campos 639501809c api: Add one more test case for send + interrupt before
- Testing same exact behavior as send + interrupt after
2024-11-05 09:15:46 -08:00
Nuno CamposandGitHub 36e6b89081 Merge pull request #2333 from langchain-ai/nc/apply-writes-order
lib: Enforce write application order in apply_writes
2024-11-05 09:07:23 -08:00
Nuno CamposandGitHub 90639e6cd7 Merge pull request #2332 from langchain-ai/nc/4nov/update-state-latest
lib: When updating state from latest, apply pending writes first
2024-11-04 16:59:51 -08:00
Nuno Campos dec0b7f439 Lint 2024-11-04 16:43:07 -08:00
Nuno Campos 04657408f8 lib: Enforce write application order in apply_writes
- Previously order was enforced in prepare_next_tasks, but that's not a good fit for future features
- This changes order between PULL and PUSH tasks, updates from PUSH tasks will now be applied after updates from PULL tasks
2024-11-04 16:39:04 -08:00
Nuno Campos 971d746061 Lint 2024-11-04 16:33:20 -08:00
Nuno Campos 9a2ba8c8cd lib: When updating state from latest, apply pending writes first
- This picks a default value for as_node which matches the node which last acted, even if the step didnt finish (due to an interrupt)
2024-11-04 16:20:21 -08:00
Nuno CamposandGitHub b50d41bbf3 Merge pull request #2331 from langchain-ai/nc/4nov/get-state-latest-next
lib: When getting latest state, alst make `next` reflect pending writes
2024-11-04 16:16:53 -08:00
Nuno Campos b71fd5092b lib: When getting latest state, alst make next reflect pending writes
- ie. tasks already executed should not show up in `next` list
2024-11-04 16:03:34 -08:00
Nuno CamposandGitHub f9b151b67f Merge pull request #2330 from langchain-ai/nc/4nov/test-react-send
lib: Add test for react architecture using Send + interrupt_before
2024-11-04 15:58:27 -08:00
William FHandGitHub 7ba9a66301 [Docs] Clarify checkpointer options (#2328) 2024-11-04 15:43:00 -08:00
Nuno CamposandGitHub 1b85764bf6 Merge pull request #2329 from langchain-ai/nc/4nov/get-state-apply-pending-writes
lib: In calls to get_state apply pending writes
2024-11-04 15:42:23 -08:00
Nuno CamposandGitHub 5e4c928948 Merge pull request #2327 from langchain-ai/nc/4nov/send-tests
lib: Add two more tests for Send
2024-11-04 15:42:08 -08:00
Nuno Campos ae282e3ae1 lib: Add test for react architecture using Send + interrupt_before
- Both for cond edge and edgeless graphs
2024-11-04 15:41:02 -08:00
Nuno Campos de3b654735 Add one more assertion 2024-11-04 15:14:29 -08:00
Nuno Campos d28734f287 Lint 2024-11-04 15:12:34 -08:00
Nuno Campos f9409022ed lib: In calls to get_state apply pending writes
- When calling get_state without a checkpoint id (ie to get the latest state) apply any pending writes for current checkpoint
2024-11-04 15:10:12 -08:00
Nuno Campos 8138c88b41 Add async versions 2024-11-04 11:56:31 -08:00
Nuno Campos 38332fd3c6 Lint 2024-11-04 11:55:14 -08:00
Nuno Campos 5606bef3dd lib: Add two more tests for Send 2024-11-04 11:52:39 -08:00
Vadym BardaandGitHub 895079bbdc langgraph: release 0.2.45 (#2326) 2024-11-04 14:34:07 -05:00
Nuno CamposandGitHub 6aaf80f2fd Merge pull request #2325 from langchain-ai/nc/4nov/unset-skip-done-tasks
lib: Unset skip_done_tasks after each tick of the loop
2024-11-04 11:30:08 -08:00
Vadym BardaandGitHub 2e656d9145 langgraph: add config metadata to pregel loop (#2323) 2024-11-04 19:26:34 +00:00
Nuno CamposandGitHub 1fb8e013f7 Merge pull request #2303 from langchain-ai/nc/1nov/test-send-order
Test order of update application after Send
2024-11-04 11:26:04 -08:00
Nuno CamposandGitHub f8fe2041d9 Merge pull request #2144 from langchain-ai/nc/19oct/graph-control
lib: Add support for graphs without edges
2024-11-04 11:25:40 -08:00
Nuno Campos 014f8485a6 lib: Unset skip_done_tasks after each tick of the loop 2024-11-04 11:23:53 -08:00
David DuongandGitHub 58d7eb9b17 Merge pull request #2322 from langchain-ai/dqbd/cli-prebuild-js
feat(cli): add JS prebuild script
2024-11-04 18:13:25 +01:00
Tat Dat Duong 44ff5f1a5a Update tests 2024-11-04 14:00:02 +01:00
David DuongandGitHub 46f25cf926 Merge pull request #2307 from langchain-ai/dqbd/cli-js-other-pkg-managers
feat(cli): add support for other JS package managers based off package lock
2024-11-04 13:59:28 +01:00
Tat Dat Duong e1467c27cb Remove newline 2024-11-04 13:52:40 +01:00
Tat Dat Duong 5deedfe548 Bump to 0.1.53 2024-11-04 13:51:46 +01:00
Tat Dat Duong 30937d0406 feat(cli): add JS prebuild script 2024-11-04 13:50:41 +01:00
David DuongandGitHub 6eb8130419 Merge pull request #2310 from langchain-ai/dqbd/sdk-js-types
feat(sdk-js): improve types for drawable graph, interrupts and metadata
2024-11-04 13:26:58 +01:00
Tat Dat Duong 8455771eb9 Bump to 0.0.21 2024-11-04 13:20:36 +01:00
Tat Dat Duong 39dcafcdea feat(sdk-js): improve types for drawable graph, interrupts and metadata 2024-11-02 02:48:47 +01:00
Tat Dat Duong 7854a19dac Update test 2024-11-02 02:05:42 +01:00
AllenandGitHub 18cea39090 fix(docs): function call in partial (#2297)
Docs use prompts with partial + function call, which would result in a
static datetime as opposed to a dynamic datetime being rendered on use.
2024-11-02 00:37:16 +00:00
Vadym BardaandGitHub 46ffa0e8d4 langgraph: release 0.2.44 (#2308) 2024-11-01 20:27:17 -04:00
Tat Dat Duong bf3098a075 feat(cli): add support for other JS package managers based off package lock 2024-11-02 00:44:08 +01:00
Andrew NguonlyandGitHub cdd7899564 RemoteGraph: If node name is not present, fallback to node id as the node name (#2304) 2024-11-01 15:21:39 -07:00
Vadym BardaandGitHub eeebd44a87 docs: add subgraph streaming example for remote graph (#2306) 2024-11-01 22:16:09 +00:00
Vadym BardaandGitHub 805f437534 docs: fix link in the tutorial (#2305) 2024-11-01 17:52:09 -04:00
Vadym BardaandGitHub 782b9a7903 langgraph: add message list validation to create_react_agent + a troubleshooting guide (#2182) 2024-11-01 17:40:53 -04:00
Andrew NguonlyandGitHub ecb584cbe0 sdk: Add action query param to cancel Run methods (#2284) 2024-11-01 13:32:49 -07:00
Nuno Campos 1e3953d1e0 Test order of update application after Send
- updates from inside Send tasks are applied in the order the Sends were created, if when you fan out, and have each task write results to a list with reducer, the final list is in the order you used when triggering
2024-11-01 13:23:10 -07:00
William FHandGitHub 509291fc1a Bump CLI (#2302) 2024-11-01 19:53:48 +00:00
Vadym BardaandGitHub dbb1958be5 docs: add more redirects & remove unused cloud pages (#2301) 2024-11-01 19:40:21 +00:00
Vadym BardaandGitHub d261d43b39 docs: update the docs for streaming messages (#2299) 2024-11-01 14:38:41 -04:00
Andrew NguonlyandGitHub 6986a50711 Update LangGraph Server API docs (#2300) 2024-11-01 11:38:12 -07:00
Nuno CamposandGitHub e9fe3e8bd9 Merge pull request #2298 from langchain-ai/dqbd/cli-debugger-rename
chore(cli): rename Debugger to LangGraph Studio
2024-11-01 11:11:07 -07:00
ccurmeandGitHub bdca2f590a Merge pull request #2294 from langchain-ai/cc/webhooks
docs: add some detail on webhooks
2024-11-01 14:01:42 -04:00
Tat Dat Duong f4801ae9ae chore(cli): rename Debugger to LangGraph Studio 2024-11-01 18:47:35 +01:00
Nuno CamposandGitHub 47ea264b46 Merge pull request #2296 from langchain-ai/vb/remap
langgraph: handle messages-tuple stream mode in RemoteGraph
2024-11-01 09:50:51 -07:00
vbarda 84e023e10b langgraph: handle messages-tuple stream mode in RemoteGraph 2024-11-01 12:43:59 -04:00
Chester Curme 52f0953786 add detail 2024-11-01 11:23:16 -04:00
Vadym BardaandGitHub d9743f684e docs: update annotation in tutorial (#2293) 2024-11-01 13:57:16 +00:00
Vadym BardaandGitHub 4aebb461e9 docs: update core in docs dependencies (#2291) 2024-11-01 09:51:34 -04:00
Vadym BardaandGitHub c2cc1e2e5e docs: remove token-by-token streaming from stream events (#2292) 2024-11-01 13:27:06 +00:00
William FHandGitHub 66cf2e6779 Add Tree of Thoughts (#1128) 2024-10-31 21:27:13 -07:00
Vadym BardaandGitHub 7bacb8c984 langgraph: release 0.2.43 (#2286) 2024-10-31 17:57:21 -04:00
BagaturandGitHub e2de59c6fb langgraph[patch]: bump core ^0.3.15 || ^ 0.2.43 (#2285) 2024-10-31 17:53:03 -04:00
Vadym BardaandGitHub c28dc26356 docs: fix typo (#2283) 2024-10-31 16:27:07 -04:00
Eugene YurtsevandGitHub ea012fb7dc docs: reorder reference (#2282) 2024-10-31 20:25:58 +00:00
Nuno Campos 18e71469e1 Lint 2024-10-31 12:57:00 -07:00
Eugene YurtsevandGitHub 4b1d30906e ci: update deploy docs workflow to check external links on langchain.com (#2280)
Reverts temporary change that was made yesterday to accommodate a link
that was only available on the staging version of langchain.com
2024-10-31 14:48:32 -04:00
Eugene YurtsevandGitHub 8b36013a03 Fix bad tab in how-to guide (#2278) 2024-10-31 14:48:21 -04:00
Vadym BardaandGitHub ed91572ceb docs: expose how-to on rebuilding graph at runtime (#2281) 2024-10-31 18:34:16 +00:00
Eugene YurtsevandGitHub 4150abf18c docs: update reference layout (#2279)
![image](https://github.com/user-attachments/assets/62f1588c-d08d-474c-b512-a558759e7627)
2024-10-31 18:23:27 +00:00
Vadym BardaandGitHub e132dfc955 docs: update FAQ (#2277)
Sync with https://www.langchain.com/langgraph
2024-10-31 13:43:08 -04:00
Nuno Campos 2624fc43dd Fix 2024-10-31 09:40:24 -07:00
Nuno Campos 0c5c2e6370 lib: Add support for graphs without edges
- Return Control(update_state=, trigger=, send=) from your nodes instead
- Annotate nodes with Control[Literal["destination"]] to see your graph connections drawn
2024-10-31 09:38:43 -07:00
Harrison ChaseandGitHub f7a93f99ef cp readme over (#2274) 2024-10-31 15:17:26 +00:00
Vadym BardaandGitHub 9f29bbfce8 docs: add flags to self-hosted (#2272) 2024-10-31 11:11:26 -04:00
Vadym BardaandGitHub 0075080827 docs: update quick start (#2273) 2024-10-31 11:11:07 -04:00
Harrison ChaseandGitHub 63318e5690 Harrison/update readme 1 (#2262) 2024-10-31 10:02:40 -05:00
Harrison ChaseandGitHub d0c12b1b7f Harrison/update language (#2271) 2024-10-31 10:01:22 -05:00
Vadym BardaandGitHub 194b4e0d9b langgraph: release 0.2.42 (#2270) 2024-10-31 10:32:13 -04:00
Nuno CamposandGitHub c6c7f400ae Merge pull request #2256 from langchain-ai/nc/30oct/fix-messages-subgraphs
Fix stream_mode=messages used together with subgraphs=True
2024-10-31 07:27:04 -07:00
Vadym BardaandGitHub c91e6bcc46 Merge branch 'main' into nc/30oct/fix-messages-subgraphs 2024-10-31 10:14:04 -04:00
vbarda ca69566d67 remove events 2024-10-31 10:13:24 -04:00
Jacob LeeandGitHub 0bedfa3628 docs: Fix typos (#2266) 2024-10-31 10:00:37 -04:00
Vadym BardaandGitHub fd82f037c6 docs: update remote graph how-to (#2269) 2024-10-31 09:58:11 -04:00
Vadym BardaandGitHub 2bacc42e01 docs: fix typo in remote graph how-to (#2268) 2024-10-31 09:29:10 -04:00
Eugene YurtsevandGitHub b527b785fd disable more link checking (#2265) 2024-10-31 04:10:10 +00:00
Eugene YurtsevandGitHub c3622cb0fe docs: disable link check for link that doesn't exist yet (#2263) 2024-10-31 03:51:44 +00:00
d0e59f406b docs: concepts for cloud and doc-reorg (#2196)
Update langgraph documentation

---------

Co-authored-by: Vadym Barda <vadym@langchain.dev>
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
Co-authored-by: Nuno Campos <nuno@langchain.dev>
Co-authored-by: Chester Curme <chester.curme@gmail.com>
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2024-10-30 23:34:02 -04:00
Nuno Campos 4cc6d789ed Fix stream_mode=messages used together with subgraphs=True 2024-10-30 19:35:28 -07:00
BagaturandGitHub d6d6ab9b73 langgraph[patch]: fix core dep specification (#2253) 2024-10-30 21:50:46 -04:00
Vadym BardaandGitHub e7816eb197 ci: turn off release attestations (#2252) 2024-10-30 21:28:34 -04:00
Vadym BardaandGitHub 4f8b69360c langgraph: release 0.2.41 (#2251) 2024-10-30 21:22:54 -04:00
Vadym BardaandGitHub 0718d0a660 langgraph: fix caller_ns in remote graph (#2250) 2024-10-31 01:20:36 +00:00
BagaturandGitHub 3641e65cac langgraph[patch]: fix annotations in inherited tool schemas (#2236)
fix #2220
2024-10-30 21:19:02 -04:00
Nuno CamposandGitHub b17141604d Merge pull request #2247 from langchain-ai/jacob/nit
fix: Fix typo in remote graph astream
2024-10-30 14:59:27 -07:00
Nuno Campos 5fece1cbfc langgraph 0.2.40 2024-10-30 14:58:27 -07:00
Nuno CamposandGitHub a85b7fca15 Merge pull request #2246 from langchain-ai/nc/30oct/node-callback
Add "node finished" callback
2024-10-30 14:57:51 -07:00
jacoblee93 af9a09b182 Fix typo in remote graph astream 2024-10-30 14:52:59 -07:00
Nuno Campos 75c8f99d3c Add "node finished" callback 2024-10-30 14:45:09 -07:00
Nuno CamposandGitHub 46892855c5 Merge pull request #2242 from langchain-ai/nc/30oct/remote-subgraphs
fix: RemoteGraph should propagate subgraphs streaming
2024-10-30 14:23:45 -07:00
Nuno Campos 59e8d59b7c Fix 2024-10-30 14:17:50 -07:00
Nuno Campos 5cb6ff79ca Prepend ns 2024-10-30 14:09:43 -07:00
Nuno Campos 9c41ce0b1c Lint 2024-10-30 14:07:27 -07:00
Nuno Campos 61abee4bd4 Lint 2024-10-30 13:59:31 -07:00
Nuno Campos 43d9567c5d fix: RemoteGraph should propagate subgraphs streaming 2024-10-30 13:47:27 -07:00
Nuno CamposandGitHub 3923979479 Merge pull request #2235 from langchain-ai/nc/30oct/remote-invoke
lib: Ensure RemoteGraph.invoke emits all subgraph events as expected
2024-10-30 13:26:56 -07:00
Nuno Campos 5312fbd7f4 Fix 2024-10-30 13:20:55 -07:00
David DuongandGitHub ae412bbede Merge pull request #2237 from langchain-ai/jacob/sdk
feat(sdk-js): Support if_not_exists in SDK runs
2024-10-30 19:16:22 +01:00
jacoblee93 69c8d21ba6 Support if_not_exists 2024-10-30 11:10:08 -07:00
Nuno Campos 2dfc4e3cc0 lib: Ensure RemoteGraph.invoke emits all subgraph events as expected
- Just delegate to stream
2024-10-30 10:40:14 -07:00
74c8589045 Add support for Docker arg passthrough in langgraph CLI (#2206)
Added a js-example to show it builds
Adapted integration tests after removing the test CLI command

---------

Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-10-29 22:33:40 -07:00
Vadym BardaandGitHub 4717632ce7 sdk-py: more docstring updates (#2225) 2024-10-30 01:22:29 +00:00
Andrew NguonlyandGitHub 726a85f26b Add docstring to RemoteGraph (#2217) 2024-10-29 15:31:21 -07:00
Vadym BardaandGitHub 8a0650a46b sdk-py: update docstrings (#2221) 2024-10-29 20:31:12 +00:00
Vadym BardaandGitHub e7dc43b7ca langgraph: validate sync/async clients initialized correctly in RemoteGraph (#2214) 2024-10-29 13:21:10 -04:00
Nuno Campos 90195af1d8 sdk-py 0.1.35 2024-10-28 15:22:05 -07:00
Nuno Campos da707343dc sdk-js 0.0.19 2024-10-28 15:21:57 -07:00
Nuno CamposandGitHub 1f5fc505c6 Merge pull request #2204 from langchain-ai/nc/28oct/sdk-wait-raise-error
sdk: By default raise errors in /wait endpoint
2024-10-28 14:46:14 -07:00
Nuno Campos 4c655f841e Lint 2024-10-28 14:40:25 -07:00
Nuno Campos be27c96f3c sdk: By default raise errors in /wait endpoint 2024-10-28 14:27:13 -07:00
eric-langchainandGitHub 5090e30f71 Merge pull request #2185 from langchain-ai/update-docs-for-homepage-redesign
home page redesign docs
2024-10-28 11:47:34 -05:00
Lance MartinandGitHub 688de89864 Fix link that is causing docs build to fail (#2194) 2024-10-25 23:34:08 +00:00
Lance MartinandGitHub 62444d4c63 Update memory concept doc (#2181)
Add content on [memory
types](https://blog.langchain.dev/memory-for-agents/).
2024-10-25 14:08:04 -07:00
Eugene YurtsevandGitHub 4a970cca8b docs: update main site layout (#2191)
* Remove land hand sidebar on most pages
* Cleans up some headings
* Adds error reference information to index (it was already on the
sidebar for the how-to page) -- should probably be its own tab?
* Adds an index page for the reference (so it's easier to link to a main
reference page), alternatively we can set up a redirect from index to
graph
2024-10-25 16:49:31 -04:00
Eugene YurtsevandGitHub 18b9135770 docs: update tutorials index page (#2190)
Minor formatting update -- since this section stands right now looks
quite bad
2024-10-25 18:08:21 +00:00
David DuongandGitHub d266ddb312 Merge pull request #2167 from langchain-ai/dqbd/sdk-js-timeout
feat(sdk-js): implement abort signal timeout, make default timeout for runs 5 minutes
2024-10-25 15:40:30 +02:00
Tat Dat Duong 7a348ac19c Don't enforce timeouts for run stream / block endpoints 2024-10-25 15:34:36 +02:00
Eric han 123d93539a some more spots 2024-10-24 17:14:02 -05:00
Eric han 785e7dab3a home page redesign docs 2024-10-24 17:04:20 -05:00
Vadym BardaandGitHub 582fb11dd4 checkpoint-sqlite: release 2.0.1 (#2184) 2024-10-24 17:08:25 -04:00
Vadym BardaandGitHub 39d9cdbef0 checkpoint-postgres: release 2.0.2 (#2183) 2024-10-24 17:06:36 -04:00
Vadym BardaandGitHub 6dacd1aabe langgraph: always raise NodeInterrupt in ToolNode if raised from a tool (#2175) 2024-10-24 18:21:18 +00:00
Vadym BardaandGitHub 91ad8b803b checkpoint-duckdb: release 2.0.1 (#2180) 2024-10-24 13:58:48 -04:00
Vadym BardaandGitHub a0e99f704f checkpoint: release 2.0.2 (#2179) 2024-10-24 13:52:02 -04:00
Vadym BardaandGitHub def3e06b4a move py.typed to submodules for namespace packages (#2177) 2024-10-24 13:43:43 -04:00
David DuongandGitHub a4fab2a867 Merge pull request #2178 from langchain-ai/dqbd/sdk-bump-24oct
feat(sdk): bump SDK to js@0.0.18 and py@0.1.34
2024-10-24 18:58:07 +02:00
Tat Dat Duong cf1c7f3673 feat(sdk): bump SDK to js@0.0.18 and py@0.1.34 2024-10-24 18:51:56 +02:00
Nuno CamposandGitHub 6c05b66c7c Merge pull request #2176 from langchain-ai/dqbd/error-thread-state
fix(sdk): add error thread state
2024-10-24 09:23:20 -07:00
Tat Dat Duong 5c44dcef81 fix(sdk): add error thread state 2024-10-24 18:16:21 +02:00
Nuno Campos 7fd6b1b4be Fix 2024-10-24 08:48:46 -07:00
Vadym BardaandGitHub 6202e0f1d9 docs: update branching how-to notebook (#2174) 2024-10-24 14:56:19 +00:00
Tat Dat Duong ccfeafa975 feat(sdk-js): implement abort signal timeout, make default timeout for runs 5 minutes 2024-10-24 09:38:42 +02:00
Nuno CamposandGitHub 83238f51d8 Merge pull request #2166 from langchain-ai/nc/23oct/remote-graph-interop
Interop of RemoteGraph w core lib
2024-10-23 20:36:38 -07:00
Nuno Campos 05f008cbfb Lint 2024-10-23 20:30:32 -07:00
Nuno Campos a8ae2a52a3 Lint 2024-10-23 20:27:18 -07:00
Nuno Campos aa245a8e71 Fix up 2024-10-23 20:22:04 -07:00
bdc75a22d5 langgraph: expand handle_tool_errors in ToolNode (#1667)
This change expands error-handling functionality of the `ToolNode` by
introducing more options for `handle_tool_errors`. Default behavior of
the `ToolNode` is unchanged -- all errors are handled and wrapped in a
`ToolMessage` to be sent back to LLM.

With this change, users have flexibility to only handle the exceptions
that they need to pass back to the LLM:

* they can specify exceptions to handle by passing a tuple of exceptions
in `handle_tool_errors`
* specify `handle_tool_errors=True/str/callable`
* when `handle_tool_errors` is a callable, the signature will be
inspected and exceptions from the signature will be handled

---------

Co-authored-by: vbarda <vadym@langchain.dev>
2024-10-24 00:58:05 +00:00
Nuno Campos 69227daff3 Lint 2024-10-23 17:01:58 -07:00
Nuno Campos dc8260bb72 Interop of RemoteGraph w core lib 2024-10-23 15:37:17 -07:00
Vadym BardaandGitHub 62a5ec509d checkpoint: add DuckDB store (#2154) 2024-10-23 22:20:10 +00:00
Vadym BardaandGitHub d32386f849 checkpoint: add DuckDB checkpointer (#2145) 2024-10-23 21:11:03 +00:00
Nuno CamposandGitHub 08a1ed38f1 Merge pull request #2092 from langchain-ai/an/11oct/remote-graph-interrupt
Update `stream()` and `astream()` methods in `RemoteGraph` to process `updates` event types
2024-10-23 13:48:43 -07:00
Nuno Campos 037a95ff60 Update tests 2024-10-23 13:43:48 -07:00
Nuno Campos e294720ec5 Lint 2024-10-23 13:29:59 -07:00
Nuno Campos f8a0b7a464 Use if_not_exists 2024-10-23 13:24:19 -07:00
Nuno Campos 1121806ba4 Add if_not_exists 2024-10-23 13:23:49 -07:00
Nuno Campos dca200d6c4 Finish 2024-10-23 13:23:42 -07:00
Vadym BardaandGitHub 6f236b5f2c docs: update multi-agent concept examples (#2151) 2024-10-23 13:40:24 -04:00
Vadym BardaandGitHub 916affa1b5 langgraph: add 'messages_key' param to ToolNode / tools_condition (#2049) 2024-10-22 17:32:05 -04:00
Nuno Campos 58cf0c6a6e chore: Switch s3 client utils from httpx client to curl client 2024-10-22 10:46:37 -07:00
gbaian10andGitHub 0042889c31 Support read type hints from the method in add_node (#2014)
Add function to read type hints from the `__call__` method to resolve issue #1950.
2024-10-22 17:11:59 +00:00
nikhildigdeandGitHub 2be012d8ed docs: fix typo in concept docs 2024-10-21 21:40:47 +00:00
Yuki OshimaandGitHub 780285ef91 Fix(docs): InMemoryStore example error (#2148) 2024-10-21 18:39:43 +00:00
Nuno CamposandGitHub 47c7b76aa1 Merge pull request #2152 from langchain-ai/nc/21oct/skip-docker-login-for-forks
ci: Skip docker login for PRs from forks
2024-10-21 10:09:54 -07:00
Nuno Campos 9931f61525 ci: Skip docker login for PRs from forks 2024-10-21 10:04:40 -07:00
Nuno CamposandGitHub 0d81ad92f0 Merge pull request #2143 from langchain-ai/nc/19oct/async-max-concurrency
lib: Add max_concurrency for async executions
2024-10-19 15:16:15 -07:00
Nuno Campos 7d3f2ca3ed Lint 2024-10-19 15:11:18 -07:00
Nuno Campos 42648c88dd lib: Add max_concurrency for async executions 2024-10-19 12:45:01 -07:00
Vadym BardaandGitHub 1aab758634 langgraph: release 0.2.39 (#2139) 2024-10-18 14:47:50 -04:00
Vadym BardaandGitHub b5fbc7a7b8 docs: temporarily disable some link checks (#2138) 2024-10-18 14:37:19 -04:00
b647dcb0f2 feat: Add LangGraph error pages (#2136)
Co-authored-by: Erick Friis <erick@langchain.dev>
Co-authored-by: vbarda <vadym@langchain.dev>
2024-10-18 18:20:22 +00:00
Nuno CamposandGitHub 4df5680732 Merge pull request #2132 from langchain-ai/nc/17oct/stream-messages-nostream-tag
For stream_mode=messages skip any nodes/llms with tag nostream
2024-10-17 15:57:09 -07:00
Nuno Campos 74a17a6d4c Update tests 2024-10-17 15:52:17 -07:00
Nuno Campos e2a3698250 For stream_mode=messages skip any nodes/llms with tag nostream 2024-10-17 15:28:14 -07:00
Vadym BardaandGitHub 4dfdb9a83e docs: update tags for store endpoints in API docs (#2127) 2024-10-16 16:34:54 +00:00
Vadym BardaandGitHub 583d8c9499 docs: update tutorial names/links (#2126) 2024-10-16 15:17:28 +00:00
vbarda 15bbede7bc update image in multi-agent concepts 2024-10-16 10:59:07 -04:00
Vadym BardaandGitHub 3ffdf4bb3f docs: update image in concepts (#2125) 2024-10-16 13:59:17 +00:00
Nuno CamposandGitHub 6578698414 Merge pull request #2124 from langchain-ai/dqbd/js-bump-0.0.17
feat(sdk-js): bump to 0.0.17
2024-10-16 06:21:22 -07:00
Tat Dat Duong 048ae6c17b feat(sdk-js): bump to 0.0.17 2024-10-16 15:19:39 +02:00
Nuno CamposandGitHub 0e2c2eb13a Merge pull request #2120 from langchain-ai/nc/15oct/executor-dict
fix: Avoid errors from executor modifying tasks dict during exit routine
2024-10-15 16:15:55 -07:00
Nuno Campos 515c4ffebe Fix 2024-10-15 16:11:08 -07:00
Nuno Campos eefe057a47 fix: Avoid errors from executor modifying tasks dict during exit routine
- This could happen if a task happened to finish while the exit routine is running
2024-10-15 15:13:46 -07:00
18f34c30d8 docs: update subgraph how-to (#2079)
Co-authored-by: vbarda <vadym@langchain.dev>
2024-10-15 17:30:34 -04:00
2670bcf330 docs: add concepts for subgraphs and multi-agent (#2069)
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
Co-authored-by: Nuno Campos <nuno@langchain.dev>
2024-10-15 17:17:22 -04:00
bracesproul 433c382280 cr 2024-10-15 11:37:20 -07:00
bracesproul 7352ab14a2 cr 2024-10-15 11:36:37 -07:00
bracesproul 85a76912d3 fix(sdk-js): Pass api key in headers by default if in env 2024-10-15 11:33:40 -07:00
Nuno Campos f6fb2ef5ca langgraph 0.2.38 2024-10-15 11:04:22 -07:00
Vadym BardaandGitHub 2fb7e92879 docs: update recursion notebook to use RemainingSteps (#2114) 2024-10-15 12:05:46 -04:00
Nuno CamposandGitHub 46b2d08a8a Merge pull request #2115 from langchain-ai/nc/15oct/update-is-last-step
Return IsLastStep to previous definition
2024-10-15 08:41:30 -07:00
Nuno Campos 649b742e0a Update types for RemainingSteps, return IsLastStep to previous definition 2024-10-15 08:35:31 -07:00
Nuno CamposandGitHub fd4629e778 Merge pull request #2112 from langchain-ai/vb/fix-type
langgraph: fix type for RemainingSteps
2024-10-15 08:34:50 -07:00
vbarda d14f98f01b langgraph: fix type for RemainingSteps 2024-10-15 09:07:00 -04:00
Nuno Campos c0b56bf60d langgraph 0.2.37 2024-10-14 17:29:11 -07:00
Nuno CamposandGitHub e8b875906f Merge pull request #2105 from langchain-ai/nc/14oct/is-last-step-fix
Fix IsLastStep counter for runs with checkpointers
2024-10-14 17:21:31 -07:00
Nuno Campos d48faecd42 Fix 2024-10-14 17:16:32 -07:00
Nuno Campos 5e175e098b Update kafka 2024-10-14 17:10:10 -07:00
Nuno Campos bcf335651e Fix is_last_step 2024-10-14 17:05:16 -07:00
Nuno Campos 965849823a Fix 2024-10-14 17:03:53 -07:00
Nuno Campos 45e7101457 Backwards compat 2024-10-14 16:57:25 -07:00
Nuno Campos ecd75a8c4d Fix IsLastStep counter for runs with checkpointers
- Share step/stop logic with PregelLoop
- Add RemainingSteps value which contains the number of remaining steps
- Switch create_react_agent to use RemainingSteps, so that it behave correctly for return_direct tools
2024-10-14 16:54:16 -07:00
Nuno CamposandGitHub edec5c055e Merge pull request #2065 from langchain-ai/dqbd/debug-stream-checkpoint-map
fix(debug): send checkpoint_map as well
2024-10-14 15:50:39 -07:00
Nuno Campos ff310cc8d6 One more 2024-10-14 15:45:12 -07:00
Nuno Campos 233bd78ee4 Add checkpoint_map to parent_config 2024-10-14 15:44:18 -07:00
Nuno Campos b818bf2fba Fix up 2024-10-14 15:32:41 -07:00
Tat Dat DuongandNuno Campos c5ec568cfb Patch config before entering map_debug_checkpoint 2024-10-14 15:16:24 -07:00
Tat Dat DuongandNuno Campos 29548b2e27 fix(debug): add failing tests 2024-10-14 15:16:03 -07:00
Nuno Campos f2dc537696 langgraph 0.2.36 2024-10-14 12:28:43 -07:00
Nuno Campos 31d21c8d24 sdk-py 0.1.33 2024-10-14 12:28:22 -07:00
Nuno CamposandGitHub 4a03ed5915 Merge pull request #2091 from langchain-ai/nc/11oct/checkpoint-task-result
lib: Add result for each task in a checkpoint
2024-10-14 11:37:28 -07:00
Nuno Campos dc083c6563 Fix 2024-10-14 11:31:03 -07:00
Nuno Campos bfe005fef0 Lint 2024-10-14 10:30:59 -07:00
vbarda 5388b7c74f install dev sdk 2024-10-14 13:23:18 -04:00
vbarda 0d4617817d Merge branch 'nc/11oct/checkpoint-task-result' of github.com:langchain-ai/langgraph into nc/11oct/checkpoint-task-result 2024-10-14 13:20:25 -04:00
Nuno Campos 5046ec4f43 Lint 2024-10-14 10:16:14 -07:00
Nuno Campos c26bb9e156 lib: Add result for each task in a checkpoint
- Note this requires disabling the optimization that avoids saving writes for the last task in a step
2024-10-14 10:16:14 -07:00
Nuno CamposandGitHub 3982090c6d Merge pull request #2088 from langchain-ai/nc/11oct/stream-interrupt
lib: Add interrupts to stream_mode=updates
2024-10-14 10:15:53 -07:00
Nuno CamposandGitHub 6d3a2c59da Merge pull request #2102 from langchain-ai/vb/ci-update
ci: run core 0.2.x for a single python version
2024-10-14 10:15:38 -07:00
vbardaandNuno Campos 79444dee9c ci: run core 0.2.x for a single python version 2024-10-14 10:10:42 -07:00
Nuno CamposandGitHub 07f8f87780 Merge pull request #2103 from langchain-ai/nc/14oct/docker-ro-token
Add read-only token for pulling public images from dockerhub
2024-10-14 10:07:45 -07:00
Nuno Campos 99bde8774e Add read-only token for pulling public images from dockerhub 2024-10-14 09:56:24 -07:00
Nuno CamposandGitHub 5946f4ff2b Merge pull request #2100 from langchain-ai/vb/copy
langgraph: support copy without update in Pregel
2024-10-14 09:12:36 -07:00
vbarda b99734d157 langgraph: support copy without update in Pregel 2024-10-14 10:14:41 -04:00
Vadym BardaandGitHub d1c29fc8be docs: remove example with missing link (#2099) 2024-10-14 14:05:48 +00:00
Andrew Nguonly 19ccb0c6af Update astream_events() to process interrupt. 2024-10-11 19:06:52 -07:00
Andrew Nguonly a277b86fcb Fix unit test. 2024-10-11 18:53:45 -07:00
Andrew Nguonly 2f819a6a9b Update stream() and astream() to process 'updates' event types. 2024-10-11 18:40:40 -07:00
Nuno Campos dc47c7b357 lib: Add result for each task in a checkpoint
- Note this requires disabling the optimization that avoids saving writes for the last task in a step
2024-10-11 16:08:00 -07:00
Nuno Campos 561aa3080e Lint 2024-10-11 14:28:16 -07:00
Nuno Campos c6a450b857 lib: Add interrupts to stream_mode=updates 2024-10-11 14:28:16 -07:00
Nuno Campos 0557fb03a4 format 2024-10-11 14:28:08 -07:00
Nuno CamposandGitHub c9adf995c2 Merge pull request #2087 from langchain-ai/nc/11oct/o-flag
fix: Work w python's O flag
2024-10-11 12:03:21 -07:00
Nuno Campos fc20de5bba Fix 2024-10-11 11:39:19 -07:00
Nuno Campos 0822a287e3 fix: Work w python's O flag
- assert statements are skipped in that case, so we need to move calls to apply_writes to outside assert statements
2024-10-11 11:24:56 -07:00
Andrew NguonlyandGitHub 66741ba071 Rename RemotePregel to RemoteGraph (#2085) 2024-10-11 10:55:04 -07:00
Andrew NguonlyandGitHub e72c25873f Implement PregelProtocol and RemotePregel class (attempt 2) (#2078)
### Summary
Redo of [this PR](https://github.com/langchain-ai/langgraph/pull/2034)
(branched from clean branch).
2024-10-11 09:23:12 -07:00
Vadym BardaandGitHub 739336516d docs: remove empty cells for admonitions (#2082) 2024-10-11 13:36:24 +00:00
Nuno CamposandGitHub ae6c793bdf Merge pull request #2077 from langchain-ai/nc/10oct/313
Test w Python 3.13 in CI
2024-10-10 16:35:53 -07:00
Nuno Campos d8954963b4 Update snapshots 2024-10-10 16:27:43 -07:00
Nuno Campos ea38ba9e29 Update uvloop 2024-10-10 16:22:34 -07:00
Nuno Campos 76229ade66 Update psycopg 2024-10-10 16:17:19 -07:00
Nuno Campos 4aad36947e Upgrade pydantic 2024-10-10 16:13:05 -07:00
Nuno Campos cb7b667e6f Update psycopg 2024-10-10 16:09:24 -07:00
Nuno Campos 822ddb5f48 Test aux libs 2024-10-10 16:06:05 -07:00
Nuno Campos de355ee2d2 Update rpds-py 2024-10-10 16:05:43 -07:00
Nuno Campos 9ca270d62d Test w Python 3.13 in CI 2024-10-10 15:58:59 -07:00
David DuongandGitHub 28b5105913 Merge pull request #2070 from langchain-ai/dqbd/debug-self-referencing-checkpoint
fix(debug): self-referencing checkpoints when resuming streaming mid-thread
2024-10-10 12:44:45 +02:00
Tat Dat Duong be47752f0e Initialise to None 2024-10-10 11:15:54 +02:00
Isaac FranciscoandGitHub aa83f4a33e adding support for more notebooks in CI (#2060) 2024-10-10 01:48:13 +00:00
Tat Dat Duong 4d69331a52 Add async tests 2024-10-10 02:29:28 +02:00
Tat Dat Duong fb8c386958 fix(debug): address self-referencing 2024-10-10 02:21:32 +02:00
Tat Dat Duong ac8b51f1f2 fix(debug): add failing test for self-referencing 2024-10-10 02:21:17 +02:00
Vadym BardaandGitHub db0f508269 docs: add custom hooks for rendering jupyter notebooks (#2067) 2024-10-09 18:49:54 -04:00
Vadym BardaandGitHub fe110ae145 docs: fix intro in supervisor tutorial (#2068) 2024-10-09 20:59:49 +00:00
David DuongandGitHub fc276c5ac0 Merge pull request #2066 from langchain-ai/dqbd/checkpoint-sdk-js
fix(sdk-js): pass checkpoint when creating run
2024-10-09 20:50:54 +02:00
Tat Dat Duong 9360545659 Remove deprecated message 2024-10-09 20:41:18 +02:00
Tat Dat Duong 26e30ad6af Remove error warning 2024-10-09 20:40:24 +02:00
Tat Dat Duong 8df533b489 fix(sdk-js): allow passing checkpoint when creating a run 2024-10-09 20:34:19 +02:00
Vadym BardaandGitHub f9df0f4700 docs: update many tools how-to chart (#2059) 2024-10-09 13:46:59 +00:00
David DuongandGitHub 5d0afa3888 Merge pull request #2048 from langchain-ai/dqbd/debug-tasks-state
feat(debug): send tasks info
2024-10-09 14:38:26 +02:00
Tat Dat Duong a53a566730 Bump to 0.2.35 2024-10-09 14:33:14 +02:00
Andrew NguonlyandTat Dat Duong d2c359f7c9 docs: Update LangGraph API docs (#2056)
### Summary
Adding endpoints for `/subgraphs` and `/store`.
2024-10-09 14:33:14 +02:00
Andrew NguonlyandTat Dat Duong c4d251b05c sdk-py: Add Sequence[dict] type to values param type for update_state() (#2054)
### Summary
The LangGraph API supports a list of `dict` for the `values` field for
the `POST /threads/<thread_id>/state` endpoint.

Reference:
https://github.com/langchain-ai/langgraph-api/blob/main/api/openapi.json#L3005-L3021
2024-10-09 14:33:14 +02:00
Andrew NguonlyandTat Dat Duong 9a752e1563 sdk-py: Add "*" literal to interrupt_before and interrupt_after types (#2053)
### Summary
The LangGraph API supports the literal string `"*"` for
`interrupt_before` and `interrupt_after`.

Reference:
https://github.com/langchain-ai/langgraph-api/blob/main/api/openapi.json#L2425
2024-10-09 14:33:14 +02:00
Andrew NguonlyandTat Dat Duong 6d4a426059 sdk-py: Add custom stream mode to StreamMode type (#2051)
### Summary
The LangGraph API supports `custom` stream mode type.

Reference:
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/cloud/reference/api/openapi.json#L2403
2024-10-09 14:33:14 +02:00
Andrew NguonlyandTat Dat Duong 598bb5a641 sdk-py: Update return type annotation for Thread.update_state() methods. (#2050)
### Summary
The response body of the endpoint `POST /threads/{thread_id}/state`
looks like this:
```
{
    "checkpoint": {
        "thread_id": "e2496803-ecd5-4e0c-a779-3226296181c2",
        "checkpoint_ns": "",
        "checkpoint_id": "1ef4a9b8-e6fb-67b1-8001-abd5184439d1",
        "checkpoint_map": {}
    }
}
```
2024-10-09 14:33:14 +02:00
Andrew NguonlyandGitHub 28ff7fd7ba docs: Update LangGraph API docs (#2056)
### Summary
Adding endpoints for `/subgraphs` and `/store`.
2024-10-08 16:44:01 -07:00
Tat Dat Duong 0628c6402f Fix typo 2024-10-09 01:00:36 +02:00
Tat Dat Duong db61d294a6 Code review 2024-10-09 01:00:06 +02:00
Andrew NguonlyandGitHub 7883ceae64 sdk-py: Add Sequence[dict] type to values param type for update_state() (#2054)
### Summary
The LangGraph API supports a list of `dict` for the `values` field for
the `POST /threads/<thread_id>/state` endpoint.

Reference:
https://github.com/langchain-ai/langgraph-api/blob/main/api/openapi.json#L3005-L3021
2024-10-08 13:49:27 -07:00
Andrew NguonlyandGitHub 6698e25a04 sdk-py: Add "*" literal to interrupt_before and interrupt_after types (#2053)
### Summary
The LangGraph API supports the literal string `"*"` for
`interrupt_before` and `interrupt_after`.

Reference:
https://github.com/langchain-ai/langgraph-api/blob/main/api/openapi.json#L2425
2024-10-08 13:29:11 -07:00
Andrew NguonlyandGitHub fd1a9e4da3 sdk-py: Add custom stream mode to StreamMode type (#2051)
### Summary
The LangGraph API supports `custom` stream mode type.

Reference:
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/cloud/reference/api/openapi.json#L2403
2024-10-08 12:44:37 -07:00
Andrew NguonlyandGitHub 82c316b3f7 sdk-py: Update return type annotation for Thread.update_state() methods. (#2050)
### Summary
The response body of the endpoint `POST /threads/{thread_id}/state`
looks like this:
```
{
    "checkpoint": {
        "thread_id": "e2496803-ecd5-4e0c-a779-3226296181c2",
        "checkpoint_ns": "",
        "checkpoint_id": "1ef4a9b8-e6fb-67b1-8001-abd5184439d1",
        "checkpoint_map": {}
    }
}
```
2024-10-08 12:04:26 -07:00
Tat Dat Duong 7a282f82dc Tests? 2024-10-08 20:55:49 +02:00
Tat Dat Duong 45a12c938b Add more nested tests for nested subgraphs 2024-10-08 20:49:16 +02:00
Tat Dat Duong b51f5d6345 Fix optional types 2024-10-08 20:09:51 +02:00
Tat Dat Duong f9e900f39a Fix 3.9 2024-10-08 19:58:42 +02:00
Tat Dat Duong e564902753 Add async tests 2024-10-08 19:57:39 +02:00
Tat Dat Duong e3bee7d843 Add tests 2024-10-08 19:52:05 +02:00
Tat Dat Duong 4f61dd1aa6 Fix tests 2024-10-08 19:18:52 +02:00
Tat Dat Duong 7e9cf02922 Use casting instead 2024-10-08 17:08:08 +02:00
Tat Dat Duong 50b1a1e230 Cleanup, move instanceof checks to an util 2024-10-08 17:01:40 +02:00
Tat Dat Duong c1081af6bc Fix lint 2024-10-08 16:41:48 +02:00
Tat Dat Duong dfb265f296 feat(debug): send tasks info 2024-10-08 16:21:38 +02:00
William FHandGitHub 254b12a62d Use AsyncBatch for postgres store (#2020) 2024-10-08 06:58:26 +00:00
7c2a89dbc8 docs memory concept: Suggestion batch 1 (#2040)
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2024-10-08 02:55:51 +00:00
Eugene YurtsevandGitHub 34b23fce06 docs: batch 2 Update memory.md (#2041) 2024-10-07 19:53:50 -07:00
Vadym BardaandGitHub 4633364e8e docs: small edits to memory concepts (#2039) 2024-10-07 18:31:48 -07:00
William FHandGitHub 23c1957812 Update glossary (#2038) 2024-10-08 01:03:11 +00:00
William FHandGitHub 90b8b4d745 Fixup Grammar (#2037) 2024-10-07 16:56:13 -07:00
William FHandGitHub 45957cc72a Docs Nits Pass 2 (#2036) 2024-10-07 16:48:22 -07:00
d5da547850 Shared state conceptual docs (#1958)
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2024-10-07 23:16:34 +00:00
Riya SinhaandGitHub 61798d09d2 checkpoint: set CheckpointNS ConfigurableFieldSpec model default to empty string (#2019) 2024-10-07 18:38:18 +00:00
Nuno CamposandGitHub 4685dc103a Merge pull request #2032 from langchain-ai/nc/7oct/kafka-loop-arg
scheduler-kafka: Pass loop arg to default async consumer and producer
2024-10-07 10:22:31 -07:00
Nuno Campos e5b4cd2701 scheduler-kafka: Pass loop arg to default async consumer and producer
- Some forks of aiokafka make this a required arg
2024-10-07 10:16:36 -07:00
David DuongandGitHub debfd85ff8 Merge pull request #2031 from langchain-ai/dqbd/js-0.0.16
feat(sdk-js): bump to 0.0.16
2024-10-07 18:15:46 +02:00
Tat Dat Duong 24f21a0ad8 feat(sdk-js): bump to 0.0.16 2024-10-07 18:10:32 +02:00
David DuongandGitHub b5138cd8f9 Merge pull request #2029 from langchain-ai/dqbd/js-get-history-checkpoint
feat(sdk-js): add `checkpoint` arg in `getHistory`
2024-10-07 17:52:27 +02:00
Tat Dat Duong 05f645b87c Make types more explicit 2024-10-07 17:47:36 +02:00
Tat Dat Duong 9ff5715961 feat(sdk-js): add checkpoint arg in getHistory 2024-10-07 17:24:29 +02:00
William FHandGitHub b42a31fdae Rm dup END (#2022) 2024-10-06 21:24:11 -07:00
William FHandGitHub 57727be9db Checkpoint 2.0.1 (#2018) 2024-10-06 14:10:48 -07:00
William FHandGitHub 05dbc1d498 Validate in async batched store (#2017) 2024-10-06 14:09:35 -07:00
b35fe5864d docs: update how-to for passing runtime values (#1984)
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2024-10-05 01:23:55 +00:00
Andrew NguonlyandGitHub db3271ace5 docs: Update field descriptions for API spec (#2013) 2024-10-04 22:32:20 +00:00
bacf92c441 langgraph: add support for passing store via state_modifier (#1992)
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2024-10-04 15:28:56 -07:00
Andrew NguonlyandGitHub c847f7df4e docs: Updates to API spec (#2012) 2024-10-04 22:12:13 +00:00
Vadym BardaandGitHub c2dc498b1c docs: clean up memory docs (#2000) 2024-10-04 16:58:22 -04:00
Andrew NguonlyandGitHub c2171f4a20 docs: Create API spec (#2009) 2024-10-04 20:40:01 +00:00
William FHandGitHub d8d4714a73 Update JS sdk version (#2008) 2024-10-04 11:04:10 -07:00
William FHandGitHub 018e9ac42e Check is string in store namespace validation (on put) (#2007) 2024-10-04 17:55:30 +00:00
Brace SproulandGitHub f9afd3c215 Merge pull request #1993 from langchain-ai/brace/after-seconds-js
fix(js): Add afterSeconds run arg
2024-10-03 11:18:02 -07:00
Eugene YurtsevandGitHub ac7903b3dc docs: how to guide batch 4 (#1991)
Updated the following guides:

docs/docs/how-tos/streaming-content.ipynb

docs/docs/how-tos/streaming-events-from-within-tools-without-langchain.ipynb
docs/docs/how-tos/streaming-events-from-within-tools.ipynb
docs/docs/how-tos/streaming-tokens-without-langchain.ipynb
2024-10-03 14:11:53 -04:00
Eugene YurtsevandGitHub 4a8510b690 docs: minor formatting change for how to docs 2024-10-03 13:47:59 -04:00
bracesproul 92e75aac17 cr 2024-10-03 09:40:37 -07:00
bracesproul 3e8be7fd79 fix(js): Add afterSeconds run arg 2024-10-03 09:40:10 -07:00
Vadym BardaandGitHub 99fd0eedbd docs: clean up and standardize more how-tos (#1959) 2024-10-03 13:40:34 +00:00
f55586ea23 [Docs] Drop memory doc (#1986)
---------

Co-authored-by: vbarda <vadym@langchain.dev>
2024-10-03 03:05:49 +00:00
Vadym BardaandGitHub 055b2ae74f ci: filter to added/modified for notebooks (#1987) 2024-10-03 02:27:57 +00:00
Isaac FranciscoandGitHub c39e08ec8e export checkpoint type from js-sdk (#1973) 2024-10-02 18:47:34 -07:00
William FHandGitHub c74aba8cc5 [Docs] Storage ref docs (#1985) 2024-10-02 16:53:39 -07:00
Eugene YurtsevandGitHub d683630094 docs: how-to fix some issues (#1983)
Fixes some issues introduced while updating how-to docs
2024-10-02 22:06:03 +00:00
Vadym BardaandGitHub 86edf631e3 langgraph: release 0.2.34 (#1982) 2024-10-02 17:42:14 -04:00
Vadym BardaandGitHub 93c22fbdde langgraph: add store to the prebuilt agent (#1981) 2024-10-02 21:38:15 +00:00
Eugene YurtsevandGitHub 7f95d7de42 docs: how to guide batch 2 (#1956)
Updates the following how to guides

docs/docs/how-tos/disable-streaming.ipynb
docs/docs/how-tos/input_output_schema.ipynb
docs/docs/how-tos/many-tools.ipynb
docs/docs/how-tos/map-reduce.ipynb
docs/docs/how-tos/node-retries.ipynb
docs/docs/how-tos/pass-config-to-tools.ipynb
docs/docs/how-tos/pass_private_state.ipynb
2024-10-02 17:29:21 -04:00
Eugene YurtsevandGitHub 1a4f375226 docs: how-to guides batch 3 (#1979)
Updates the following how to guides:

docs/docs/how-tos/persistence.ipynb
docs/docs/how-tos/persistence_mongodb.ipynb
docs/docs/how-tos/persistence_postgres.ipynb
docs/docs/how-tos/persistence_redis.ipynb
docs/docs/how-tos/react-agent-from-scratch.ipynb
docs/docs/how-tos/react-agent-structured-output.ipynb
docs/docs/how-tos/recursion-limit.ipynb
docs/docs/how-tos/return-when-recursion-limit-hits.ipynb
docs/docs/how-tos/run-id-langsmith.ipynb
docs/docs/how-tos/state-model.ipynb
2024-10-02 17:29:01 -04:00
William FHandGitHub 6c0da426c6 [PostGres Checkpointer] Run CI on PG15 as well (#1953) 2024-10-02 19:16:58 +00:00
William FHandGitHub 7ede237508 [Docs] Add SDK ref docs for the Store client (#1974) 2024-10-02 19:16:36 +00:00
Jacob LeeandGitHub fb382c20f7 fix: Fix for drawing subgraphs with multiple sinks (#1962)
* Fix for drawing subgraphs with multiple sinks

* Expand error message
2024-10-02 12:03:30 -07:00
Vadym BardaandGitHub 9821638965 docs: add InjectedStore to reference (#1976) 2024-10-02 18:54:25 +00:00
Vadym BardaandGitHub e48d9d3c38 docs: add a note for shared memory to persistence how-to (#1975) 2024-10-02 18:41:23 +00:00
Vadym BardaandGitHub 7ecc672e61 langgraph: release 0.2.33 (#1972) 2024-10-02 13:43:17 -04:00
Vadym BardaandGitHub 7efd3c726e langgraph: add support for store in ToolNode (#1968) 2024-10-02 17:39:25 +00:00
Eugene YurtsevandGitHub 74b36adb18 docs: update how-to guides batch 1 (#1918)
Add links to the following how-to guides:

docs/docs/how-tos/async.ipynb
docs/docs/how-tos/branching.ipynb
docs/docs/how-tos/configuration.ipynb
docs/docs/how-tos/create-react-agent-hitl.ipynb
docs/docs/how-tos/create-react-agent-memory.ipynb
docs/docs/how-tos/create-react-agent-system-prompt.ipynb
docs/docs/how-tos/create-react-agent.ipynb

Identified two missing concepts:
1) RunnableConfig in LangChain
2) Unclear where ReAct should link in langgraph
2024-10-02 15:09:11 +00:00
Eugene YurtsevandGitHub 2f7da90a38 docs: check for format violations with ruff (#1967) 2024-10-02 14:40:33 +00:00
William FHandGitHub a3cb9c1a94 Validate no empty namespace is added (#1961)
Also check the root label isn't "langgraph"
2024-10-01 18:43:45 -07:00
Vadym BardaandGitHub e0fd95b22a docs: update tutorial for long-term memory (#1955) 2024-10-01 17:56:43 -07:00
William FHandGitHub db87642a10 Revert "Validate not empty (#1957)" (#1960)
This reverts commit cf67acb699.
2024-10-01 17:44:08 -07:00
William FHandGitHub cf67acb699 Validate not empty (#1957) 2024-10-01 17:23:44 -07:00
Lance MartinandGitHub 36be928791 Fix link (#1954) 2024-10-01 20:47:30 +00:00
Brace SproulandGitHub 702b5949d9 fix(sdk-js): Release 0.0.14 2024-10-01 13:18:02 -07:00
Brace SproulandGitHub 267485f3e6 Merge branch 'main' into rc 2024-10-01 13:13:01 -07:00
William FHandGitHub 5c3ac5d16d Update PG Implementation (#1948) 2024-10-01 13:11:19 -07:00
Vadym BardaandGitHub db6f8a53b6 docs: add shared memory how to (#1920) 2024-10-01 19:54:59 +00:00
98d1f27471 Add memory conceptual doc (#1868)
* Add memory conceptual doc

* update

* typo

* v1 conceptual doc

* Update per feedback

* Capture feedback

* Update based on feedback

* Remove memory service

* Address comments

---------

Co-authored-by: Chester Curme <chester.curme@gmail.com>
2024-10-01 12:54:23 -07:00
bracesproul 79cded748d fix(sdk-js): Release 0.0.14 2024-10-01 12:45:57 -07:00
Brace SproulandGitHub c08dd2f71c Merge pull request #1949 from langchain-ai/brace/update-rc
fix: Update rc branch
2024-10-01 12:44:02 -07:00
bracesproul 7dbb5ce98f Merge branch 'main' of https://github.com/langchain-ai/langgraph into rc 2024-10-01 12:37:22 -07:00
Brace SproulandGitHub 813aadeb47 Merge pull request #1947 from langchain-ai/brace/fix-null-obj-err
fix(sdk-js): Fix null item error
2024-10-01 12:36:57 -07:00
Vadym BardaandGitHub 4a45f6c99a langgraph, sqlite, postgres: update to use langgraph-checkpoint==2.0.0 (#1946) 2024-10-01 15:28:06 -04:00
bracesproul 38a3e11c9f cr 2024-10-01 11:32:07 -07:00
bracesproul 8486c9d413 fix(sdk-js): Fix null item error 2024-10-01 11:31:29 -07:00
Vadym BardaandGitHub 00662ab557 ci: update the check for changed notebooks (#1945) 2024-10-01 18:14:32 +00:00
Brace SproulandGitHub db4191b89e Merge pull request #1943 from langchain-ai/release
Release 0.0.14-rc.0
2024-10-01 10:48:36 -07:00
bracesproul 45bf27bafe Release 0.0.14-rc.0 2024-10-01 10:45:49 -07:00
Brace SproulandGitHub 11d636ff83 Merge pull request #1910 from langchain-ai/wfh/js_store_client
Add JS SDK Store Client
2024-10-01 10:44:06 -07:00
Vadym BardaandGitHub 78c9c15b14 langgraph, checkpoint: update versions (#1942) 2024-10-01 13:43:07 -04:00
Vadym BardaandGitHub 46b52b2426 ci: run notebook checks for changed notebooks (#1941) 2024-10-01 16:50:24 +00:00
Eugene YurtsevandGitHub 674180ad0c docs: Add linting check as part of docs deploy (#1939)
We'll need to add the same thing as part of CI testing, but a second check
during deployment wont hurt in case CI is by passed for whatever reason.
2024-10-01 10:50:39 -04:00
Vadym BardaandGitHub 71efff7cee ci: add a script to check sync and async methods in SDK (#1938) 2024-10-01 09:50:26 -04:00
William FHandGitHub dd88ac6224 Bump SDK Py (#1935) 2024-10-01 08:17:51 +00:00
Nuno CamposandGitHub 53c2e4d8c2 Merge pull request #1932 from langchain-ai/eugene/format_docs
docs: format with ruff
2024-09-30 19:13:47 -07:00
Eugene Yurtsev 70b0032191 format docs 2024-09-30 22:08:27 -04:00
William FHandGitHub 445b795037 [Docs] update min bounds from API (#1929) 2024-09-30 17:06:34 -07:00
William FHandGitHub 29f58fd9e5 Custom loads support in postgres checkpointer (#1930) 2024-09-30 16:42:23 -07:00
Vadym BardaandGitHub 716d23e269 langgraph: release 0.2.31 (#1928) 2024-09-30 18:33:34 -04:00
Vadym BardaandGitHub a9df3a3515 langgraph: use correct logic for binding tools in prebuilt agent (#1927) 2024-09-30 22:22:48 +00:00
Vadym BardaandGitHub da935e7805 langgraph: fix edge case with string enums as node names (#1926) 2024-09-30 18:00:33 -04:00
Andrew NguonlyandGitHub 6d1d705b84 Update API docs. (#1925) 2024-09-30 14:23:32 -07:00
William FHandGitHub 97f79fc66b Add Postgres Store Implementation (#1906) 2024-09-30 21:18:58 +00:00
Isaac FranciscoandGitHub 17dc1108a3 docs: __start__/__end__ consistency (#1874)
* changes

* skip mermaid

* retries fix

* viz error

* changes
2024-09-30 13:55:53 -07:00
Eugene YurtsevandGitHub d29747906d docs: Add ruff commands to Makefile and pyproject (#1921) 2024-09-30 16:19:17 -04:00
Vadym BardaandGitHub cb8db211c2 langgraph: bump checkpoint (#1922) 2024-09-30 15:56:46 -04:00
Isaac FranciscoandGitHub 865436529e simple -> simply (#1919) 2024-09-30 19:30:29 +00:00
Vadym BardaandGitHub 3c9441c039 checkpoint: release 1.0.14 (#1917) 2024-09-30 14:54:00 -04:00
Vadym BardaandGitHub 7071817155 checkpoint: fix namespace issues (#1915) 2024-09-30 14:52:57 -04:00
William Fu-Hinthorn 4fca814d3a Merge branch 'main' into wfh/js_store_client 2024-09-30 10:49:09 -07:00
William Fu-Hinthorn d309c36388 Review 2024-09-30 10:48:49 -07:00
William FHandGitHub 9ad617bb7a [Release] 1.0.13 (#1903) 2024-09-30 10:16:50 -07:00
Vadym BardaandGitHub 78f3ee9cae langgraph: check if model passed as runnable binding with tools in create_react_agent (#1647) 2024-09-30 13:01:47 -04:00
William FHandGitHub e332869a0c Ensure configurable (#1912) 2024-09-30 09:54:47 -07:00
William Fu-Hinthorn f064a5969d Add JS SDK Store Client 2024-09-30 09:08:37 -07:00
David DuongandGitHub f6f3f85d03 Merge pull request #1900 from langchain-ai/dqbd/xray-int
feat(sdk): add int xray parameter support
2024-09-30 17:08:15 +02:00
David DuongandGitHub a69c58bfe9 Merge pull request #1894 from langchain-ai/dqbd/xray-bool
fix(graph): xray=True should be distinct from xray=1
2024-09-30 17:06:52 +02:00
Tat Dat Duong d69bc78a25 Update docs 2024-09-30 17:03:11 +02:00
Nuno CamposandGitHub 904904c419 Merge pull request #1904 from langchain-ai/nc/29sep/thread-history-subgraph
sdk-py: Add arg to get history for subgraphs
2024-09-29 19:32:23 -07:00
Nuno Campos 7fba675e8a sdk-py: Add arg to get history for subgraphs 2024-09-29 19:28:52 -07:00
Nuno CamposandGitHub 620cffd62d Merge pull request #1902 from langchain-ai/dqbd/debug-parent-config
fix(debug): send parent_config in debug checkpoint events
2024-09-29 18:30:24 -07:00
Tat Dat Duong 005a9a33cb Fix tests 2024-09-30 03:14:34 +02:00
Tat Dat Duong a8556bf2b8 Uncomment back the conftest checkpointers 2024-09-30 03:06:48 +02:00
Tat Dat Duong a8a99688bf fix(api): send parent_config in debug checkpoint events 2024-09-30 03:01:44 +02:00
Nuno CamposandGitHub b1a4243055 Implement new Store interface (#1834) 2024-09-29 17:06:42 -07:00
David DuongandGitHub ab47768bfd Merge pull request #1901 from langchain-ai/dqbd/sdk-js-0.0.13
chore: bump JS SDK to 0.0.13
2024-09-30 00:44:02 +02:00
Tat Dat Duong 53525141a2 chore: bump JS SDK to 0.0.13 2024-09-30 00:39:01 +02:00
Tat Dat Duong 10b6227304 feat(api): add int xray parameter support 2024-09-30 00:18:07 +02:00
Dan SiwiecandGitHub 748c92e59c docs: remove duplicated statements (#1863) 2024-09-29 15:33:51 +00:00
Tat Dat Duong 358603b31d fix(graph): xray=True should be distinct from xray=1 2024-09-28 02:09:05 +02:00
Nuno CamposandGitHub 946e2a831e Merge pull request #1879 from langchain-ai/dqbd/sdk-js-subgraphs
feat(sdk-js): add support for subgraphs, match schema
2024-09-27 15:59:46 -07:00
Andrew NguonlyandGitHub b0b7b681ba Fix typo. (#1893) 2024-09-27 22:59:32 +00:00
Vadym BardaandGitHub 03be3b6567 docs: reorganize API refs (#1884) 2024-09-27 18:12:12 -04:00
98f5df4f6f ci: fix notebook runner & VCR cassette recorder (#1849)
Co-authored-by: vbarda <vadym@langchain.dev>
2024-09-27 17:56:55 -04:00
Vadym BardaandGitHub ea0418334b checkpoint-postgres: release 1.0.9 (#1890) 2024-09-27 16:12:06 -04:00
Andrew NguonlyandGitHub ec55fc2147 docs: Update Cloud deployment docs (#1853)
* Update Cloud deployment docs.

* Update docs.
2024-09-27 12:53:54 -07:00
Vadym BardaandGitHub a319727a9e checkpoint: release 1.0.12 (#1888) 2024-09-27 14:19:00 -04:00
Isaac FranciscoandGitHub a2db3879cd add back graph.update_line, update output (#1887) 2024-09-27 12:51:28 -04:00
Vadym BardaandGitHub bf19dc7d08 checkpoint-postgres: handle null chars in metadata (#1885) 2024-09-27 16:02:03 +00:00
David DuongandGitHub 75d309a52f Merge pull request #1880 from langchain-ai/dqbd/sdk-xray
feat(sdk): expose xray kwarg to get_graph/getGraph
2024-09-27 16:59:51 +02:00
Tat Dat Duong 80f12c8f5c Update sync client 2024-09-27 16:43:41 +02:00
Tat Dat Duong be44d0cfb6 feat(sdk): expose xray kwarg to get_graph/getGraph 2024-09-27 15:15:56 +02:00
947c74c10d docs: add long-term memory tutorial (#1850)
Co-authored-by: ccurme <chester.curme@gmail.com>
2024-09-27 08:26:57 -04:00
Tat Dat Duong e4a4889b6d Add .prettierrc file to make vscode prettier work 2024-09-27 13:30:47 +02:00
Tat Dat Duong f1c6e13e96 Ignore tgz and tar files 2024-09-27 13:26:58 +02:00
Tat Dat Duong 51be5b6ac3 feat(sdk-js): add support for subgraphs, match schema 2024-09-27 13:24:46 +02:00
Nuno CamposandGitHub 509e2d2207 Merge pull request #1873 from langchain-ai/vb/secret-str
checkpoint: support serde for SecretStr
2024-09-26 19:10:45 -07:00
vbarda 4271afeb42 checkpoint: support serde for SecretStr 2024-09-26 21:09:07 -04:00
Vadym BardaandGitHub 29a03309c9 docs: update typing -> typing_extensions for TypedDict (#1871) 2024-09-26 18:06:45 -04:00
William FHandGitHub fe7e7b9121 Use typing_extensions typeddict (#1869) 2024-09-26 13:41:40 -07:00
Vadym BardaandGitHub 72c5bc35cd checkpoint: update note in MemorySaver (#1862) 2024-09-26 15:07:36 +00:00
Lance MartinandGitHub c5b9845216 Update RAG agent w/ llama3.2 (#1852)
* Update RAG agent llama3.2

* Move to doc

* Rename
2024-09-25 21:43:45 -07:00
Vadym BardaandGitHub 942dfa841e docs: remove shared state how-to (#1851) 2024-09-25 22:44:03 +00:00
Andrew NguonlyandGitHub c3cbf2eb0d Update Deploy to Cloud docs. (#1847) 2024-09-25 15:22:54 -07:00
David DuongandGitHub f337d5d9f8 Merge pull request #1844 from langchain-ai:dqbd/js-sdk-0.0.12-types
fix(sdk-js): match schema types, bump to 0.0.12
2024-09-25 23:42:37 +02:00
Nuno Campos f05b546299 langgraph 0.2.28 2024-09-25 11:12:38 -07:00
Nuno CamposandGitHub f1711a127a Merge pull request #1845 from langchain-ai/nc/25sep/fix-stream-time
Fix stream_mode=messages/custom buffering for sync calls with single node
2024-09-25 11:12:05 -07:00
Nuno Campos 72edec5be2 Add test 2024-09-25 11:00:27 -07:00
Nuno Campos 67d907eb1c Fix stream_mode=messages/custom buffering for sync calls with single node 2024-09-25 10:38:06 -07:00
042653207f docs: add docs for assistant versioning (#1828)
* draft of conceptual docs

* Improve the conceptual docs

* adding how-to

* add diagram, make callout to conceptual guide

* updated image

* updated screenshots to new UI

* add link, typo

---------

Co-authored-by: Lance Martin <lance@langchain.dev>
2024-09-25 16:13:08 +00:00
Tat Dat Duong 68fb04bb0c fix(sdk-js): match schema types, bump to 0.0.12 2024-09-25 17:33:13 +02:00
Vadym BardaandGitHub 6c171e2838 docs: update streaming content how-to (#1841) 2024-09-25 11:23:31 -04:00
Vadym BardaandGitHub 6136eb7471 docs: fix redis pending_writes (#1842) 2024-09-25 14:54:40 +00:00
David DuongandGitHub 206420d4cc Merge pull request #1830 from langchain-ai/dqbd/bump-js-0.0.11
feat(js): bump JS sdk to 0.0.11
2024-09-24 21:45:56 +02:00
Tat Dat Duong a3be376453 feat(js): bump JS sdk to 0.0.11 2024-09-24 21:40:48 +02:00
Nuno CamposandGitHub 44afec9da7 Merge pull request #1829 from langchain-ai/vb/combine-sdk-into-single-file
sdk-py: combine sync & async into a single file
2024-09-24 11:35:51 -07:00
vbarda cc8ea9e608 sdk-py: combine sync & async into a single file 2024-09-24 14:24:14 -04:00
Lance MartinandGitHub 88335ea405 Update conceptual docs on dynamic breakpoints (#1816)
* Update conceptual docs in dynamic breakpoints

* Improve explaination

* Add skipping logic to dynamic breakpoints
2024-09-24 11:18:01 -07:00
Nuno CamposandGitHub 15823c78eb Merge pull request #1827 from langchain-ai/nc/24sep/sdk-subgraphs
sdk: Add subgraphs method
2024-09-24 11:07:45 -07:00
Nuno Campos 30ed61479e Fix 2024-09-24 11:06:07 -07:00
Yuxuan1998andGitHub e909cb6815 fix TypeError (#1820) 2024-09-24 14:05:03 -04:00
Nuno Campos dfa874aaf6 sdk: Add subgraphs method 2024-09-24 11:02:50 -07:00
Nuno CamposandGitHub 247e2bae8d Merge pull request #1401 from langchain-ai/vb/add-sync-client
sdk-py: add sync client
2024-09-24 10:46:06 -07:00
Nuno Campos 26eca4a42f langgraph 0.2.27 2024-09-24 10:42:02 -07:00
Nuno CamposandGitHub 2f7826ed79 Merge pull request #1826 from langchain-ai/nc/24sep/get-subgraphs-namespace
Add namesapce filter to get_subgraphs
2024-09-24 10:41:36 -07:00
Nuno Campos 8205c85383 Add namesapce filter to get_subgraphs
- If passed it returns a single subgraph, mathching that namespace, if found
2024-09-24 09:38:24 -07:00
Vadym BardaandGitHub 5235ad08ec docs: remove context channel (#1824) 2024-09-24 10:51:22 -04:00
Vadym BardaandGitHub 37948b3348 docs: update pydantic comments -> callouts in tutorials (#1825) 2024-09-24 13:09:59 +00:00
Nuno Campos bb5ff42bcd langgraph 0.2.26 2024-09-23 17:50:16 -07:00
Nuno CamposandGitHub beea3beb48 Merge pull request #1818 from langchain-ai/nc/23sep/stream-messages-fix
Fix edge cases with stream_mode=messages
2024-09-23 17:43:27 -07:00
Nuno Campos 58aaffb6bf Fix edge cases with stream_mode=messages
- running callback handler in background thread could potentially lead to ordering issues
- deduping on `id()` could lead to messages being dropped if they reused memory address of a previous chunk
2024-09-23 17:34:04 -07:00
Vadym BardaandGitHub ae2185a431 Merge branch 'main' into vb/add-sync-client 2024-09-23 19:42:13 -04:00
vbarda 985f1b1e26 code review 2024-09-23 19:41:08 -04:00
Lance MartinandGitHub e1a33360e0 Update HIL conceptual docs (#1774)
* Update HIL conceptual docs

* Update images

* Update figures and text per feedback

* Update links for how-tos

* Embed img directly in ntbks

* Add dynamic breakpoints

* Update figure in ntbk

* Fix link to dynamic breakpoints
2024-09-23 15:46:33 -07:00
Vadym BardaandGitHub 659d127d2b checkpoint postgres,sqlite: update langgraph-checkpoint to 1.0.11 (#1815) 2024-09-23 22:09:28 +00:00
Isaac FranciscoandGitHub d2d5e9f655 docs: add docs on disabling streaming (#1775) 2024-09-23 18:01:19 -04:00
Vadym BardaandGitHub 434e7519bc checkpoint: release 1.0.11 (#1814) 2024-09-23 17:58:25 -04:00
Vadym BardaandGitHub 7d513bcde2 checkpoint postgres,sqlite: update langgraph-checkpoint (#1813) 2024-09-23 21:47:26 +00:00
Vadym BardaandGitHub c8265a21cd Merge branch 'main' into vb/add-sync-client 2024-09-23 17:39:54 -04:00
Vadym BardaandGitHub 515c619bc2 checkpoint postgres,sqlite: update version (#1812) 2024-09-23 17:33:19 -04:00
Vadym BardaandGitHub 342aee7945 langgraph: release 0.2.25 (#1811) 2024-09-23 17:31:23 -04:00
BagaturandGitHub ee638fdbf8 langgraph[patch]: remove stringify of tool msg contnt (#1810) 2024-09-23 17:29:38 -04:00
vbarda 2d741c7cbf update 2024-09-23 17:28:02 -04:00
William FHandGitHub 3c672abc1b Reword how-to (#1808) 2024-09-23 14:08:08 -07:00
vbarda 81c10a5f8e Merge branch 'main' into vb/add-sync-client 2024-09-23 16:56:12 -04:00
Nuno CamposandGitHub 68c1fa8280 Merge pull request #1803 from langchain-ai/nc/23sep/exc-async-checkpointer-block
Raise exception if sync method on async checkpointer is called from event loop thread
2024-09-23 13:05:02 -07:00
Vadym BardaandGitHub 9e42977273 sdk-py: release 0.1.31 (#1809) 2024-09-23 15:12:43 -04:00
Brace SproulandGitHub e333889c19 Merge pull request #1807 from langchain-ai/brace/drop-annoncements-bar
fix(docs): Drop announcement bar
2024-09-23 10:56:02 -07:00
bracesproul 81e05ffb69 fix(docs): Drop announcement bar 2024-09-23 10:50:15 -07:00
Isaac FranciscoandGitHub f9431d1bec remove error (#1806) 2024-09-23 13:45:08 -04:00
William FHandGitHub 1601c3a47d Fix mobile nav nesting (#1804) 2024-09-23 16:08:10 +00:00
Nuno Campos e71c24ea9b Raise exception if sync method on async checkpointer is called from main thread
- The thread running the event loop can block waiting for a coro to run, only background threads can
2024-09-23 08:41:57 -07:00
Nuno Campos 68d378def5 langgraph 0.2.24 2024-09-23 08:26:55 -07:00
Nuno CamposandGitHub 0b0b6e17d3 Merge pull request #1797 from langchain-ai/nc/22sep/perf-intern-strings
perf: Intern string constants
2024-09-23 07:40:59 -07:00
Nuno CamposandGitHub d5a1152064 Merge pull request #1794 from langchain-ai/nc/21sep/remove-runtime-value-substitution
Remove runtime value substitution
2024-09-23 07:03:44 -07:00
Nuno CamposandGitHub 00290c8e06 Merge pull request #1792 from langchain-ai/nc/21sep/docstrings-comments
Add more comments and docstrings
2024-09-23 07:03:05 -07:00
Nuno Campos 47fe321e31 Lint 2024-09-22 12:51:06 -07:00
Nuno Campos 1f347ed48e perf: Intern string constants 2024-09-22 12:45:47 -07:00
Nuno Campos d6015e7bf9 Remove runtime value substitution
- doesn't work as expected
2024-09-22 12:44:48 -07:00
Nuno Campos 84a45d186c Fix 2024-09-22 12:42:34 -07:00
Nuno Campos e76f49c7f0 Fix flaky test 2024-09-22 12:37:24 -07:00
Nuno CamposandGitHub 33d18593bf Merge pull request #1793 from langchain-ai/nc/21sep/detect-multi-subgraphs-in-node
Detect multiple subgraphs in single node
2024-09-22 12:18:35 -07:00
Nuno Campos 74f34db9e4 Fix sync kafka 2024-09-22 12:04:43 -07:00
Nuno Campos 644f14991e Fix kfka 2024-09-22 12:04:17 -07:00
Isaac FranciscoandGitHub 94433eb790 docs: thread_ts -> checkpoint_id (#1791) 2024-09-22 09:17:18 -04:00
Nuno Campos 81a9a2f903 Use a different strategy, add test 2024-09-21 18:48:23 -07:00
Nuno Campos 2fccd09585 Fix 2024-09-21 17:52:17 -07:00
Nuno Campos 89bb7fe178 Skip test for now 2024-09-21 17:47:36 -07:00
Nuno Campos beeb2aa8ba Detect multiple subgraphs in single node 2024-09-21 17:44:11 -07:00
Nuno Campos 30b631aaff Rewrite imports 2024-09-21 17:41:05 -07:00
Nuno Campos d9854b36eb Move to langgraph.types 2024-09-21 17:37:17 -07:00
Nuno Campos 3cbd70ffc9 Fix docs 2024-09-21 17:30:04 -07:00
Nuno Campos 313e3eed3e Fix circular import 2024-09-21 17:26:29 -07:00
Nuno Campos 9f8d71c65b Lint 2024-09-21 17:23:12 -07:00
Nuno Campos 89fb8d506f Add more comments and docstrings 2024-09-21 17:21:18 -07:00
Nuno Campos 41537c583a sdk: Add support for resuming from checkpoint 2024-09-20 17:20:04 -07:00
David DuongandGitHub d42bdd0153 Merge pull request #1785 from langchain-ai/isaac/changeendpoint
set_latest -> latest
2024-09-21 02:07:20 +02:00
isaac hershenson 75ef1e790e fmt 2024-09-20 17:02:15 -07:00
isaac hershenson 4eaa1bb8ca set_latest -> latest 2024-09-20 16:57:43 -07:00
Nuno Campos e3d2f233a7 sdk: Update thread state methods for subgraphs 2024-09-20 16:52:41 -07:00
Isaac FranciscoandGitHub 8b95adb1bd sdk-py: add versioning for assistants (#1665)
* add get_versions to python sdk

* fml

* add change_version to sdk

* add assistant name to create

* document assistant name

* change method

* version in payload

* fml

* add js methods and types

* name -> assistant_name

* export onconflictbehavior

* add assistant name to create

* add metadata/limit/offset to sdk

* add assistant_name to update

* assistantversion schema

* export assistnatversion

* add metadata/limit/offset to sdk

* assistantversion schema

* fmt

* fmt

* change version -> set version

* fmt

* assistant_name -> name

* naming
2024-09-20 16:48:19 -07:00
Nuno Campos 41cb54722d Add stream_subgraphs param 2024-09-20 16:13:44 -07:00
Isaac FranciscoandGitHub eadcec7304 fixed some (#1784) 2024-09-20 15:12:35 -07:00
Nuno Campos 265003dda0 langgraph 0.2.23 2024-09-20 14:40:46 -07:00
Nuno CamposandGitHub fcff81d10e Merge pull request #1782 from langchain-ai/nc/20sep/sdk-py-after-seconds
sdk: Add support for scheduled runs
2024-09-20 12:53:27 -07:00
Nuno Campos 9121a1e14f sdk: Add support for scheduled runs
- after_seconds param to Runs.wait/stream/create
2024-09-20 12:45:13 -07:00
Isaac FranciscoandGitHub 662eae4359 adding tutorials to notebook checks (#1747)
* wip

* actually catch errors

* fixing tool-calling-errors and persistence-redis

* poetry changes

* poetry update

* run tutorials

* only tutorials (testing)

* print errors

* rewoo fixes

* remove customer support because of user input

* skip notebooks programatically

* add back how-tos

* remove redundant if

* add cassetes for tutorials

* remove no execution since it is generated by CI,

* remove multi-agent/usaco

* try to run in parallel

* skip notebooks fix

* remove magic/non-magic cells

* msgpack instead of yaml

* prepare_notebooks change

* ignore msgpack for spelling

* use compression for cassettes

* update spell check

* reset poetry changes

* upgrade packages for latest

* no update

* poetry changes
2024-09-20 12:11:23 -07:00
William FHandGitHub 10a66acc44 Add return_direct support (#1780) 2024-09-20 18:59:37 +00:00
Nuno CamposandGitHub 7b94f1e326 Update __init__.py 2024-09-20 10:50:40 -07:00
Nuno CamposandGitHub bf289dbee4 Merge pull request #1772 from langchain-ai/jacob/nit
fix: Use imported constant for namespace end
2024-09-20 09:21:18 -07:00
Nuno CamposandGitHub b03d9ae52c Merge pull request #1776 from langchain-ai/nc/19sep/stream-mode-custom
Add stream_mode=custom
2024-09-20 09:18:51 -07:00
Nuno CamposandGitHub 531890e35a Update types.py 2024-09-20 08:49:00 -07:00
Nuno Campos 1cf117ed9d Lint 2024-09-19 17:09:04 -07:00
Nuno Campos 3b0f27c777 Add stream_mode=custom
- adds the ability for nodes (including in subgraphs) to emit chunks directly to the output stream, emitted chunks can have any type
- when stream_mode=custom isnt requested by the caller emitted chunks are ignored
2024-09-19 17:03:30 -07:00
Nuno CamposandGitHub b9fe38469f Merge pull request #1773 from langchain-ai/nc/19sep/return-self
Allow chaning add_node/add_edge/etc calls
2024-09-19 17:02:27 -07:00
Nuno Campos 94e64f87b1 Allow chaning add_node/add_edge/etc calls 2024-09-19 16:54:00 -07:00
Nuno CamposandGitHub 0bbe461785 Merge pull request #1771 from langchain-ai/nc/19sep/mypy-langgraph-partial
Enable mypy for langgraph lib
2024-09-19 16:53:42 -07:00
Nuno Campos 7643c1171f Lint 2024-09-19 16:49:05 -07:00
Nuno CamposandGitHub ed27e54761 Update graph.py 2024-09-19 16:41:46 -07:00
Jacob LeeandGitHub ec1f425632 Update algo.py 2024-09-19 15:53:50 -07:00
jacoblee93 093af1a893 Use imported constant for namespace end 2024-09-19 15:07:30 -07:00
Nuno CamposandGitHub e96934533e Update graph.py 2024-09-19 15:06:39 -07:00
a47dc2b634 Apply suggestions from code review
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
2024-09-19 14:37:32 -07:00
Nuno Campos 95c1ca3adc Fix 2024-09-19 13:20:45 -07:00
Lance MartinandGitHub 0cf1a13dab Update conceptual docs for multiple schema (#1770)
* Update conceptual docs for multiple schema

* Link to conceptual docs from How-To
2024-09-19 13:20:20 -07:00
Nuno Campos 5de9b35416 Finish 2024-09-19 13:01:54 -07:00
Nuno Campos 4f767cd2ca Fix 2024-09-19 11:46:21 -07:00
Nuno Campos cc318b1156 Fix 2024-09-19 11:43:30 -07:00
Nuno Campos 9a8cc75ea2 Fix some typing issues in langgraph lib 2024-09-19 11:38:41 -07:00
Isaac FranciscoandGitHub 96f9d29a43 stop before recursion limit callout (#1769) 2024-09-19 18:00:31 +00:00
Isaac FranciscoandGitHub c44f10c05e docs: return state before recursion limit is hit (#1736)
* recursion limit return state

* links

* spelling

* remove bad link
2024-09-19 10:40:35 -07:00
Nuno CamposandGitHub 4065ac33d3 Merge pull request #1768 from langchain-ai/nc/19sep/mypy-sqlite
ci: Enable mypy checks for checkpoint-sqlite lib
2024-09-19 10:38:34 -07:00
Isaac FranciscoandGitHub 55f8bb5227 docs: replaying from subgraph node (#1759)
* edits

* extra comment
2024-09-19 09:58:14 -07:00
Nuno CamposandGitHub dc360fd342 Merge pull request #1767 from langchain-ai/nc/19sep/mypy-postgres
ci: Enable mypy checks for checkpoint-postgres lib
2024-09-19 09:27:38 -07:00
Nuno Campos b529365f5b Remove ignore for 3.9 2024-09-19 09:19:26 -07:00
Nuno Campos fdf7bad988 Remove ignore for 3.9 2024-09-19 09:19:00 -07:00
Nuno Campos faa652cbf4 Only lint on 3.12 2024-09-19 09:18:36 -07:00
Nuno Campos 95304d658a Fix 3.9 2024-09-19 08:51:15 -07:00
Nuno Campos 495d258322 Fix 3.9 2024-09-19 08:50:17 -07:00
Nuno CamposandGitHub bc95a797a9 Merge pull request #1766 from langchain-ai/nc/18sep/mypy-checkpoint
ci: Enable mypy checks for checkpoint lib
2024-09-19 08:47:05 -07:00
Nuno Campos 6c0339ca4b ci: Enable mypy checks for checkpoint-sqlite lib 2024-09-19 08:46:44 -07:00
Nuno Campos b8a8651c23 ci: Enable mypy checks for checkpoint-postgres lib 2024-09-19 08:40:31 -07:00
Nuno Campos c793a9e36d Use type var default 2024-09-19 08:28:59 -07:00
Nuno Campos 333c5f5501 Fix type issues in tests 2024-09-18 18:16:51 -07:00
Nuno Campos 4d26c3599f ci: Enable mypy checks for checkpoint lib 2024-09-18 18:12:11 -07:00
Andrew NguonlyandGitHub d4ba315ae2 Add section for LANGCHAIN_TRACING_SAMPLING_RATE to env vars page. (#1760) 2024-09-18 15:08:00 -07:00
Nuno CamposandGitHub 4ba803b415 Merge pull request #1751 from langchain-ai/nc/17sep/stream-messages
Add stream_mode=messages
2024-09-18 14:01:12 -07:00
Nuno Campos 9235178c88 Finish 2024-09-18 13:56:04 -07:00
22c78050dd docs: Clarify default_retry_on retry behavior for exceptions (#1754)
* docs: Clarify exceptions retried by default_retry_on in retry policy tutorial

- Added a remark in the tutorial explaining that the `default_retry_on` function retries on any exception except for the following:
  - ValueError
  - TypeError
  - ArithmeticError
  - ImportError
  - LookupError
  - NameError
  - SyntaxError
  - RuntimeError
  - ReferenceError
  - StopIteration
  - StopAsyncIteration
  - OSError

* http status codes

---------

Co-authored-by: Itay Etelis <itay.etelis@ibm.com>
Co-authored-by: isaac hershenson <ihershenson@hmc.edu>
2024-09-18 20:48:10 +00:00
Nuno CamposandGitHub babcf10c1c Merge pull request #1688 from langchain-ai/wfh/tracing_interops_norebase
Add tracing propagation test
2024-09-18 13:43:58 -07:00
William Fu-HinthornandNuno Campos 2d98024487 Assert invariants 2024-09-18 13:37:38 -07:00
William Fu-HinthornandNuno Campos f7d440ec5f Add tracing propagation test 2024-09-18 13:37:33 -07:00
Nuno Campos efb572f15b Add missing branch 2024-09-18 13:18:37 -07:00
William FHandGitHub b062b2462f [Docs] Add add message ref (#1758) 2024-09-18 13:13:39 -07:00
Nuno CamposandGitHub d46fd258bf Merge pull request #1753 from Etelis/bugfix-retry-nodes-exception-handling
[Bug Fix] retry_on handling and add support for lists in RetryPolicy
2024-09-18 13:01:38 -07:00
Nuno CamposandGitHub e40aabb1c1 Update retry.py 2024-09-18 10:36:40 -07:00
Nuno CamposandGitHub 0bfeb7f4e1 Update types.py 2024-09-18 10:24:28 -07:00
Nuno CamposandGitHub fd0b52f4ff Update retry.py 2024-09-18 10:23:52 -07:00
Nuno CamposandGitHub f4962479d8 Merge pull request #1757 from langchain-ai/nc/18sep/unit-test-cancelled
Add one more unit test for exception propagation
2024-09-18 09:01:31 -07:00
Nuno CamposandGitHub 94fa06e5f7 Merge pull request #1749 from langchain-ai/nc/17sep/stream-subgraph-sync
Stream output from subgraphs while in-progress for sync stream
2024-09-18 09:01:15 -07:00
Nuno Campos 680fa3c226 Add one more unit test for exception propagation
- we already have plenty of tests for this, but adding one more with a slight variation
2024-09-18 08:53:47 -07:00
Isaac FranciscoandGitHub 0498ca346b docs: remove warnings/update diagrams (#1746)
* remove warnings/udpate diagrams

* replace get_relevant_documents with invoke
2024-09-18 08:53:28 -07:00
Itay Etelis adf5cb0ff1 Fix retry_on handling in run_with_retry
- Correctly distinguish between exception classes, lists/tuples of exception classes, and callables.
- Add support for lists in `retry_on`, alongside tuples.
- Prevent exception classes from being incorrectly treated as callables.
- Raise a `TypeError` if `retry_on` is of an unsupported type.
2024-09-18 13:41:22 +03:00
Itay Etelis 6873229bbf Support lists in retry_on for RetryPolicy
Previously, `retry_on` in `RetryPolicy` accepted only exception classes, tuples of exception classes, or callables.
Update the `retry_on` type annotation to include `List[Type[Exception]]`

Changes:
- Updated `retry_on` in `RetryPolicy` to accept `List[Type[Exception]]`.
2024-09-18 13:39:04 +03:00
Nuno Campos 2a769fb39e Less fun 2024-09-17 17:51:18 -07:00
Nuno Campos c0d8493db5 Only look at chain runs which are nodes 2024-09-17 17:32:14 -07:00
Nuno Campos 01bb6cbd4d Add stream_mode=messages
- yields messages token-by-token from LLMs, and any messages returned from a node
2024-09-17 17:27:37 -07:00
Isaac FranciscoandGitHub 7d3389b6f1 docs: fix links (#1748)
* fix links

* branching link

* readme compatibility
2024-09-17 13:05:37 -07:00
Nuno Campos 3a2a4e44b2 Stream output from subgraphs while in-progress for sync stream
- previously implemented only for async stream
2024-09-17 12:50:29 -07:00
Eugene YurtsevandGitHub b11552a10a Update all URLs to langchain docunotebooks (#1745) 2024-09-17 15:01:22 -04:00
Nuno CamposandGitHub 36c757e758 Merge pull request #1740 from langchain-ai/nc/17sep/deprecation-warnings
Fix some deprecation warnings in tests
2024-09-17 11:57:22 -07:00
Nuno CamposandGitHub a520dc6106 Merge pull request #1744 from langchain-ai/nc/17sep/sync-benchmarks
Add sync benchmarks
2024-09-17 11:57:14 -07:00
Nuno Campos da901b01d8 Fix flaky test 2024-09-17 10:52:39 -07:00
Nuno CamposandGitHub f03dc2f006 Merge pull request #1743 from langchain-ai/nc/17sep/runner-fast-path
perf: Implement fast path in Runner for single-task steps
2024-09-17 10:44:35 -07:00
Nuno Campos 21d60b0d9c Add sync benchmarks 2024-09-17 10:38:49 -07:00
Jacob LeeandGitHub 47a68c16d5 feat(js-sdk): Support CJS (#1742)
* feat(js-sdk): Support CJS

* Bump version
2024-09-17 10:28:23 -07:00
Nuno Campos 9644525b59 Fix some deprecation warnings in tests 2024-09-17 10:19:28 -07:00
Nuno Campos 76ff7c3f1a perf: Implement fast path in Runner for single-task steps
- if the current step has a single task then we can execute it inline, instead of moving it to asyncio task / bg thread
2024-09-17 10:19:19 -07:00
Nuno CamposandGitHub c4d4d61a43 Merge pull request #1735 from langchain-ai/nc/16sep/stream-subgraph-in-progress
Stream subgraph output while it executes
2024-09-17 10:14:26 -07:00
Nuno Campos f59435a892 Add more comments 2024-09-17 09:31:48 -07:00
Nuno Campos bd2ecba622 Fix for py 3.9 2024-09-17 09:29:16 -07:00
Isaac FranciscoandGitHub bfd18f76dd docs: Tutorials up to date (#1734)
* edits

* add js code to web voyager
2024-09-17 08:11:41 -07:00
Nuno CamposandGitHub 0bf4bf8b6b Merge pull request #1732 from langchain-ai/nc/16sep/stream-selected
perf: In PregelLoop, only emit stream values requested by caller
2024-09-16 21:26:30 -07:00
Nuno Campos c30119824c Add comment 2024-09-16 18:06:06 -07:00
Nuno Campos 54207f4d89 Add test 2024-09-16 18:02:57 -07:00
Nuno Campos d163938a59 Stream subgraph output while it executes 2024-09-16 17:36:53 -07:00
f8ba4c3b7d (wip) docs: revamp conceptual docs (#1663)
* docs: revamp conceptual docs

* multi-agent draft

* typo

* Update Why LangGraph page

* update multi-agent

* Update persistence page

* update

* Clarification of graph re-playing

* update persistence

* more updates

* more updates

* Add multiple schemas section to glossary

* more updates

* Clarify I/O schema

* dynamic breakpoints

* Update agentic concepts

* Fix comments

* Update figureds

* cr

* cr

* cr

---------

Co-authored-by: Lance Martin <lance@langchain.dev>
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2024-09-16 17:35:01 -07:00
William FHandGitHub 182dcea526 Docstring type (#1733) 2024-09-16 15:49:49 -07:00
Andrew NguonlyandGitHub 7934b67afa Update API docs (openapi.json). (#1731) 2024-09-16 15:49:35 -07:00
Nuno Campos f505afe066 perf: In PregelLoop, only emit stream values requested by caller
- this avoids creating stream values that will be ignored
2024-09-16 15:47:17 -07:00
Nuno Campos 4d0c12117b postgres 1.0.7 2024-09-16 14:10:19 -07:00
Nuno Campos 70af3bc3cb checkpoint 1.0.10 2024-09-16 14:10:03 -07:00
Nuno CamposandGitHub 3b05279e32 Implement serialization with msgpack library (#1716)
* Implement serialization with msgpack library

- encode custom python objects with a msgpack extension type, with constructor path string, and args encoded as nested msgpack doc

* Smaller msgpack extension types

* Update lock files

* lock

* Don't delegate to pydantic json

* Fix kafka serde

- should use our serializer to load, as inputs to subgraphs are serialized using it
2024-09-16 14:06:42 -07:00
vbarda 142db1f020 fix links in the reference 2024-09-06 16:37:56 -04:00
vbarda 6fd6ef43f6 lint 2024-09-06 16:28:05 -04:00
vbarda 7f3c6e3d2f Merge branch 'main' into vb/add-sync-client 2024-09-06 16:24:28 -04:00
vbarda 7233b06c2b update sync 2024-09-06 16:23:17 -04:00
vbarda a73484d336 rename back 2024-09-06 15:33:29 -04:00
vbarda a52f397db8 Merge branch 'main' into vb/add-sync-client 2024-09-06 15:28:24 -04:00
vbarda a161a9ca97 more explicit naming 2024-08-20 15:44:16 -04:00
vbarda 422ed92aef sdk-py: add sync client 2024-08-20 15:42:43 -04:00
750 changed files with 43380 additions and 163339 deletions
+9 -40
View File
@@ -7,35 +7,29 @@ body:
value: >
Thank you for taking the time to file a bug report.
Use this to report bugs in LangChain.
If you're not certain that your issue is due to a bug in LangChain, please use [GitHub Discussions](https://github.com/langchain-ai/langchain/discussions)
to ask for help with your issue.
Use this to report BUGS in LangGraph. For usage questions, feature requests and general design questions, please use [GitHub Discussions](https://github.com/langchain-ai/langgraph/discussions).
Relevant links to check before filing a bug report to see if your issue has already been reported, fixed or
if there's another way to solve your problem:
[LangGraph documentation](https://langchain-ai.github.io/langgraph/).
[LangGraph Github Discussions](https://github.com/langchain-ai/langgraph/discussions),
[LangGraph Github Issues](https://github.com/langchain-ai/langgraph/issues),
[LangGraph how-to guides](https://langchain-ai.github.io/langgraph/how-tos/).
[LangChain documentation with the integrated search](https://python.langchain.com/docs/get_started/introduction),
[GitHub search](https://github.com/langchain-ai/langgraph),
[LangChain Github Discussions](https://github.com/langchain-ai/langgraph/discussions),
[LangChain Github Issues](https://github.com/langchain-ai/langgraph/issues),
[LangChain ChatBot](https://chat.langchain.com/)
- type: checkboxes
id: checks
attributes:
label: Checked other resources
description: Please confirm and check all the following options.
description: Before submitting this issue, please confirm that you have completed all the steps below by checking each option. These steps help ensure your issue is well-defined, relevant, and actionable.
options:
- label: I added a very descriptive title to this issue.
- label: This is a bug, not a usage question. For questions, please use GitHub Discussions.
required: true
- label: I searched the [LangGraph](https://langchain-ai.github.io/langgraph/)/LangChain documentation with the integrated search.
- label: I added a clear and detailed title that summarizes the issue.
required: true
- label: I used the GitHub search to find a similar question and didn't find it.
- label: I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
required: true
- label: I am sure that this is a bug in LangGraph/LangChain rather than my code.
required: true
- label: I am sure this is better as an issue [rather than a GitHub discussion](https://github.com/langchain-ai/langgraph/discussions/new/choose), since this is a LangGraph bug and not a design question.
- label: I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue.
required: true
- type: textarea
id: reproduction
@@ -45,14 +39,6 @@ body:
label: Example Code
description: |
Please add a self-contained, [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example) with your use case.
If a maintainer can copy it, run it, and see it right away, there's a much higher chance that you'll be able to get help.
**Important!**
* Reduce your code to the minimum required to reproduce the issue if possible. This makes it much easier for others to help you.
* Avoid screenshots when possible, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.
placeholder: |
from langgraph.graph import StateGraph
@@ -92,25 +78,8 @@ body:
attributes:
label: System Info
description: |
Please share your system info with us.
"pip freeze | grep langchain"
platform (windows / linux / mac)
python version
OR if you're on a recent version of langchain-core you can paste the output of:
python -m langchain_core.sys_info
placeholder: |
"pip freeze | grep langgraph"
platform
python version
Alternatively, if you're on a recent version of langchain-core you can paste the output of:
python -m langchain_core.sys_info
These will only surface LangChain packages, don't forget to include any other relevant
packages you're using (if you're not sure what's relevant, you can paste the entire output of `pip freeze`).
validations:
required: true
+64
View File
@@ -0,0 +1,64 @@
import ast
import os
from itertools import filterfalse
from typing import List, Tuple
ROOT_PATH = os.path.abspath(os.path.join(__file__, "..", "..", ".."))
CLIENT_PATH = os.path.join(ROOT_PATH, "libs", "sdk-py", "langgraph_sdk", "client.py")
def get_class_methods(node: ast.ClassDef) -> List[str]:
return [n.name for n in node.body if isinstance(n, (ast.FunctionDef, ast.AsyncFunctionDef))]
def find_classes(tree: ast.AST) -> List[Tuple[str, List[str]]]:
classes = []
for node in ast.walk(tree):
if isinstance(node, ast.ClassDef):
methods = get_class_methods(node)
classes.append((node.name, methods))
return classes
def compare_sync_async_methods(sync_methods: List[str], async_methods: List[str]) -> List[str]:
sync_set = set(sync_methods)
async_set = set(async_methods)
missing_in_sync = list(async_set - sync_set)
missing_in_async = list(sync_set - async_set)
return missing_in_sync + missing_in_async
def main():
with open(CLIENT_PATH, "r") as file:
tree = ast.parse(file.read())
classes = find_classes(tree)
def is_sync(class_spec: Tuple[str, List[str]]) -> bool:
return class_spec[0].startswith("Sync")
sync_class_name_to_methods = {class_name: class_methods for class_name, class_methods in filter(is_sync, classes)}
async_class_name_to_methods = {class_name: class_methods for class_name, class_methods in filterfalse(is_sync, classes)}
mismatches = []
for async_class_name, async_class_methods in async_class_name_to_methods.items():
sync_class_name = "Sync" + async_class_name
sync_class_methods = sync_class_name_to_methods.get(sync_class_name, [])
diff = compare_sync_async_methods(sync_class_methods, async_class_methods)
if diff:
mismatches.append((sync_class_name, async_class_name, diff))
if mismatches:
error_message = "Mismatches found between sync and async client methods:\n"
for sync_class_name, async_class_name, diff in mismatches:
error_message += f"{sync_class_name} vs {async_class_name}:\n"
for method in diff:
error_message += f" - {method}\n"
raise ValueError(error_message)
print("All sync and async client methods match.")
if __name__ == "__main__":
main()
+115
View File
@@ -0,0 +1,115 @@
import asyncio
import json
import os
import pathlib
import sys
import langgraph_cli
import langgraph_cli.docker
import langgraph_cli.config
from langgraph_cli.exec import Runner, subp_exec
from langgraph_cli.progress import Progress
from langgraph_cli.constants import DEFAULT_PORT
def test(
config: pathlib.Path,
port: int,
tag: str,
verbose: bool,
):
with Runner() as runner, Progress(message="Pulling...") as set:
# check docker available
capabilities = langgraph_cli.docker.check_capabilities(runner)
# open config
config_json = langgraph_cli.config.validate_config_file(config)
set("Running...")
args = [
"run",
"--rm",
"-p",
f"{port}:8000",
]
if isinstance(config_json["env"], str):
args.extend(
[
"--env-file",
str(config.parent / config_json["env"]),
]
)
else:
for k, v in config_json["env"].items():
args.extend(
[
"-e",
f"{k}={v}",
]
)
if capabilities.healthcheck_start_interval:
args.extend(
[
"--health-interval",
"5s",
"--health-retries",
"1",
"--health-start-period",
"10s",
"--health-start-interval",
"1s",
]
)
else:
args.extend(
[
"--health-interval",
"5s",
"--health-retries",
"2",
]
)
_task = None
def on_stdout(line: str):
nonlocal _task
if "GET /ok" in line or "Uvicorn running on" in line:
set("")
sys.stdout.write(
f"""Ready!
- API: http://localhost:{port}
"""
)
sys.stdout.flush()
_task.cancel()
return True
return False
async def subp_exec_task(*args, **kwargs):
nonlocal _task
_task = asyncio.create_task(subp_exec(*args, **kwargs))
await _task
try:
runner.run(
subp_exec_task(
"docker",
*args,
tag,
verbose=verbose,
on_stdout=on_stdout,
)
)
except asyncio.CancelledError:
pass
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-t", "--tag", type=str)
parser.add_argument("-c", "--config", type=str, default="./langgraph.json")
parser.add_argument("-p", "--port", default=DEFAULT_PORT)
args = parser.parse_args()
test(pathlib.Path(args.config), args.port, args.tag, verbose=True)
+22 -8
View File
@@ -39,22 +39,36 @@ jobs:
- name: Install cli globally
if: steps.changed-files.outputs.all
run: pip install -e .
- name: Start service A
- name: Build and test service A
if: steps.changed-files.outputs.all
working-directory: libs/cli/examples
run: |
timeout 60 langgraph test -c examples/langgraph.json --verbose || (exit "$(($? == 124 ? 0 : $?))")
- name: Start service B
# The build-arg isn't used; just testing that we accept other args
langgraph build -t langgraph-test-a --base-image "langchain/langgraph-trial"
cp .env.example .envg
timeout 60 python ../../../.github/scripts/run_langgraph_cli_test.py -c langgraph.json -t langgraph-test-a
- name: Build and test service B
if: steps.changed-files.outputs.all
working-directory: libs/cli/examples/graphs
run: |
timeout 60 langgraph test --verbose || (exit "$(($? == 124 ? 0 : $?))")
- name: Start service C
langgraph build -t langgraph-test-b --base-image "langchain/langgraph-trial"
timeout 60 python ../../../../.github/scripts/run_langgraph_cli_test.py -t langgraph-test-b
- name: Build and test service C
if: steps.changed-files.outputs.all
working-directory: libs/cli/examples/graphs_reqs_a
run: |
timeout 60 langgraph test --verbose || (exit "$(($? == 124 ? 0 : $?))")
- name: Start service D
langgraph build -t langgraph-test-c --base-image "langchain/langgraph-trial"
timeout 60 python ../../../../.github/scripts/run_langgraph_cli_test.py -t langgraph-test-c
- name: Build and test service D
if: steps.changed-files.outputs.all
working-directory: libs/cli/examples/graphs_reqs_b
run: |
timeout 60 langgraph test --verbose || (exit "$(($? == 124 ? 0 : $?))")
langgraph build -t langgraph-test-d --base-image "langchain/langgraph-trial"
timeout 60 python ../../../../.github/scripts/run_langgraph_cli_test.py -t langgraph-test-d
- name: Build JS service
if: steps.changed-files.outputs.all
working-directory: libs/cli/js-examples
run: |
langgraph build -t langgraph-test-e
+1 -3
View File
@@ -27,8 +27,7 @@ jobs:
# Starting new jobs is also relatively slow,
# so linting on fewer versions makes CI faster.
python-version:
- "3.9"
- "3.11"
- "3.12"
name: "lint #${{ matrix.python-version }}"
steps:
- uses: actions/checkout@v4
@@ -43,7 +42,6 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: lint-${{ inputs.working-directory }}
- name: Check Poetry File
+7 -1
View File
@@ -21,6 +21,7 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
name: "test #${{ matrix.python-version }}"
steps:
@@ -30,8 +31,13 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: test-${{ inputs.working-directory }}
- name: Login to Docker Hub
uses: docker/login-action@v3
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}
- name: Install dependencies
shell: bash
+9 -8
View File
@@ -16,14 +16,12 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
core-version:
- ">=0.2.39,<0.3.0"
- "latest"
- "3.13"
defaults:
run:
working-directory: libs/langgraph
name: "test #${{ matrix.python-version }} (langchain-core: ${{ matrix.core-version }})"
name: "test #${{ matrix.python-version }}"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} + Poetry ${{ env.POETRY_VERSION }}
@@ -32,19 +30,22 @@ jobs:
python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }}
cache-key: test-langgraph
- name: Login to Docker Hub
uses: docker/login-action@v3
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}
- name: Install dependencies
shell: bash
run: |
poetry install --with dev
if [ "${{ matrix.core-version }}" != "latest" ]; then
poetry run pip install "langchain-core${{ matrix.core-version }}"
fi
- name: Run tests
shell: bash
run: |
make test
make test_parallel
- name: Ensure the tests did not create any additional files
shell: bash
+2 -1
View File
@@ -29,7 +29,6 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: release
# We want to keep this build stage *separate* from the release stage,
@@ -93,3 +92,5 @@ jobs:
# This is *only for CI use* and is *extremely dangerous* otherwise!
# https://github.com/pypa/gh-action-pypi-publish#tolerating-release-package-file-duplicates
skip-existing: true
# Temp workaround since attestations are on by default as of gh-action-pypi-publish v1.11.0
attestations: false
@@ -27,6 +27,12 @@ jobs:
python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }}
cache-key: test-scheduler-kafka
- name: Login to Docker Hub
uses: docker/login-action@v3
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}
- name: Install dependencies
shell: bash
+88 -3
View File
@@ -20,7 +20,31 @@ env:
POETRY_VERSION: "1.7.1"
jobs:
changes:
runs-on: ubuntu-latest
outputs:
python: ${{ steps.filter.outputs.python }}
sdk-js: ${{ steps.filter.outputs.sdk-js }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
python:
- 'libs/langgraph/**'
- 'libs/sdk-py/**'
- 'libs/cli/**'
- 'libs/checkpoint/**'
- 'libs/checkpoint-sqlite/**'
- 'libs/checkpoint-postgres/**'
- 'libs/scheduler-kafka/**'
- 'libs/prebuilt/**'
sdk-js:
- 'libs/sdk-js/**'
lint:
needs: changes
name: cd ${{ matrix.working-directory }}
strategy:
matrix:
@@ -33,22 +57,28 @@ jobs:
"libs/checkpoint-sqlite",
"libs/checkpoint-postgres",
"libs/scheduler-kafka",
"libs/prebuilt",
]
if: needs.changes.outputs.python == 'true'
uses: ./.github/workflows/_lint.yml
with:
working-directory: ${{ matrix.working-directory }}
secrets: inherit
test:
needs: changes
name: cd ${{ matrix.working-directory }}
strategy:
matrix:
working-directory: [
working-directory:
[
"libs/cli",
"libs/checkpoint",
"libs/checkpoint-sqlite",
"libs/checkpoint-postgres"
"libs/checkpoint-postgres",
"libs/prebuilt",
]
if: needs.changes.outputs.python == 'true'
uses: ./.github/workflows/_test.yml
with:
working-directory: ${{ matrix.working-directory }}
@@ -56,22 +86,44 @@ jobs:
# NOTE: we're testing langgraph separately because it requires a different matrix
test-langgraph:
needs: changes
if: needs.changes.outputs.python == 'true'
name: "cd libs/langgraph"
uses: ./.github/workflows/_test_langgraph.yml
secrets: inherit
# NOTE: we're testing scheduler-kafka separately because it requires a different matrix
test-scheduler-kafka:
needs: changes
if: needs.changes.outputs.python == 'true'
name: "cd libs/scheduler-kafka"
uses: ./.github/workflows/_test_scheduler_kafka.yml
secrets: inherit
check-sdk-methods:
needs: changes
if: needs.changes.outputs.python == 'true'
name: "Check SDK methods matching"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Run check_sdk_methods script
run: python .github/scripts/check_sdk_methods.py
integration-test:
needs: changes
if: needs.changes.outputs.python == 'true'
name: CLI integration test
uses: ./.github/workflows/_integration_test.yml
secrets: inherit
lint-js:
needs: changes
if: needs.changes.outputs.sdk-js == 'true'
runs-on: ubuntu-latest
strategy:
matrix:
@@ -95,9 +147,42 @@ jobs:
- name: Build
run: yarn build
test-js:
needs: changes
if: needs.changes.outputs.sdk-js == 'true'
runs-on: ubuntu-latest
strategy:
matrix:
working-directory:
- "libs/sdk-js"
defaults:
run:
working-directory: ${{ matrix.working-directory }}
steps:
- uses: actions/checkout@v3
- name: Setup Node.js (LTS)
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
cache-dependency-path: ${{ matrix.working-directory }}/yarn.lock
- name: Install dependencies
run: yarn install
- name: Run tests
run: yarn test
ci_success:
name: "CI Success"
needs: [lint, lint-js, test, test-langgraph, test-scheduler-kafka, integration-test]
needs:
[
lint,
lint-js,
test,
test-langgraph,
test-scheduler-kafka,
integration-test,
test-js,
]
if: |
always()
runs-on: ubuntu-latest
+8 -4
View File
@@ -9,7 +9,11 @@
permissions:
contents: read
defaults:
run:
working-directory: docs
jobs:
codespell:
name: (Check for spelling errors)
@@ -21,18 +25,18 @@
- name: Install Dependencies
run: |
pip install toml codespell jupytext
pip install toml codespell==2.3.0 jupytext
- name: Extract Ignore Words List
run: |
# Use a Python script to extract the ignore words list from pyproject.toml
python .github/workflows/extract_ignored_words_list.py
python ../.github/workflows/extract_ignored_words_list.py
id: extract_ignore_words
- name: Codespell
uses: codespell-project/actions-codespell@v2
with:
skip: '*.ambr,*.lock,*.ipynb,*.yaml'
skip: '*.ambr,*.lock,*.ipynb,*.yaml,*.zlib,*.md'
ignore_words_list: ${{ steps.extract_ignore_words.outputs.ignore_words_list }}
# We do this to avoid spellchecking cell outputs
- name: Codespell Notebooks
+83 -7
View File
@@ -21,9 +21,36 @@ concurrency:
group: "pages"
cancel-in-progress: false
defaults:
run:
working-directory: docs
jobs:
deploy:
get-changed-files:
runs-on: ubuntu-latest
outputs:
changed-files: ${{ steps.changed-files.outputs.added_modified }}
steps:
- uses: actions/checkout@v4
- name: Get changed files
id: changed-files
uses: Ana06/get-changed-files@v2.3.0
with:
filter: "docs/docs/**"
run-changed-notebooks:
needs: get-changed-files
uses: ./.github/workflows/run_notebooks.yml
secrets: inherit
with:
changed-files: ${{ needs.get-changed-files.outputs.changed-files }}
deploy:
# needs: run-changed-notebooks
runs-on: ubuntu-latest
timeout-minutes: 10 # Job will be cancelled if it runs for more than 10 minutes
env:
GITHUB_TOKEN: ${{ secrets.MKDOCS_GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
with:
@@ -36,16 +63,50 @@ jobs:
poetry-version: ${{ env.POETRY_VERSION }}
cache-key: docs
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: "22"
cache: "yarn"
cache-dependency-path: docs/yarn.lock
- name: Install dependencies
run: |
poetry install --with docs
poetry run pip install -U pytest pytest-check-links langsmith langchain GitPython
yarn
poetry install --with test --with docs --no-root
poetry run pip install -U \
pytest \
pytest-check-links \
GitPython \
"git+https://github.com/benjamincburns/markdown-exec.git@cc0d39d737e5ffd4b83d23cd8729d7ea16e363c8"
# we run this installation only for internal PRs
# as GITHUB_TOKEN is not available for PRs from outside contributors
if [ -n "${GITHUB_TOKEN}" ]; then
poetry run pip install "git+https://${GITHUB_TOKEN}@github.com/langchain-ai/mkdocs-material-insiders.git"
fi
poetry run jupyter kernelspec list
poetry run python3 -m ipykernel install --user --name=python3
npm install -g tslab
poetry run tslab install --python=python3
poetry run jupyter kernelspec list
- name: Run unit tests
# Run unit tests on the docs build pipeline
run: make tests
- name: Lint Docs
# This step lints the docs using the existing linting set up.
# It should be very fast and should not require any external services.
run: make lint-docs
- name: Build llms-text
run: make llms-text
- name: Build site
run: make build-docs
env:
MKDOCS_GIT_COMMITTERS_APIKEY: ${{ secrets.MKDOCS_GIT_COMMITTERS_APIKEY }}
OPENAI_API_KEY: sf-proj-1234567890 # fake placeholder, shouldn't actually be used
ANTHROPIC_API_KEY: sk-ant-api03-1234567890 # fake placeholder, shouldn't actually be used
- name: Check links in notebooks
env:
LANGCHAIN_API_KEY: test
@@ -54,21 +115,36 @@ jobs:
echo "Running link check on all HTML files matching notebooks in docs directory..."
poetry run pytest -v \
--check-links-ignore "https://(api|web|docs)\.smith\.langchain\.com/.*" \
--check-links-ignore "https://academy\.langchain\.com/.*" \
--check-links-ignore "https://x.com/.*" \
--check-links-ignore "https://twitter.com/.*" \
--check-links-ignore "https://github\.com/.*" \
--check-links-ignore "http://localhost:8123/.*" \
--check-links-ignore "http://localhost:2024.*" \
--check-links-ignore "http://127.0.0.1:.*" \
--check-links-ignore "/.*\.(ipynb|html)$" \
--check-links $(find docs/site -name "index.html" | grep -v 'storm/index.html')
--check-links-ignore "https://python\.langchain\.com/.*" \
--check-links-ignore "https://openai\.com/.*" \
--check-links-ignore "https://www\.uber\.com/.*" \
--check-links-ignore "https://pepy\.tech/.*" \
--check-links $(find site -name "index.html" | grep -v 'storm/index.html')
else
echo "Fetching changes from origin/main..."
git fetch origin main
echo "Checking for changed notebook files..."
CHANGED_FILES=$(git diff --name-only --diff-filter=d origin/main | grep 'docs/docs/.*\.ipynb$' | grep -v 'storm.ipynb' | sed -E 's|^docs/docs/|docs/site/|; s/\.ipynb$/\/index.html/' || true)
CHANGED_FILES=$(git diff --name-only --diff-filter=d origin/main | grep 'docs/docs/.*\.ipynb$' | grep -v 'storm.ipynb' | sed -E 's|^docs/docs/|site/|; s/\.ipynb$/\/index.html/' || true)
echo "Changed files: ${CHANGED_FILES}"
if [ -n "${CHANGED_FILES}" ]; then
echo "Running link check on HTML files matching changed notebook files..."
poetry run pytest -v \
--check-links-ignore "https://(api|web|docs)\.smith\.langchain\.com/.*" \
--check-links-ignore "https://academy\.langchain\.com/.*" \
--check-links-ignore "http://localhost:8123/.*" \
--check-links-ignore "http://localhost:2024.*" \
--check-links-ignore "http://127.0.0.1:.*" \
--check-links-ignore "https://x.com/.*" \
--check-links-ignore "https://twitter.com/.*" \
--check-links-ignore "https://github\.com/.*" \
--check-links-ignore "/.*\.(ipynb|html)$" \
--check-links ${CHANGED_FILES} \
@@ -83,7 +159,7 @@ jobs:
uses: actions/configure-pages@v4
- name: Upload Pages Artifact
if: github.ref == 'refs/heads/main'
# if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/site/
@@ -1,6 +1,6 @@
import toml
pyproject_toml = toml.load("libs/langgraph/pyproject.toml")
pyproject_toml = toml.load("pyproject.toml")
# Extract the ignore words list (adjust the key as per your TOML structure)
ignore_words_list = (
+7 -5
View File
@@ -31,7 +31,6 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: release
# We want to keep this build stage *separate* from the release stage,
@@ -169,7 +168,6 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
- name: Import published package
shell: bash
@@ -197,7 +195,11 @@ jobs:
"$PKG_NAME==$VERSION" \
)
if [[ "$PKG_NAME" == *checkpoint* ]]; then
if [[ "$PKG_NAME" == *prebuilt* ]]; then
poetry run pip install langgraph
fi
if [[ "$PKG_NAME" == *checkpoint* || "$PKG_NAME" == *prebuilt* ]]; then
# since checkpoint packages are namespace packages, import them with . convention
# i.e. import langgraph.checkpoint or langgraph.checkpoint.sqlite
IMPORT_NAME="$(echo "$PKG_NAME" | sed s/-/./g)"
@@ -256,7 +258,6 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: release
- uses: actions/download-artifact@v4
@@ -270,6 +271,8 @@ jobs:
packages-dir: ${{ inputs.working-directory }}/dist/
verbose: true
print-hash: true
# Temp workaround since attestations are on by default as of gh-action-pypi-publish v1.11.0
attestations: false
mark-release:
needs:
@@ -296,7 +299,6 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
poetry-version: ${{ env.POETRY_VERSION }}
working-directory: ${{ inputs.working-directory }}
cache-key: release
- uses: actions/download-artifact@v4
+31 -4
View File
@@ -2,9 +2,19 @@ name: Run notebooks
on:
workflow_dispatch:
workflow_call:
inputs:
changed-files:
required: false
type: string
description: "JSON string of changed files"
schedule:
- cron: '0 13 * * *'
defaults:
run:
working-directory: docs
jobs:
build:
runs-on: ubuntu-latest
@@ -14,7 +24,6 @@ jobs:
- "development"
- "latest"
name: "test (langgraph: ${{ matrix.lib-version }})"
steps:
- uses: actions/checkout@v4
- name: Set up Python + Poetry
@@ -32,12 +41,16 @@ jobs:
- name: Start services
run: make start-services
- name: Pre-download tiktoken files
run: |
poetry run python _scripts/download_tiktoken.py
- name: Prepare notebooks
run: |
if [ "${{ matrix.lib-version }}" = "development" ]; then
poetry run python docs/_scripts/prepare_notebooks_for_ci.py --comment-install-cells
poetry run python _scripts/prepare_notebooks_for_ci.py --comment-install-cells
else
poetry run python docs/_scripts/prepare_notebooks_for_ci.py
poetry run python _scripts/prepare_notebooks_for_ci.py
fi
- name: Run notebooks
@@ -48,8 +61,22 @@ jobs:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
TAVILY_API_KEY: ${{ secrets.TAVILY_API_KEY }}
LANGSMITH_API_KEY: ${{ secrets.LANGSMITH_API_KEY }}
NOMIC_API_KEY: ${{ secrets.NOMIC_API_KEY }}
COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }}
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
run: |
./docs/_scripts/execute_notebooks.sh
if [ "${{ github.event_name }}" = "workflow_dispatch" ] || [ "${{ github.event_name }}" = "schedule" ]; then
echo "Running all notebooks"
./_scripts/execute_notebooks.sh
else
CHANGED_FILES=$(echo '${{ inputs.changed-files }}' | tr ' ' '\n' | sed 's|^docs/docs/|docs/|' | grep '\.ipynb$' || true)
if [ -n "$CHANGED_FILES" ]; then
echo "Running changed notebooks: $CHANGED_FILES"
./_scripts/execute_notebooks.sh $CHANGED_FILES
else
echo "No notebook files changed, skipping execution"
fi
fi
- name: Stop services
run: make stop-services
+2 -1
View File
@@ -178,4 +178,5 @@ Untitled*.ipynb
Chinook.db
libs/langgraph/out
.vercel
.turbo
+142
View File
@@ -0,0 +1,142 @@
# LangGraph Coding Guide
## Repository Structure
LangGraph follows a monorepo organization, with the following structure:
- `libs/langgraph` is the main Python library, published to pypi as `langgraph`. This contains the majority of the code for the framework, as well as the majority of the unit tests.
- `libs/checkpoint` , published to pypi as `langgraph-checkpoint` contains the base classes for the persistence layer of langgraph. The two main abstractions are BaseCheckpointSaver (base class for persistence of workflow runs step-by-step) and BaseStore (base class for "long-term memory" operations, offering a key-value interface combined with semantic search over documents, used for persisting information across distinct workflow runs). This library is a dependency of both the main langgraph library, as well as implementations of these storage interfaces for specific databases. This library also contains reference implementations
- `libs/checkpoint-postgres` published to pypi as langgraph-checkpoint-postgres, contains implementations of checkpoint and store backed by postgres. Majority of the test coverage is in `libs/langgraph` in the form of tests that run over all storage implementations in the repo.
- `langgraph-java` contains a Java implementation of the langgraph framework, which is in the early stages of development.
## Feature Overview
langgraph is an orchestration framework (in the style of airflow or temporal) designed for LLM applications, with a focus on streaming output, cyclical and parallel workflows, and interrupt/resume capabilities. Applications built with langgraph are variously called workflows, graphs, cognitive architectures, agents. Key features:
1. **Graph-based Architecture**: Build directed computation graphs with nodes and edges
2. **State Management**: Type-safe state schema with custom reducers and transformations
3. **Human-in-the-loop**: Support for interrupts, checkpoints, and tool call review
4. **Persistence**: Save and resume execution with in-memory or database storage
5. **Streaming**: Multiple modes (values, updates, custom) for real-time feedback
6. **Multi-agent Patterns**: Support for network, supervisor, and hierarchical architectures
## Python Development
### Build/Test/Lint Commands
(in the respective subdirectory)
- Run all tests: `make test`
- Run single test: `make test TEST=path/to/test_file.py::test_function`
- Watch mode tests: `make test_watch`
- Run tests in parallel: `make test_parallel`
- Generate coverage report: `make coverage`
- Format code: `make format`
- Lint code: `make lint`
- Check spelling: `make spell_check`
- Fix spelling: `make spell_fix`
- Build documentation: `make serve-docs` (from repo root)
- Run benchmarks: `make benchmark` or `make benchmark-fast`
### Code Style Guidelines
- Follow [ruff](https://github.com/astral-sh/ruff) formatting/linting rules
- Use [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html) for docstrings
- Enforce type annotations with mypy (`disallow_untyped_defs = True`)
- Use double quotes for strings
- Maximum line length of 88 characters
- Follow imports sorting with `ruff`
- All functions/classes must have proper docstrings with args/returns
- Write comprehensive unit tests for new features
- Keep backward compatibility
- PR scope should be isolated (changes shouldn't affect multiple packages)
- Use descriptive variable names following Python conventions
- Error handling should use appropriate exception types and messaging
## Java Development
(in the `langgraph-java` subdirectory)
### Build/Test/Lint Commands
- Build the project: `./gradlew build`
- Run tests: `./gradlew test`
- Run a specific test: `./gradlew test --tests "com.langgraph.package.TestClass.testMethod"`
- Check formatting: `./gradlew spotlessCheck`
- Apply formatting: `./gradlew spotlessApply`
- Run all checks: `./gradlew check`
- Generate Javadoc: `./gradlew javadoc`
### Code Style Guidelines
- Follow standard Java code style (Google Java Style Guide)
- Use 4 spaces for indentation
- Maximum line length of 100 characters
- All public methods/classes must have proper Javadoc with @param/@return tags
- Use descriptive variable names following Java conventions (camelCase)
- Exception handling should use appropriate exception types with descriptive messages
- Favor composition over inheritance
- Use the Builder pattern for complex object creation
- Write comprehensive unit tests for new features
### Python Compatibility Guidelines
- When implementing features from the Python version:
- Maintain semantic equivalence with the Python implementation
- Preserve the same behavior for all public APIs
- Document any intentional differences in behavior with comments
- Pay special attention to collections handling (Python lists vs Java Lists)
- Ensure that iteration order and value handling match Python where relevant
- Use the same test cases as the Python version when possible
- Do not introduce Java-specific shortcuts that would break Python compatibility
- Never add test-specific code to source files - tests should adapt to implementation, not vice versa
### Implementation Mapping
- Always consult and update the `PYTHON_JAVA_MAPPING.md` file when:
- Adding new Java files or classes
- Updating existing Java implementations
- Fixing test failures in Java
- Implementing Python features in Java
- This mapping file documents:
- Where to find equivalent functionality in Python and Java
- Any intentional deviations between implementations
- Implementation status and compatibility notes
- When tests fail, check if the Java implementation matches Python behavior:
- Fix the implementation to match Python semantics whenever possible
- Update tests only if the Python version also differs
- Never create special cases or workarounds in Java just to make tests pass
- Document any implementation differences clearly in the mapping file
- For new features, implement the Python behavior first, then adapt to Java idioms
### Backward Compatibility and API Design
- LangGraph Java has not been released publicly, so there is no need to maintain backward compatibility
- When renaming methods, members, or classes:
- Use the clearest, most intuitive names that match Python semantics
- Remove old/deprecated methods completely rather than marking them as deprecated
- Update all tests and documentation to use the new names
- Do not leave deprecated methods or tests for backward compatibility
### API Design Principles
- Prefer a single, clear way to accomplish each task rather than multiple convenience methods
- Prefer builder patterns over static factory methods where appropriate
- For collections, prefer methods that operate on collections rather than having both single-item and collection variants
- Choose method names that clearly express their purpose and align with Java conventions
- Maintain consistent naming patterns across similar components
- Document the recommended usage pattern in JavaDoc
### Project Structure
- `langgraph-core`: Core functionality of the framework
- `langgraph-checkpoint`: Persistence layer for checkpoints and state management
- `langgraph-examples`: Example applications and usage patterns
### Error Handling
- Use runtime exceptions for unexpected errors
- Use checked exceptions for recoverable errors
- Provide clear error messages that include context about what went wrong
- Validate inputs early to prevent cascading errors
- Ensure all resources are properly closed even in error conditions
+1 -1
View File
@@ -49,7 +49,7 @@ gain understanding of concepts and how they interact by showing one way to achie
They should **avoid** giving
multiple permutations of ways to achieve that goal in-depth. Choice is burdensome. Instead, they should guide a new user through a recommended path to accomplishing a concrete goal. While the end result of a tutorial does not necessarily need to
be completely production-ready, it should be useful and practically satisfy the the goal that you clearly stated in the tutorial's introduction.
be completely production-ready, it should be useful and practically satisfy the goal that you clearly stated in the tutorial's introduction.
To quote the Diataxis website:
-29
View File
@@ -1,29 +0,0 @@
.PHONY: build-docs serve-docs serve-clean-docs clean-docs codespell build-typedoc
build-typedoc:
cd libs/sdk-js && yarn install --include-dev && yarn typedoc
cd libs/sdk-js && yarn --silent concat-md --decrease-title-levels --ignore=js_ts_sdk_ref.md --start-title-level-at 2 docs > ../../docs/docs/cloud/reference/sdk/js_ts_sdk_ref.md 2>/dev/null
# Add links to the monorepo
sed -e '1,10s|@langchain/langgraph-sdk|[@langchain/langgraph-sdk](https://github.com/langchain-ai/langgraph/tree/main/libs/sdk-js)|g' docs/docs/cloud/reference/sdk/js_ts_sdk_ref.md > temp_file && mv temp_file docs/docs/cloud/reference/sdk/js_ts_sdk_ref.md
build-docs: build-typedoc
poetry run python -m mkdocs build --clean -f docs/mkdocs.yml --strict
serve-clean-docs: clean-docs
poetry run python -m mkdocs serve -c -f docs/mkdocs.yml --strict -w ./libs/langgraph
serve-docs: build-typedoc
poetry run python -m mkdocs serve -f docs/mkdocs.yml -w ./libs/langgraph --dirty
clean-docs:
find ./docs/docs -name "*.ipynb" -type f -delete
rm -rf docs/site
codespell:
./docs/codespell_notebooks.sh .
start-services:
docker compose -f docs/test-compose.yml up -V --force-recreate --wait --remove-orphans
stop-services:
docker compose -f docs/test-compose.yml down
+189 -83
View File
@@ -8,24 +8,56 @@
⚡ Building language agents as graphs ⚡
> [!NOTE]
> Looking for the JS version? Click [here](https://github.com/langchain-ai/langgraphjs) ([JS docs](https://langchain-ai.github.io/langgraphjs/)).
> Looking for the JS version? See the [JS repo](https://github.com/langchain-ai/langgraphjs) and the [JS docs](https://langchain-ai.github.io/langgraphjs/).
## Overview
[LangGraph](https://langchain-ai.github.io/langgraph/) is a library for building stateful, multi-actor applications with LLMs, used to create agent and multi-agent workflows. Compared to other LLM frameworks, it offers these core benefits: cycles, controllability, and persistence. LangGraph allows you to define flows that involve cycles, essential for most agentic architectures, differentiating it from DAG-based solutions. As a very low-level framework, it provides fine-grained control over both the flow and state of your application, crucial for creating reliable agents. Additionally, LangGraph includes built-in persistence, enabling advanced human-in-the-loop and memory features.
[LangGraph](https://langchain-ai.github.io/langgraph/) is a library for building
stateful, multi-actor applications with LLMs, used to create agent and multi-agent
workflows. Check out an introductory tutorial [here](https://langchain-ai.github.io/langgraph/tutorials/introduction/).
LangGraph is inspired by [Pregel](https://research.google/pubs/pub37252/) and [Apache Beam](https://beam.apache.org/). The public interface draws inspiration from [NetworkX](https://networkx.org/documentation/latest/). LangGraph is built by LangChain Inc, the creators of LangChain, but can be used without LangChain.
To learn more about LangGraph, check out our first LangChain Academy course, *Introduction to LangGraph*, available for free [here](https://academy.langchain.com/courses/intro-to-langgraph).
### Why use LangGraph?
### Key Features
LangGraph powers [production-grade agents](https://www.langchain.com/built-with-langgraph), trusted by Linkedin, Uber, Klarna, GitLab, and many more. LangGraph provides fine-grained control over both the flow and state of your agent applications. It implements a central [persistence layer](https://langchain-ai.github.io/langgraph/concepts/persistence/), enabling features that are common to most agent architectures:
- **Cycles and Branching**: Implement loops and conditionals in your apps.
- **Persistence**: Automatically save state after each step in the graph. Pause and resume the graph execution at any point to support error recovery, human-in-the-loop workflows, time travel and more.
- **Human-in-the-Loop**: Interrupt graph execution to approve or edit next action planned by the agent.
- **Streaming Support**: Stream outputs as they are produced by each node (including token streaming).
- **Integration with LangChain**: LangGraph integrates seamlessly with [LangChain](https://github.com/langchain-ai/langchain/) and [LangSmith](https://docs.smith.langchain.com/) (but does not require them).
- **Memory**: LangGraph persists arbitrary aspects of your application's state,
supporting memory of conversations and other updates within and across user
interactions;
- **Human-in-the-loop**: Because state is checkpointed, execution can be interrupted
and resumed, allowing for decisions, validation, and corrections at key stages via
human input.
Standardizing these components allows individuals and teams to focus on the behavior
of their agent, instead of its supporting infrastructure.
Through [LangGraph Platform](#langgraph-platform), LangGraph also provides tooling for
the development, deployment, debugging, and monitoring of your applications.
LangGraph integrates seamlessly with
[LangChain](https://python.langchain.com/docs/introduction/) and
[LangSmith](https://docs.smith.langchain.com/) (but does not require them).
To learn more about LangGraph, check out our first LangChain Academy
course, *Introduction to LangGraph*, available for free
[here](https://academy.langchain.com/courses/intro-to-langgraph).
### LangGraph Platform
[LangGraph Platform](https://langchain-ai.github.io/langgraph/concepts/langgraph_platform) is infrastructure for deploying LangGraph agents. It is a commercial solution for deploying agentic applications to production, built on the open-source LangGraph framework. The LangGraph Platform consists of several components that work together to support the development, deployment, debugging, and monitoring of LangGraph applications: [LangGraph Server](https://langchain-ai.github.io/langgraph/concepts/langgraph_server) (APIs), [LangGraph SDKs](https://langchain-ai.github.io/langgraph/concepts/sdk) (clients for the APIs), [LangGraph CLI](https://langchain-ai.github.io/langgraph/concepts/langgraph_cli) (command line tool for building the server), and [LangGraph Studio](https://langchain-ai.github.io/langgraph/concepts/langgraph_studio) (UI/debugger).
See deployment options [here](https://langchain-ai.github.io/langgraph/concepts/deployment_options/)
(includes a free tier).
Here are some common issues that arise in complex deployments, which LangGraph Platform addresses:
- **Streaming support**: LangGraph Server provides [multiple streaming modes](https://langchain-ai.github.io/langgraph/concepts/streaming) optimized for various application needs
- **Background runs**: Runs agents asynchronously in the background
- **Support for long running agents**: Infrastructure that can handle long running processes
- **[Double texting](https://langchain-ai.github.io/langgraph/concepts/double_texting)**: Handle the case where you get two messages from the user before the agent can respond
- **Handle burstiness**: Task queue for ensuring requests are handled consistently without loss, even under heavy loads
## Installation
@@ -35,9 +67,7 @@ pip install -U langgraph
## Example
One of the central concepts of LangGraph is state. Each graph execution creates a state that is passed between nodes in the graph as they execute, and each node updates this internal state with its return value after it executes. The way that the graph updates its internal state is defined by either the type of graph chosen or a custom function.
Let's take a look at a simple example of an agent that can use a search tool.
Let's build a tool-calling [ReAct-style](https://langchain-ai.github.io/langgraph/concepts/agentic_concepts/#react-implementation) agent that uses a search tool!
```shell
pip install langchain-anthropic
@@ -54,10 +84,72 @@ export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY=lsv2_sk_...
```
```python
from typing import Annotated, Literal, TypedDict
The simplest way to create a tool-calling agent in LangGraph is to use `create_react_agent`:
<details open>
<summary>High-level implementation</summary>
```python
from langgraph.prebuilt import create_react_agent
from langgraph.checkpoint.memory import MemorySaver
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool
# Define the tools for the agent to use
@tool
def search(query: str):
"""Call to surf the web."""
# This is a placeholder, but don't tell the LLM that...
if "sf" in query.lower() or "san francisco" in query.lower():
return "It's 60 degrees and foggy."
return "It's 90 degrees and sunny."
tools = [search]
model = ChatAnthropic(model="claude-3-5-sonnet-latest", temperature=0)
# Initialize memory to persist state between graph runs
checkpointer = MemorySaver()
app = create_react_agent(model, tools, checkpointer=checkpointer)
# Use the agent
final_state = app.invoke(
{"messages": [{"role": "user", "content": "what is the weather in sf"}]},
config={"configurable": {"thread_id": 42}}
)
final_state["messages"][-1].content
```
```
"Based on the search results, I can tell you that the current weather in San Francisco is:\n\nTemperature: 60 degrees Fahrenheit\nConditions: Foggy\n\nSan Francisco is known for its microclimates and frequent fog, especially during the summer months. The temperature of 60°F (about 15.5°C) is quite typical for the city, which tends to have mild temperatures year-round. The fog, often referred to as "Karl the Fog" by locals, is a characteristic feature of San Francisco\'s weather, particularly in the mornings and evenings.\n\nIs there anything else you\'d like to know about the weather in San Francisco or any other location?"
```
Now when we pass the same <code>"thread_id"</code>, the conversation context is retained via the saved state (i.e. stored list of messages)
```python
final_state = app.invoke(
{"messages": [{"role": "user", "content": "what about ny"}]},
config={"configurable": {"thread_id": 42}}
)
final_state["messages"][-1].content
```
```
"Based on the search results, I can tell you that the current weather in New York City is:\n\nTemperature: 90 degrees Fahrenheit (approximately 32.2 degrees Celsius)\nConditions: Sunny\n\nThis weather is quite different from what we just saw in San Francisco. New York is experiencing much warmer temperatures right now. Here are a few points to note:\n\n1. The temperature of 90°F is quite hot, typical of summer weather in New York City.\n2. The sunny conditions suggest clear skies, which is great for outdoor activities but also means it might feel even hotter due to direct sunlight.\n3. This kind of weather in New York often comes with high humidity, which can make it feel even warmer than the actual temperature suggests.\n\nIt's interesting to see the stark contrast between San Francisco's mild, foggy weather and New York's hot, sunny conditions. This difference illustrates how varied weather can be across different parts of the United States, even on the same day.\n\nIs there anything else you'd like to know about the weather in New York or any other location?"
```
</details>
> [!TIP]
> LangGraph is a **low-level** framework that allows you to implement any custom agent
architectures. Click on the low-level implementation below to see how to implement a
tool-calling agent from scratch.
<details>
<summary>Low-level implementation</summary>
```python
from typing import Literal
from langchain_core.messages import HumanMessage
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool
from langgraph.checkpoint.memory import MemorySaver
@@ -79,7 +171,7 @@ tools = [search]
tool_node = ToolNode(tools)
model = ChatAnthropic(model="claude-3-5-sonnet-20240620", temperature=0).bind_tools(tools)
model = ChatAnthropic(model="claude-3-5-sonnet-latest", temperature=0).bind_tools(tools)
# Define the function that determines whether to continue or not
def should_continue(state: MessagesState) -> Literal["tools", END]:
@@ -133,100 +225,114 @@ checkpointer = MemorySaver()
# Note that we're (optionally) passing the memory when compiling the graph
app = workflow.compile(checkpointer=checkpointer)
# Use the Runnable
# Use the agent
final_state = app.invoke(
{"messages": [HumanMessage(content="what is the weather in sf")]},
{"messages": [{"role": "user", "content": "what is the weather in sf"}]},
config={"configurable": {"thread_id": 42}}
)
final_state["messages"][-1].content
```
```
"Based on the search results, I can tell you that the current weather in San Francisco is:\n\nTemperature: 60 degrees Fahrenheit\nConditions: Foggy\n\nSan Francisco is known for its microclimates and frequent fog, especially during the summer months. The temperature of 60°F (about 15.5°C) is quite typical for the city, which tends to have mild temperatures year-round. The fog, often referred to as "Karl the Fog" by locals, is a characteristic feature of San Francisco\'s weather, particularly in the mornings and evenings.\n\nIs there anything else you\'d like to know about the weather in San Francisco or any other location?"
```
<b>Step-by-step Breakdown</b>:
Now when we pass the same `"thread_id"`, the conversation context is retained via the saved state (i.e. stored list of messages)
<details>
<summary>Initialize the model and tools.</summary>
<ul>
<li>
We use <code>ChatAnthropic</code> as our LLM. <strong>NOTE:</strong> we need to make sure the model knows that it has these tools available to call. We can do this by converting the LangChain tools into the format for OpenAI tool calling using the <code>.bind_tools()</code> method.
</li>
<li>
We define the tools we want to use - a search tool in our case. It is really easy to create your own tools - see documentation here on how to do that <a href="https://python.langchain.com/docs/how_to/custom_tools/">here</a>.
</li>
</ul>
</details>
```python
final_state = app.invoke(
{"messages": [HumanMessage(content="what about ny")]},
config={"configurable": {"thread_id": 42}}
)
final_state["messages"][-1].content
```
<details>
<summary>Initialize graph with state.</summary>
```
"Based on the search results, I can tell you that the current weather in New York City is:\n\nTemperature: 90 degrees Fahrenheit (approximately 32.2 degrees Celsius)\nConditions: Sunny\n\nThis weather is quite different from what we just saw in San Francisco. New York is experiencing much warmer temperatures right now. Here are a few points to note:\n\n1. The temperature of 90°F is quite hot, typical of summer weather in New York City.\n2. The sunny conditions suggest clear skies, which is great for outdoor activities but also means it might feel even hotter due to direct sunlight.\n3. This kind of weather in New York often comes with high humidity, which can make it feel even warmer than the actual temperature suggests.\n\nIt's interesting to see the stark contrast between San Francisco's mild, foggy weather and New York's hot, sunny conditions. This difference illustrates how varied weather can be across different parts of the United States, even on the same day.\n\nIs there anything else you'd like to know about the weather in New York or any other location?"
```
<ul>
<li>We initialize graph (<code>StateGraph</code>) by passing state schema (in our case <code>MessagesState</code>)</li>
<li><code>MessagesState</code> is a prebuilt state schema that has one attribute -- a list of LangChain <code>Message</code> objects, as well as logic for merging the updates from each node into the state.</li>
</ul>
</details>
### Step-by-step Breakdown
<details>
<summary>Define graph nodes.</summary>
1. <details>
<summary>Initialize the model and tools.</summary>
There are two main nodes we need:
- we use `ChatAnthropic` as our LLM. **NOTE:** we need make sure the model knows that it has these tools available to call. We can do this by converting the LangChain tools into the format for OpenAI tool calling using the `.bind_tools()` method.
- we define the tools we want to use - a search tool in our case. It is really easy to create your own tools - see documentation here on how to do that [here](https://python.langchain.com/docs/modules/agents/tools/custom_tools).
</details>
<ul>
<li>The <code>agent</code> node: responsible for deciding what (if any) actions to take.</li>
<li>The <code>tools</code> node that invokes tools: if the agent decides to take an action, this node will then execute that action.</li>
</ul>
</details>
2. <details>
<summary>Initialize graph with state.</summary>
<details>
<summary>Define entry point and graph edges.</summary>
- we initialize graph (`StateGraph`) by passing state schema (in our case `MessagesState`)
- `MessagesState` is a prebuilt state schema that has one attribute -- a list of LangChain `Message` objects, as well as logic for merging the updates from each node into the state
</details>
First, we need to set the entry point for graph execution - <code>agent</code> node.
3. <details>
<summary>Define graph nodes.</summary>
Then we define one normal and one conditional edge. Conditional edge means that the destination depends on the contents of the graph's state (<code>MessagesState</code>). In our case, the destination is not known until the agent (LLM) decides.
There are two main nodes we need:
<ul>
<li>Conditional edge: after the agent is called, we should either:
<ul>
<li>a. Run tools if the agent said to take an action, OR</li>
<li>b. Finish (respond to the user) if the agent did not ask to run tools</li>
</ul>
</li>
<li>Normal edge: after the tools are invoked, the graph should always return to the agent to decide what to do next</li>
</ul>
</details>
- The `agent` node: responsible for deciding what (if any) actions to take.
- The `tools` node that invokes tools: if the agent decides to take an action, this node will then execute that action.
</details>
<details>
<summary>Compile the graph.</summary>
4. <details>
<summary>Define entry point and graph edges.</summary>
<ul>
<li>
When we compile the graph, we turn it into a LangChain
<a href="https://python.langchain.com/docs/concepts/runnables/">Runnable</a>,
which automatically enables calling <code>.invoke()</code>, <code>.stream()</code> and <code>.batch()</code>
with your inputs
</li>
<li>
We can also optionally pass checkpointer object for persisting state between graph runs, and enabling memory,
human-in-the-loop workflows, time travel and more. In our case we use <code>MemorySaver</code> -
a simple in-memory checkpointer
</li>
</ul>
</details>
First, we need to set the entry point for graph execution - `agent` node.
<details>
<summary>Execute the graph.</summary>
Then we define one normal and one conditional edge. Conditional edge means that the destination depends on the contents of the graph's state (`MessageState`). In our case, the destination is not known until the agent (LLM) decides.
- Conditional edge: after the agent is called, we should either:
- a. Run tools if the agent said to take an action, OR
- b. Finish (respond to the user) if the agent did not ask to run tools
- Normal edge: after the tools are invoked, the graph should always return to the agent to decide what to do next
</details>
5. <details>
<summary>Compile the graph.</summary>
- When we compile the graph, we turn it into a LangChain [Runnable](https://python.langchain.com/v0.2/docs/concepts/#runnable-interface), which automatically enables calling `.invoke()`, `.stream()` and `.batch()` with your inputs
- We can also optionally pass checkpointer object for persisting state between graph runs, and enabling memory, human-in-the-loop workflows, time travel and more. In our case we use `MemorySaver` - a simple in-memory checkpointer
</details>
6. <details>
<summary>Execute the graph.</summary>
1. LangGraph adds the input message to the internal state, then passes the state to the entrypoint node, `"agent"`.
2. The `"agent"` node executes, invoking the chat model.
3. The chat model returns an `AIMessage`. LangGraph adds this to the state.
4. Graph cycles the following steps until there are no more `tool_calls` on `AIMessage`:
- If `AIMessage` has `tool_calls`, `"tools"` node executes
- The `"agent"` node executes again and returns `AIMessage`
5. Execution progresses to the special `END` value and outputs the final state.
And as a result, we get a list of all our chat messages as output.
</details>
<ol>
<li>LangGraph adds the input message to the internal state, then passes the state to the entrypoint node, <code>"agent"</code>.</li>
<li>The <code>"agent"</code> node executes, invoking the chat model.</li>
<li>The chat model returns an <code>AIMessage</code>. LangGraph adds this to the state.</li>
<li>Graph cycles the following steps until there are no more <code>tool_calls</code> on <code>AIMessage</code>:
<ul>
<li>If <code>AIMessage</code> has <code>tool_calls</code>, <code>"tools"</code> node executes</li>
<li>The <code>"agent"</code> node executes again and returns <code>AIMessage</code></li>
</ul>
</li>
<li>Execution progresses to the special <code>END</code> value and outputs the final state. And as a result, we get a list of all our chat messages as output.</li>
</ol>
</details>
</details>
## Documentation
* [Tutorials](https://langchain-ai.github.io/langgraph/tutorials/): Learn to build with LangGraph through guided examples.
* [How-to Guides](https://langchain-ai.github.io/langgraph/how-tos/): Accomplish specific things within LangGraph, from streaming, to adding memory & persistence, to common design patterns (branching, subgraphs, etc.), these are the place to go if you want to copy and run a specific code snippet.
* [Conceptual Guides](https://langchain-ai.github.io/langgraph/concepts/): In-depth explanations of the key concepts and principles behind LangGraph, such as nodes, edges, state and more.
* [Conceptual Guides](https://langchain-ai.github.io/langgraph/concepts/high_level/): In-depth explanations of the key concepts and principles behind LangGraph, such as nodes, edges, state and more.
* [API Reference](https://langchain-ai.github.io/langgraph/reference/graphs/): Review important classes and methods, simple examples of how to use the graph and checkpointing APIs, higher-level prebuilt components and more.
* [Cloud (beta)](https://langchain-ai.github.io/langgraph/cloud/): With one click, deploy LangGraph applications to LangGraph Cloud.
* [LangGraph Platform](https://langchain-ai.github.io/langgraph/concepts/#langgraph-platform): LangGraph Platform is a commercial solution for deploying agentic applications in production, built on the open-source LangGraph framework.
## Resources
* [Built with LangGraph](https://www.langchain.com/built-with-langgraph): Hear how industry leaders use LangGraph to ship powerful, production-ready AI applications.
## Contributing
-2
View File
@@ -1,2 +0,0 @@
site/
docs/cloud/reference/sdk/js_ts_sdk_ref.md
-61
View File
@@ -1,61 +0,0 @@
# Setup
To setup requirements for building docs you can run:
```bash
poetry install --with test
```
## Serving documentation locally
To run the documentation server locally you can run:
```bash
make serve-docs
```
## Execute notebooks
If you would like to automatically execute all of the notebooks, to mimic the "Run notebooks" GHA, you can run:
```bash
python docs/_scripts/prepare_notebooks_for_ci.py
./docs/_scripts/execute_notebooks.sh
```
**Note**: if you want to run the notebooks without `%pip install` cells, you can run:
```bash
python docs/_scripts/prepare_notebooks_for_ci.py --comment-install-cells
./docs/_scripts/execute_notebooks.sh
```
`prepare_notebooks_for_ci.py` script will add VCR cassette context manager for each cell in the notebook, so that:
* when the notebook is run for the first time, cells with network requests will be recorded to a VCR cassette file
* when the notebook is run subsequently, the cells with network requests will be replayed from the cassettes
**Note**: this is currently limited only to the notebooks in `docs/docs/how-tos`
## Adding new notebooks
If you are adding a notebook with API requests, it's **recommended** to record network requests so that they can be subsequently replayed. If this is not done, the notebook runner will make API requests every time the notebook is run, which can be costly and slow.
To record network requests, please make sure to first run `prepare_notebooks_for_ci.py` script.
Then, run
```bash
jupyter execute <path_to_notebook>
```
Once the notebook is executed, you should see the new VCR cassettes recorded in `docs/cassettes` directory and discard the updated notebook.
## Updating existing notebooks
If you are updating an existing notebook, please make sure to remove any existing cassettes for the notebook in `docs/cassettes` directory (each cassette is prefixed with the notebook name), and then run the steps from the "Adding new notebooks" section above.
To delete cassettes for a notebook, you can run:
```bash
rm docs/cassettes/<notebook_name>*
```
-5
View File
@@ -1,5 +0,0 @@
for file in $(find docs/docs/how-tos -name "*.ipynb" | grep -v ".ipynb_checkpoints")
do
echo "Executing $file"
poetry run jupyter execute "$file"
done
-132
View File
@@ -1,132 +0,0 @@
"""Preprocess notebooks for CI. Currently adds VCR cassettes and optionally removes pip install cells."""
import logging
import os
import click
import nbformat
logger = logging.getLogger(__name__)
NOTEBOOK_DIRS = ("docs/docs/how-tos",)
DOCS_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
CASSETTES_PATH = os.path.join(DOCS_PATH, "cassettes")
NOTEBOOKS_NO_CASSETTES = (
"docs/docs/how-tos/visualization.ipynb",
"docs/docs/how-tos/many-tools.ipynb"
)
def comment_install_cells(notebook: nbformat.NotebookNode) -> nbformat.NotebookNode:
for cell in notebook.cells:
if cell.cell_type != "code":
continue
if "pip install" in cell.source:
# Comment out the lines in cells containing "pip install"
cell.source = "\n".join(
f"# {line}" if line.strip() else line
for line in cell.source.splitlines()
)
return notebook
def is_magic_command(code: str) -> bool:
return code.strip().startswith("%") or code.strip().startswith("!")
def is_comment(code: str) -> bool:
return code.strip().startswith("#")
def add_vcr_to_notebook(
notebook: nbformat.NotebookNode, cassette_prefix: str
) -> nbformat.NotebookNode:
"""Inject `with vcr.cassette` into each code cell of the notebook."""
# Inject VCR context manager into each code cell
for idx, cell in enumerate(notebook.cells):
if cell.cell_type != "code":
continue
lines = cell.source.splitlines()
# skip if empty cell
if not lines:
continue
are_magic_lines = [is_magic_command(line) for line in lines]
# skip if all magic
if all(are_magic_lines):
continue
if any(are_magic_lines):
raise ValueError(
"Cannot process code cells with mixed magic and non-magic code."
)
# skip if just comments
if all(is_comment(line) or not line.strip() for line in lines):
continue
cell_id = cell.get("id", idx)
cassette_name = f"{cassette_prefix}_{cell_id}.yaml"
cell.source = f"with vcr.use_cassette('{cassette_name}', filter_headers=['x-api-key', 'authorization'], record_mode='once'):\n" + "\n".join(
f" {line}" for line in lines
)
# Add import statement
vcr_import_lines = [
"import vcr",
# this is needed for ChatAnthropic
"import nest_asyncio",
"nest_asyncio.apply()",
]
import_cell = nbformat.v4.new_code_cell(source="\n".join(vcr_import_lines))
import_cell.pop("id", None)
notebook.cells.insert(0, import_cell)
return notebook
def process_notebooks(should_comment_install_cells: bool) -> None:
for directory in NOTEBOOK_DIRS:
for root, _, files in os.walk(directory):
for file in files:
if not file.endswith(".ipynb") or "ipynb_checkpoints" in root:
continue
notebook_path = os.path.join(root, file)
try:
notebook = nbformat.read(notebook_path, as_version=4)
if should_comment_install_cells:
notebook = comment_install_cells(notebook)
base_filename = os.path.splitext(os.path.basename(file))[0]
cassette_prefix = os.path.join(CASSETTES_PATH, base_filename)
if notebook_path not in NOTEBOOKS_NO_CASSETTES:
notebook = add_vcr_to_notebook(
notebook, cassette_prefix=cassette_prefix
)
nbformat.write(notebook, notebook_path)
logger.info(f"Processed: {notebook_path}")
except Exception as e:
logger.error(f"Error processing {notebook_path}: {e}")
@click.command()
@click.option(
"--comment-install-cells",
is_flag=True,
default=False,
help="Whether to comment out install cells",
)
def main(comment_install_cells):
process_notebooks(should_comment_install_cells=comment_install_cells)
logger.info("All notebooks processed successfully.")
if __name__ == "__main__":
main()
@@ -1,190 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you Bob! I''m an
AI assistant created by Anthropic. I''m here to help with any questions or tasks
you might have. How can I assist you today?"}, {"role": "user", "content": "what''s
my name?"}, {"role": "assistant", "content": "I''m afraid I don''t actually
know your name. As an AI assistant, I don''t have any prior knowledge about
you or your identity. I only know what you''ve directly told me, which is that
your name is Bob. Please let me know if you have any other questions I can help
with!"}, {"role": "user", "content": "i like the celtics!"}, {"role": "assistant",
"content": "Okay, got it! You like the Boston Celtics basketball team. That''s
great, the Celtics have a rich history and are a popular NBA franchise. Do you
follow them closely? What do you like most about the team? I''m always happy
to discuss sports and learn more about the interests of the people I talk to."},
{"role": "user", "content": "i like how much they win"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1106'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yST2sbQQzFv4qYSy+bYOcPIXspTQOlFApN20NbilFmZa/iWWkz0tjZhHz3MuuE
5jQgPT3p95inwF1ow2Cb1WJ5dvb47Zzub+7kcXl68/sL/7z+9ek8NMGnkaqKzHBDoQlZUy2gGZuj
eGjCoB2l0IaYsHR0dHrUI2/L0cni5GxxurgITYgqTuKh/fP06uj0UGfnpw2fIaJAkY5yde3AewIc
R8IEuoas6iwbWGsGBCsxktm6JHDCARJvaR64UnMV+EjJOdox/Ohpgh53BLdEAipUzapyUHPodGBB
cVhnlNizkQELfL36AD2ba54a2LP3sLyA2OMwsor1PIKzJ7Jj+E5Ur5q0ZFjjTjM7HU6KKjUfEk8T
7FmgMkUdRnKaKd762Qx/S7CjPIGhs62naowGCGuUmeQV6131k9r2jB0768HdijmyUAf0ECklkkig
O8ozcEcRu8pnEClXYZpgxOw1kX2PDgNuyap2qAH3gAIcVTgeiFhmn0S4KXQM11qxD+Hif/iXG2FM
OFEGzWCEpjKL6zqOJWFOE5Dc6UQd7NFjP9PUzXuW9+H5bxPMdVzleTa0gaRbeckSXhpG96XyhVZK
Sk0o8+dsnwLLWHzluiWx0J4sL5ugxd/WlovL5+d/AAAA//8DACqDJpL8AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225edaaa368c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:40 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01VHhQUqymq7SujsCGRAw7pE
via:
- 1.1 google
x-cloud-trace-context:
- 587824031142d6a2dfae0345c152f033
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you Bob! I''m an
AI assistant created by Anthropic. I''m here to help with any questions or tasks
you might have. How can I assist you today?"}, {"role": "user", "content": "what''s
my name?"}, {"role": "assistant", "content": "I''m afraid I don''t actually
know your name. As an AI assistant, I don''t have any prior knowledge about
you or your identity. I only know what you''ve directly told me, which is that
your name is Bob. Please let me know if you have any other questions I can help
with!"}, {"role": "user", "content": "i like the celtics!"}, {"role": "assistant",
"content": "Okay, got it! You like the Boston Celtics basketball team. That''s
great, the Celtics have a rich history and are a popular NBA franchise. Do you
follow them closely? What do you like most about the team? I''m always happy
to discuss sports and learn more about the interests of the people I talk to."},
{"role": "user", "content": "i like how much they win"}, {"role": "assistant",
"content": "I can understand the appeal of rooting for a successful team like
the Boston Celtics. They have been one of the most dominant franchises in NBA
history, with 17 championship titles. Seeing your favorite team consistently
win and compete for championships can be very satisfying as a fan. The Celtics''
winning tradition and sustained excellence over the decades is certainly part
of what makes them such an iconic team in the league. Do you have a favorite
Celtics player or season you particularly enjoyed watching them win?"}, {"role":
"user", "content": "Create a summary of the conversation above:"}], "model":
"claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1744'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xT22ocMQz9FeGXvEyWTbbQdt6SUmhaKLQUSm8Era1du+uRppaczTTk34tnk+2F
PtlY0tE5R/KdS8H1btDt9fJs9fLNu5+v+PL1h58/zuk9337Wl89XrnM2jdSySBW35DpXJLcHVE1q
yOY6N0ig7HrnM9ZAp6vTiGlXT8+X50+Wq+VT1zkvbMTm+i93j4hGt612Pnr3igpBUkDQOgxYJpAN
WCTwwjdUFC0JgwpssPRf+St/+De2pi0y7JNFGAgSW5FQfeItDJNS3gAqIMPFFRypgy+ERgHWE1yw
xSJj8gv4JLW1ZjDJoYFNUgswDjPDS1kvGoGPLWOSCqg7CrCPaH8ldnAFPmNJm0QBrIWvIKTAJwYR
bwiQJxhLkgI7ln2msCXAtdQZpgPkAMJ5gh3T/ggPEQOEVMhbnh4JdrCPyUfYox4a/ZfwURbdjoVU
H1k11Jx2NNt9KWrC8IKyJa+wbuJsjTmDEQ4HVq1AMYXflVH2MFQfG8QE+8QLuAL0R11hxn4APYHS
yMakJmWaEbWqYWJqN+9JtQMWa7OzSKnA2VN4e3kBPuIwJmGNadQDl4P5aXP0BmGDN1KSHfvBmHGi
AlJACVUOUyMdySfMeQLi7zJRWDyuldxQaYr/Wq+IChvxtdkmDFuyAz+ZpweEPoJYpNIddnA2KWJp
SfM4EhsVUoPEf7pxkDEQFNJROLT89QQhqa+qDxbM5p8ooPcyjDlpHIhN59JMW/TTwt1/65yajNdl
Ful6RxyurRZ2DwGlH5XYk+u55ty5Ov/o/s4lHqtdm+yI1fWr1fPOSbU/386eLe/vfwEAAP//AwCu
w+suMQQAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225ee28b878c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:42 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01Hn7UtUhHZJSyz1gqxAMBfc
via:
- 1.1 google
x-cloud-trace-context:
- 3dc4bb1338ba2e9b0e95217e8f3a6c9d
status:
code: 200
message: OK
version: 1
@@ -1,233 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "i like how
much they win"}, {"role": "assistant", "content": "I can understand the appeal
of rooting for a successful team like the Boston Celtics. They have been one
of the most dominant franchises in NBA history, with 17 championship titles.
Seeing your favorite team consistently win and compete for championships can
be very satisfying as a fan. The Celtics'' winning tradition and sustained excellence
over the decades is certainly part of what makes them such an iconic team in
the league. Do you have a favorite Celtics player or season you particularly
enjoyed watching them win?"}, {"role": "user", "content": "what''s my name?"},
{"role": "assistant", "content": "I''m afraid I don''t actually know your name.
Earlier in our conversation, you had told me your name is Bob, but I don''t
have any other prior information about you stored. I''m an AI assistant created
by Anthropic, and I only know what has been directly communicated to me during
our conversation. If you''d like, you can remind me of your name again and I''ll
be happy to refer to you by it going forward."}, {"role": "user", "content":
"what NFL team do you think I like?"}, {"role": "assistant", "content": "I don''t
have any information about which NFL team you might like. As an AI assistant,
I don''t have any prior assumptions or knowledge about your personal preferences
for sports teams. Without you directly telling me which NFL team you support,
I don''t have enough information to guess or speculate about that. If you''d
like, you can share which NFL team you''re a fan of, and I''ll be happy to discuss
that with you."}, {"role": "user", "content": "i like the patriots!"}], "model":
"claude-3-haiku-20240307", "system": "Summary of conversation earlier: Here
is a summary of the conversation so far:\n\nThe conversation began with me introducing
myself as an AI assistant created by Anthropic. You then told me your name is
Bob.\n\nWhen you asked what your name is, I clarified that I didn''t have any
prior knowledge about you, and only knew what you had directly told me, which
was that your name is Bob.\n\nYou then expressed that you like the Boston Celtics
basketball team, and you said you like how much they win. I acknowledged the
Celtics'' rich history and sustained success, noting their 17 NBA championships,
and asked if you had a favorite Celtics player or season you especially enjoyed.\n\nThe
overall conversation has focused on getting to know each other, with you sharing
your interest in the Celtics, and me responding by discussing the team''s accomplishments
and legacy."}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '2628'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0ySUU/dMAyF/4qXF156UbnAkPqCNGlIIMTQhjZpY7ryTdw20Npd7HBXIf77lG6M
+xQpsY/P55NnF4Nr3Kjdpj66+k4Xn6/b69vp64Oeyfxw1V+cnLjK2TxRqSJV7MhVLslQLlA1qiGb
q9wogQbXOD9gDrQ6XvUYH/NqXa9P6uP6zFXOCxuxuebH86ui0e/SuxyN+/SIcwWdGESDFcySDxIB
QosM0oL1BDe0g4/cDcgBbtFSFNN3cNejHSggdInQ4ObiGoxwBBPQPE2S7BDuevrfAT0+EfQYABki
+0QhbocZNHtPqm0eIGUGeaK0TJ1QDbzkaaBiJJDHQFrBLjJH7uA9fMkTJfgguwF8j+MUhbWPk4JG
9gTruj5aLMyFSJheeUZRgyBjZGSDQuWFy1KJDdqE7PuopBB5KR8Iu0yHcM/3/K3H0lrWBMQPMv8V
w61kgy0VX/hG3CKfw6UWlWWnEyaLPg+YYBpwplSBF/R9BZL2aXbLZDQoOQeFIo66hPIkKRrBSKOk
GVpJxco5XB4E2BJENkqkRqHE0BMmGKWMXvzNklPxFGRcqHcLTKLdgvOWW6GwveQO3cvPyqnJtEmE
KuwaRxw2lhO7fw9KvzKxJ9dwHobK5eXTNs8u8pRtY/JIrK45XdeVk2z7d0fr05eXPwAAAP//AwAk
eFJmFAMAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225efcb95c8c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:46 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01571NQXmpbQxTo8jY1FyZXY
via:
- 1.1 google
x-cloud-trace-context:
- 967e985d1c329b8bbe877019a4e63955
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "i like how
much they win"}, {"role": "assistant", "content": "I can understand the appeal
of rooting for a successful team like the Boston Celtics. They have been one
of the most dominant franchises in NBA history, with 17 championship titles.
Seeing your favorite team consistently win and compete for championships can
be very satisfying as a fan. The Celtics'' winning tradition and sustained excellence
over the decades is certainly part of what makes them such an iconic team in
the league. Do you have a favorite Celtics player or season you particularly
enjoyed watching them win?"}, {"role": "user", "content": "what''s my name?"},
{"role": "assistant", "content": "I''m afraid I don''t actually know your name.
Earlier in our conversation, you had told me your name is Bob, but I don''t
have any other prior information about you stored. I''m an AI assistant created
by Anthropic, and I only know what has been directly communicated to me during
our conversation. If you''d like, you can remind me of your name again and I''ll
be happy to refer to you by it going forward."}, {"role": "user", "content":
"what NFL team do you think I like?"}, {"role": "assistant", "content": "I don''t
have any information about which NFL team you might like. As an AI assistant,
I don''t have any prior assumptions or knowledge about your personal preferences
for sports teams. Without you directly telling me which NFL team you support,
I don''t have enough information to guess or speculate about that. If you''d
like, you can share which NFL team you''re a fan of, and I''ll be happy to discuss
that with you."}, {"role": "user", "content": "i like the patriots!"}, {"role":
"assistant", "content": "Okay, got it - you''re a fan of the New England Patriots!
That''s a great NFL team to support. The Patriots have had an incredibly successful
run over the past couple of decades, winning 6 Super Bowl championships since
2001. They''re one of the most dominant and consistent franchises in the league.
\n\nWhat do you enjoy most about being a Patriots fan? Is there a particular
player, coach, or Super Bowl win that stands out as a favorite memory for you?
I''d be interested to hear more about your fandom and what drew you to supporting
the Patriots."}, {"role": "user", "content": "This is summary of the conversation
to date: Here is a summary of the conversation so far:\n\nThe conversation began
with me introducing myself as an AI assistant created by Anthropic. You then
told me your name is Bob.\n\nWhen you asked what your name is, I clarified that
I didn''t have any prior knowledge about you, and only knew what you had directly
told me, which was that your name is Bob.\n\nYou then expressed that you like
the Boston Celtics basketball team, and you said you like how much they win.
I acknowledged the Celtics'' rich history and sustained success, noting their
17 NBA championships, and asked if you had a favorite Celtics player or season
you especially enjoyed.\n\nThe overall conversation has focused on getting to
know each other, with you sharing your interest in the Celtics, and me responding
by discussing the team''s accomplishments and legacy.\n\nExtend the summary
by taking into account the new messages above:"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '3314'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA3SUXW/dNgyG/wqhm9w4B1napcC5a4plPUCRdliAoViHgLFoSzsy6YrUcbwg/32Q
ffJRYLsyQFPk+z6k9OCid1s3aH979tNN+fjH26tf+8Fuvn8M+cNv++ubS3SNs3mkmkWq2JNrXJZU
A6ga1ZDNNW4QT8ltXZuweDp9cxow7svp+dn527M3Z+9c41phIza3/fPhqaLRfT27fLbu8x7nBhIZ
DAR0b8QeLBBoGQbMM5hA5DYVT0s4oZEajJgNpAMpGVrhA2VFi8Lbb/yN33dGefnlo7ZFNQoD3kmx
pcSlqAnDB0oWW21glgKoe/IwBTS4vvoERjjADixI6YMtGSnuyW9gB23CHLtIVSYa7MBHzycGAQ8E
yDOMOUqGyJ3kYRF17D1XRc/Vx0wdZeKWtAFkf5RQW5mABswEU4htWNNrXMs4SrZN9fi15gViyHQg
TE9qFi+ZAKFDroCq4Wua4BfuU+3yBS1HMa1O6H7MpEoehhkKe8p1rj5yX09OYV5rTlKSh7tqDnAc
CVPNWFRVpauoBvp4IK79YgYtahiZPNB9SylVm4vJoSSLYyL4vYyU4VKmBFNkBTlQXsSOqAY2CXhq
0ZNuoNrdvcIzPRkl/ltmGETtSPiOqjJ8NlkhrHCnQBbWDpVOPk4Ks8W2JMwwJpwpawOtYBvqTCS/
FnmIrUmOpCuTBRTUnli7HCRHI4VOclVW4Ub2sUUjD7uThV5ko0xaIyYQCDMMUoW8LEeH7GU4CkYD
n2l63oiV84I+0MscK53PB8qYUgMWov5wHyCgwh0RQydtqaMWhp5srSOwZ5mAsA0gFc2JgtYu+qxW
FzWvlnUDX6WcHGhd0Ze1O3m9dXdi4T/uGkReF/Ly/VL2/5bzOe/q0wZ2tZnluHIj7rEnmKKFpcTx
hq/81BbgL9ojA/7AAxMMyEx54fYlESo9PT4Li9itDbFtS0ajNB9fovgPrYL3NMMokU2fHiAfMUlf
CFSgw7xxj381Tk3G20yowm7riP2tlczu+EPpe6k43ZZLSo0ryxu7fXCRx2K3JntidduLi4vGSbHX
sfOf3z0+/gsAAP//AwD4rCGzwwUAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f056ae18c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:48 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01PFsJ6MigKHLeYfWa9Fx6as
via:
- 1.1 google
x-cloud-trace-context:
- 979e58fa4be1afad93733227cad381e1
status:
code: 200
message: OK
version: 1
@@ -1,103 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "i like how
much they win"}, {"role": "assistant", "content": "I can understand the appeal
of rooting for a successful team like the Boston Celtics. They have been one
of the most dominant franchises in NBA history, with 17 championship titles.
Seeing your favorite team consistently win and compete for championships can
be very satisfying as a fan. The Celtics'' winning tradition and sustained excellence
over the decades is certainly part of what makes them such an iconic team in
the league. Do you have a favorite Celtics player or season you particularly
enjoyed watching them win?"}, {"role": "user", "content": "what''s my name?"},
{"role": "assistant", "content": "I''m afraid I don''t actually know your name.
Earlier in our conversation, you had told me your name is Bob, but I don''t
have any other prior information about you stored. I''m an AI assistant created
by Anthropic, and I only know what has been directly communicated to me during
our conversation. If you''d like, you can remind me of your name again and I''ll
be happy to refer to you by it going forward."}, {"role": "user", "content":
"what NFL team do you think I like?"}], "model": "claude-3-haiku-20240307",
"system": "Summary of conversation earlier: Here is a summary of the conversation
so far:\n\nThe conversation began with me introducing myself as an AI assistant
created by Anthropic. You then told me your name is Bob.\n\nWhen you asked what
your name is, I clarified that I didn''t have any prior knowledge about you,
and only knew what you had directly told me, which was that your name is Bob.\n\nYou
then expressed that you like the Boston Celtics basketball team, and you said
you like how much they win. I acknowledged the Celtics'' rich history and sustained
success, noting their 17 NBA championships, and asked if you had a favorite
Celtics player or season you especially enjoyed.\n\nThe overall conversation
has focused on getting to know each other, with you sharing your interest in
the Celtics, and me responding by discussing the team''s accomplishments and
legacy."}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '2123'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2ySwYobMQyGX0XoksskpMlC2LltC4XQpaelpS0leGc0YzceyWvJTYeQdy8zZEu3
3ZNB1v/ps/AZQ4s1Dtof1m92t5/sodzt/FvH775+2X54+vHQ3GOFNiaaukjV9YQVZolTwakGNceG
FQ7SUsQam+hKS8vt0rtwLMvNenOz3q53WGEjbMSG9bfzM9Ho15Sdjxr30AovDLz7SeB4hMCd5MFZ
EAb3KMXg5EPj4eP7ezByA4xSYAi9N4jhSCu4U3AMd3v4Y1bBf9SUg+SpowxpQitIhiPLKVLb03XQ
KCVDoqzCLkLK1FEmbkihkwyaJJvODrqCz8H8NQNtyNRYHMEoxsA9DPSatJY0If6xI5bS+xfPNoG+
kM6Omqgp0dmzo3lnK9h3E3HRziuoZnrjGNS7/NroRSZw0DkG6Spw3MJ+ESM8EniX0jgNbIM2RXXm
wymYn3IrvHyvUE3SIZNTYayRuD1YyYzXC6WnMi0Jay4xVljm71KfMXAqdjA5EivWN5t1hVLs79rt
5nL5DQAA//8DAMiSk4ONAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225ef5592d8c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:44 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_015hg7SpQqsTRfufhHdda7jE
via:
- 1.1 google
x-cloud-trace-context:
- b3c848e9233d7e1d1333e30502a0b755
status:
code: 200
message: OK
version: 1
@@ -1,233 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '114'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQQWvCYAyG/0qWi5cq1QrCdxnVi+64y9jGkM822G+2Sdvkmyvifx+WOXYKvHny
vJALhhIdNnrcp/OnJlt2sl5tOH/Wz3zz2pVvL1tM0IaWbhSp+iNhgr3Ut8CrBjXPhgk2UlKNDova
x5Km2bTy4RSni3SxTLN0hQkWwkZs6N4vd6PR9+12HA53NlHgUBCYQENkMEiEtRweYDdpwDPkO/jr
hKInb1TCYYCcreqlDcVsJCvqR0dFdQvnYBV4HqCLpBaEFaQH83rS0d+EY2VQ+S+awVbOUHiGe80I
mJR+eMTrR4Jq0u578iqMDonLvcWe8Xeh1EXigtBxrOsE4/gtd8HAbbS9yYlY0c0XCUq0/9Eyu15/
AAAA//8DAEoCJCWLAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225ecc098f8c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:37 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01Cvv82sVAfpac6JXyMcgk5E
via:
- 1.1 google
x-cloud-trace-context:
- 6c66a4d829f60cef4559bd5f438520e6
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you Bob! I''m an
AI assistant created by Anthropic. I''m here to help with any questions or tasks
you might have. How can I assist you today?"}, {"role": "user", "content": "what''s
my name?"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '357'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SRQWsbQQyF/4qiiy9j48ZpS/fm0sv2EHLIIVCKkXcU7+BZaTOjsb0x/u9l14mh
J8HTe58e6IzBY4Vd3m2WX9b9y+6k/fvp13r78rsfnh7fDz+e0aENPY8uzpl2jA6TxlGgnEM2EkOH
nXqOWGETqXier+YthX2Z3y/vH5ar5Xd02KgYi2H15/xJND6N2WlUWM86oNdEwUMNXmVmQI0VinGA
vegRBi0JhDpewDoDCaxruHVwt1BLBwaSAfoUNE3RyH7HQFstNlJA0xUWPIsFGxZQg8rnnWNLk212
YPAhcWNxANPooWMHxzY0LYQM9mG7dhqVn7pdwFNkygyRDTq+AsPrdPVWTK3lBG+FswWVDDU0JNBy
7OEYrL3Dy1+H2bTfJKasghWy+I2VJPixyPxWWBrGSkqMDsv0muqMQfpiG9M9S8bq28qhFvtP+nq5
/AMAAP//AwA7W4+c+AEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225ed03edb8c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:38 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_012e3pZcjyrsEfdGEZbXtykW
via:
- 1.1 google
x-cloud-trace-context:
- bb08c78ff3ffe6d0d0c6c9c7dbcfaba9
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you Bob! I''m an
AI assistant created by Anthropic. I''m here to help with any questions or tasks
you might have. How can I assist you today?"}, {"role": "user", "content": "what''s
my name?"}, {"role": "assistant", "content": "I''m afraid I don''t actually
know your name. As an AI assistant, I don''t have any prior knowledge about
you or your identity. I only know what you''ve directly told me, which is that
your name is Bob. Please let me know if you have any other questions I can help
with!"}, {"role": "user", "content": "i like the celtics!"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '713'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yRQW8TQQyF/4rxpZdJlCaokfZStSBBL4VDBaIVipxZJzva2fEw9rQsUf472oUi
Tpae33v+JJ8wtNjgoMfd6vLj58cP28PzVXv/kH9dPX65EZ/Xe3RoY+bJxap0ZHRYJE4CqQY1SoYO
B2k5YoM+Um15sVl0FPq6WK/Wb1eb1RYdeknGybB5Or02Gv+csvNo8FNPo4OjGAR7A9+kQgw9g3UM
t6ImCd5xtOAV9qQ9255iBGMalvDQkV0oHAuTuTnxau3omYGgBN9BF9SkjECpBSqTnCXXSAXub2/g
UCj5Ligv4b3AKBUOEqO8THUD+CjKcbyGrx0ZtH8MM98gakB7qTYfnoCu4e5iAIovNE4EOY9gAm1Q
X1VBsxTTmSIylQSDTDD/GkIyLqymIIdZyCw5MtyBUezBZInn7w7VJO8Kk0rCBjm1O6sl4d+F8o/K
yTM2qcbosM6va04YUq62M+k5KTaXm61Dqfa/tl2fz78BAAD//wMA0jpYJRkCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225ed4ebc28c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:39 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_016YmhCYNbCBUPrhzQmeTZEq
via:
- 1.1 google
x-cloud-trace-context:
- 220080edede1fa149e2f2979c7c79dc7
status:
code: 200
message: OK
version: 1
@@ -1,96 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "i like how
much they win"}, {"role": "assistant", "content": "I can understand the appeal
of rooting for a successful team like the Boston Celtics. They have been one
of the most dominant franchises in NBA history, with 17 championship titles.
Seeing your favorite team consistently win and compete for championships can
be very satisfying as a fan. The Celtics'' winning tradition and sustained excellence
over the decades is certainly part of what makes them such an iconic team in
the league. Do you have a favorite Celtics player or season you particularly
enjoyed watching them win?"}, {"role": "user", "content": "what''s my name?"}],
"model": "claude-3-haiku-20240307", "system": "Summary of conversation earlier:
Here is a summary of the conversation so far:\n\nThe conversation began with
me introducing myself as an AI assistant created by Anthropic. You then told
me your name is Bob.\n\nWhen you asked what your name is, I clarified that I
didn''t have any prior knowledge about you, and only knew what you had directly
told me, which was that your name is Bob.\n\nYou then expressed that you like
the Boston Celtics basketball team, and you said you like how much they win.
I acknowledged the Celtics'' rich history and sustained success, noting their
17 NBA championships, and asked if you had a favorite Celtics player or season
you especially enjoyed.\n\nThe overall conversation has focused on getting to
know each other, with you sharing your interest in the Celtics, and me responding
by discussing the team''s accomplishments and legacy."}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1617'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2SST2/bMAzFvwrBSy5OkDYdtvrWYDsE3WHodRgC2qJjLTLpSlRSI8h3H+SuXYGd
JPDPe+8n6ILeYY1DOuzXN3fb58cX9/Vx+/R0f/rtfpyp+/K9xQptGrlMcUp0YKwwaigFSsknIzGs
cFDHAWtsA2XHy82yJ3/My9v17d16s/6MFbYqxmJY/7y8KRq/lN35qHG3GIC6SN7BDpzKwoBayxTC
BEfRM0yaIwgNvIJvFIPnCF6gFFuVE8dE5lWqMgc9OTANDgb+twc+wVabCpps7x49nRhIJlDrOcIY
vRbdTuMw6wE1mm0WTaaR3QrmpAIPO3h/Amgjk7GDZoIHsT7q6NsKSAqMyhvCuafimKBhFnA+cmth
glaHIYtvZwXTEtrl6OXwH90Kdl3JsnAQ/JFfYVsSiDx4mXG1+0BMB/LyGmMRAjQMPY3jVEwidxzL
pUg0E3iDgxbPTuOZolvh9VeFyXTcR6akgjWyuL3lKPi3kfg5s7SMteQQKszzD6kv6GXMtjc9siSs
NzebCjXbx9r9p+v1DwAAAP//AwBkl8HYgAIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225eede8db8c3b-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:43 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01NZBQG6aVp4a9iDBuxqFWFd
via:
- 1.1 google
x-cloud-trace-context:
- 0e676bae141a1ff92139655a5905c8f2
status:
code: 200
message: OK
version: 1
-223
View File
@@ -1,223 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJYWN0aW9uKGFjdGlvbikKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGFnZW50OwoJYWN0aW9uIC0tPiBhZ2VudDsKCWFnZW50IC0uICZuYnNwO2NvbnRpbnVlJm5ic3A7IC4tPiBhY3Rpb247CglhZ2VudCAtLiAmbmJzcDtlbmQmbmJzcDsgLi0+IF9fZW5kX187CgljbGFzc0RlZiBkZWZhdWx0IGZpbGw6I2YyZjBmZixsaW5lLWhlaWdodDoxLjIKCWNsYXNzRGVmIGZpcnN0IGZpbGwtb3BhY2l0eTowCgljbGFzc0RlZiBsYXN0IGZpbGw6I2JmYjZmYwo=?bgColor=!white
response:
body:
string: !!binary |
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
snsnZJ0Vms5/QShsTI3Nae4lpYNxvvs4HzqZUxksTRzVY1shTr3q5Id2NmJsjNx3HZwI3UD7lmjP
mlhP4fF9ldCL9uqI38xMREaRnhpzhbSeLmRcPuWaM+aWE/h8X2U9yzRnzSwn8Pi+yp7Wzznyj1NH
Mi4fcs0Z80sJ/D4vsp7lmjPmlhP4fF9lO1s858o9TRzIuH3LNGfNLCfw+L7Ke5Zoz5pYT+HxfZTt
bPOfKPU0cyhvJyut8JFWPbOxrpbNlzOoiDonxtDj3AkvOw79mk9wUn7lmjPmlhP4fF9lT2NxNHDV
RWx9OvRrgl3Y1omxs3PedmgDdRN+3TE7mZmYmNYxx05yaRwdtERc9UREQEREBQWb0Jp3Uc/b5PC0
rljbbt5IW9rt8HOOu361Oor0V1W53qJxPgcFMPBvRpJJwUO5/wDck+0vnuNaM+Qof3kn2ldEXo73
tPzKvOU5nmpfuNaM+Qof3kn2k9xrRnyFD+8k+0roid72n5lXnJmeal+41oz5Ch/eSfaT3GtGfIUP
7yT7SuiJ3vafmVecmZ5qrR4WaRx8zJotPUXSsO7XzRCUtPwjm32P0q0gAAADYDzL6iwru13ZzXVM
9ZyZmRERZoEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREH/9k=
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '238541'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c22618729755e74-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '9626'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:42:28 GMT
Last-Modified:
- Tue, 10 Sep 2024 01:26:47 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=GCDivf%2B6atygx60IJYLLp0bIiehIvGtPjoCfMx%2F70q%2BbU0T5vjoIbyFnlN5oZPKlxeadGskZD6xPRUCaWZVuy4LDumuydp7ZzcYkdH6zGCyqkFmMAhbgOxRL19Hxbw%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,158 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}], "model": "claude-3-haiku-20240307", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '303'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1RPTUvDQBT8K2XOG8hHRdmjJ1GUVpQeRMK6eUnWbt+mebtKDfnvkoqgx5l58/Em
uAYaB+nqvNim4b3dlA+3tnh67nq6t2Z3w1CIp4GWKxIxHUFhDH4hjIiTaDhC4RAa8tCw3qSGsirr
jdunrMzLdV7ll1CwgSNxhH6ZfhNjCL5OskSedyw41Xmx2wz2bn/Nm69H1zVu+/bRd20BBTaHxSdk
RtsvLh5ShJ5wTDSeoPFJJvY0rhyvxPCqHQ1bJzZgnl8VJIahHslI4P/tZ0HomIgtQXPyXiGdv9XT
T0sdw55YoKvySiGk+Je7WM/zNwAAAP//AwACi3jnTAEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2261878c5e0c7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:29 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01W76T9Cto5JsfRmCJXAdhsA
via:
- 1.1 google
x-cloud-trace-context:
- 6fef8a0d62bcdbdc81ff1203f6a013ea
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}, {"role": "assistant", "content": [{"type": "tool_use",
"name": "search", "input": {"query": "weather in san francisco"}, "id": "toolu_01WPpcKkBnPzRigdiQbvhgf1"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "[\"The answer
to your question lies within.\"]", "tool_use_id": "toolu_01WPpcKkBnPzRigdiQbvhgf1",
"is_error": false}]}], "model": "claude-3-haiku-20240307", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '652'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2RSXW/UMBD8Kys/tVKuXO6upcorUl/gAImCEBSdFnsTm3N2g73pEar+p/6G/jLk
HIivJ0s7s6OZHd+Z4Exj+tztlnV9eXj+dhO26fz6w7b98v3l61uP701ldBqosChn7MhUJkksA8w5
ZEVWU5leHEXTGBtxdLRYLzyG/bhYLVeb5Xr51FTGCiuxmubj3S9FpW9ld34ac5Wkh0yYrA/cQSsJ
AreSetQgDMKgnuBAqJ4KBG+Q4Soh25CtVBAUosg+Qwx7mrl2TIlYf+/k5oZveAFbyRonyCPzBIeg
HhB86DxICxfnjw9XcFJfPj48OwVkBwhRDgU6Xx2hukBF50XovMIhsMuASUZ2UC+hHzyc1Bew75/4
Uyi8d5QmiEE1EliPbKnIJQxc/PyVAzpiShjjBB4zIPQhugq25IJSSsiEDDaGHpWO1q1IrMClkqfv
KeXZ9HHtQLM9pZTP4NoTKPUDJdQxUbFMUIpLqOTg83Q8mmBWjBDFHg9f1ArQSgfqUUFaJYYkMWYI
XAHlgWyYLYdjSdgqJRbhfAavbuc4//aDMETCjKzgcPqvTlBxOJ2Z+0+VySrDLhFmYdMYYrfTMbH5
CWT6OhJbMg2PMVZmnD9pc2cCD6PuVPbE2TSb5aYyMuqfs3q9ub//AQAA//8DAE9V97MEAwAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22618bb8c50c7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:30 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01VzwhMh7Eapcz1FtWYh7gjt
via:
- 1.1 google
x-cloud-trace-context:
- 014df6eddd3863250c2a269fde2ebaca
status:
code: 200
message: OK
version: 1
@@ -1,269 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}], "model": "claude-3-haiku-20240307", "stream": true, "tools":
[{"name": "search", "description": "Call to surf the web.", "input_schema":
{"type": "object", "properties": {"query": {"type": "string"}}, "required":
["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '319'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: 'event: message_start
data: {"type":"message_start","message":{"id":"msg_01UTkqP1mDwAERz5714cucrN","type":"message","role":"assistant","model":"claude-3-haiku-20240307","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":328,"output_tokens":1}} }
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01GKsnKqRLQ9Emv9HcaHKVsj","name":"search","input":{}} }
event: ping
data: {"type": "ping"}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"query\""} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":":
\"w"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"eather
i"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"n
s"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"an"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"
f"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"rancisco\"}"} }
event: content_block_stop
data: {"type":"content_block_stop","index":0 }
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"output_tokens":54}
}
event: message_stop
data: {"type":"message_stop" }
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22619d9ff40c7a-EWR
Cache-Control:
- no-cache
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:33 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_018pn2c3rDTpy59FXwU6VqN5
via:
- 1.1 google
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}, {"role": "assistant", "content": [{"type": "tool_use",
"name": "search", "input": {"query": "weather in san francisco"}, "id": "toolu_01GKsnKqRLQ9Emv9HcaHKVsj"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "[\"The answer
to your question lies within.\"]", "tool_use_id": "toolu_01GKsnKqRLQ9Emv9HcaHKVsj",
"is_error": false}]}], "model": "claude-3-haiku-20240307", "stream": true, "tools":
[{"name": "search", "description": "Call to surf the web.", "input_schema":
{"type": "object", "properties": {"query": {"type": "string"}}, "required":
["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '668'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: "event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"id\":\"msg_01CoaYYytPDsGdzwU7Ua5RS6\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-3-haiku-20240307\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"usage\":{\"input_tokens\":404,\"output_tokens\":2}}
\ }\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"}
\ }\n\nevent: ping\ndata: {\"type\": \"ping\"}\n\nevent: content_block_delta\ndata:
{\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\nBase\"}
\ }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d
on the search results\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",
the current\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
weather in San Francisco\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
is:\\n\\n-\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
Partly\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
cloudy with\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
a high of \"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"65\"}
\ }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\xB0F
(18\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\xB0C)
an\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d
a low of \"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"52\xB0F
(\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"11\xB0C)\"}
\ }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n-
Wind speeds\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
aroun\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d
10 mph\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
(16 km\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"/h)
\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n-
Low\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
chance\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
of precipitation\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\nThe\"}
\ }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
weather in San Francisco\"} }\n\nevent: content_block_delta\ndata:
{\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
today\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
is generally\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
mild and pleasant\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",
with\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
a\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
mix\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
of sun and clouds\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".
The temperatures\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
are comfortable\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
and there\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
is not\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
much wind or\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
chance\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
of rain\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".
Overall\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",
the weather\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
conditions\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
in San Francisco appear\"} }\n\nevent: content_block_delta\ndata:
{\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
to be quite\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"
nice\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".\"}
\ }\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0
\ }\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null},\"usage\":{\"output_tokens\":122}
\ }\n\nevent: message_stop\ndata: {\"type\":\"message_stop\" }\n\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2261a21ca40c7a-EWR
Cache-Control:
- no-cache
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:33 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01FWmYJUAS3p2cSbVFzAiuHW
via:
- 1.1 google
status:
code: 200
message: OK
version: 1
@@ -1,156 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}], "model": "claude-3-haiku-20240307", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '303'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1RPTWvCQBT8K2HOK8REqewxaA+FepCihVLCsj41NXmb7NslaMh/L7EU2uPMvPl4
A6ojNBo5l+l8vi3ur9vi8P7c+/ztfthnq93OQiHcWpquSMScCQre1RNhRCoJhgMUGnekGhq2NvFI
s3x2MdU1zrI0W6R5+gQF6zgQB+iP4TcxOFeXUabIx44JxzKdr9erzfrrZVP0+XnTdN1+yQtfQYFN
M/mEjLeXycVtDNADukj+Bo2eTLiQTypOxHBy8oZtJdZhHD8VJLi29GTE8f/2hyDURWJL0BzrWiE+
vtXDT0sZ3JVYoPNspeBi+MstF+P4DQAA//8DAHjoGlhMAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226193ffc00c7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:31 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_016ZGjm3UBX9YmBoUHCrQJmS
via:
- 1.1 google
x-cloud-trace-context:
- e5a0c873da9c4b30dffbe5e75088eea5
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what is
the weather in sf"}, {"role": "assistant", "content": [{"type": "tool_use",
"name": "search", "input": {"query": "weather in san francisco"}, "id": "toolu_01DD8EDjJEBw3gEmqqV5n4ri"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "[\"The answer
to your question lies within.\"]", "tool_use_id": "toolu_01DD8EDjJEBw3gEmqqV5n4ri",
"is_error": false}]}], "model": "claude-3-haiku-20240307", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '652'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2SR0WrcQAxFf0XRS1PwBq/jstRvbSGQhz6lENJSFnWsrAfParwjTTdm2X/KN+TL
ypgGAnkS3HN1L0In9D12uNfdtl7ffY3TUzt9P0xJvvx0D/ef14f7B6zQ5omLi1Vpx1hhiqEIpOrV
SAwr3MeeA3boAuWeV9ergfyYV03dtPV1vcEKXRRjMex+nV4TjZ/K7jI6vDUIMY4KwY8MNjAcmWzg
BF7gjgRuEonz6iJ4Bc0iM5D0cKS0B4s9zRUcvQ1AMPjdAPERNs3L8w1cNs3L87ePi5kgxGNBnzYL
WrcFXcGPgUFHzwqUGFxgSou/9HPp+8tphuDNAoMbSByXlEReruDWPigQ/GHK5h9zgJ5msAg6cYnw
e4aYrY8x6btbLvD8u0K1OG0Tk0bBDln6reUk+B8oHzKLY+wkh1BhXv7QndDLlG1rcWRR7Nq6rTBm
e6ttmvP5HwAAAP//AwDw+bdr5gEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226197eb5e0c7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:32 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01NKBdt1kAYDG79P61ENmyEk
via:
- 1.1 google
x-cloud-trace-context:
- 077aad4c7649c5cf9f6bcabd0a142c04
status:
code: 200
message: OK
version: 1
-244
View File
@@ -1,244 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWEoYSkKCWIoYikKCWMoYykKCWQoZCkKCWUoZSkKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGE7CgliIC0tPiBlOwoJYyAtLT4gZTsKCWQgLS0+IGU7CgllIC0tPiBfX2VuZF9fOwoJYSAtLi0+IGI7CglhIC0uLT4gYzsKCWEgLS4tPiBkOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
IiIP/9k=
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104448'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2260d108071a2c-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '10778'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:41:59 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:41:11 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=BzP4qUDt1jd4c%2FhIkaj5Y0pV7Vxp3%2BUJAaOMElgDAWglXwO0I11UEoV%2FImm80aDy4RHmz8kt7%2BBpMRWyb0qihSyHIF01lNSo6%2BedSdvDU06mopjUxKk%2BIzqDgxoPWg%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
-208
View File
@@ -1,208 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWEoYSkKCWIoYikKCWMoYykKCWQoZCkKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGE7CglhIC0tPiBiOwoJYSAtLT4gYzsKCWIgLS0+IGQ7CgljIC0tPiBkOwoJZCAtLT4gX19lbmRfXzsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104593'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2260cda9b97c94-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '8753'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:41:59 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:38:46 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=0n2yqOOcU17423SGzalrNzhEbrpCicl22e%2B5TZ%2B87yN7i%2BO3M%2BVXNMZuJGJ%2FoA7XKA1jIWznCIQq0MgChRwBFKgfVw8cjsZr4mzB6ZZltkE9FI1uRZ5mRh29SScwxQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,233 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWEoYSkKCWIoYikKCWIyKGIyKQoJYyhjKQoJZChkKQoJX19lbmRfXyhbPHA+X19lbmRfXzwvcD5dKTo6Omxhc3QKCV9fc3RhcnRfXyAtLT4gYTsKCWEgLS0+IGI7CglhIC0tPiBjOwoJYiAtLT4gYjI7CgliMiAtLT4gZDsKCWMgLS0+IGQ7CglkIC0tPiBfX2VuZF9fOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104450'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2260ceecc1429a-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '10195'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:41:59 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:41:09 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=2shYrOzAG2raHF4JtV8bAis%2BymmeT%2B5ztHRWmJQvTggqmaB4vcdTCRF0m9VKq%2BVXfp5kOIVndaXeqKKuE0OkP2czEJeKCmm8dEcSSF9h1%2Bg1vCQq6z2sT1PMI8Ut7A%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
-244
View File
@@ -1,244 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWEoYSkKCWIoYikKCWMoYykKCWQoZCkKCWUoZSkKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGE7CgliIC0tPiBlOwoJYyAtLT4gZTsKCWQgLS0+IGU7CgllIC0tPiBfX2VuZF9fOwoJYSAtLi0+IGI7CglhIC0uLT4gYzsKCWEgLS4tPiBkOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
IiIP/9k=
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104449'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2260d41ed0420b-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '10778'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:42:00 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:41:11 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=2Hpwe10%2BJrKrn6ahxAuqtU5HWVnnkMcpT5PV8GGYko3vs9%2FvoaLQcpcM%2FgAG%2Blfg4JTF1lCZQCd8hdRRq7%2BjtRUjry4QWfna9esGRV3y9mXvV8Y1k4wSs5lDK4kKPQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,98 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "search for
the weather in sf now"}, {"role": "assistant", "content": [{"text": "Certainly!
I''ll search for the current weather in San Francisco for you. Let me use the
search function to find this information.", "type": "text"}, {"type": "tool_use",
"name": "search", "input": {"query": "current weather in San Francisco"}, "id":
"toolu_01PFmZuxV6jVycnZRgGf3wMU"}]}, {"role": "user", "content": [{"type": "tool_result",
"content": "[\"It''s sunny in San Francisco, but you better look out if you''re
a Gemini \ud83d\ude08.\"]", "tool_use_id": "toolu_01PFmZuxV6jVycnZRgGf3wMU",
"is_error": false}]}], "model": "claude-3-5-sonnet-20240620", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '874'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA3xSTW8TMRD9K8NcctlUaWhp2QsSB6JW4lDKjaLIsSdZK96Z4Bln2Ub578gLSEUg
TpZm3rwv+YQxYIu97taLy098v7q/XD0u9fmYb8PDx4fhul9hgzYeqKJI1e0IG8yS6sCpRjXHhg32
Eihhiz65Emj+en49V2Emmy8Xy6vFm+UCG/TCRmzYfjn9JjX6Xs+np8X3TimAMFhHoOSy7yCTlmTa
wB14x3DIcoyBYJQCQ7RugvqSM7HBQM46yhB5K7l3FoVhKxkeHcOH7NhH9dI+8RN/7ugF+k8A5Ljr
DFgGiApamMcLuLOZgoMNuWJxWxIEN9bLST7a+KqyTqBBsnXAYpF3YJ2zv9NAZJ9KoACOoXDR4hJ4
6fsawm2kGKyojxzhWUJ0HjTuWBvYFJsYZ1r5IVOio2MDk0njX/FrT5m+FVKjcDGZ1ArOBI5H66pJ
SjoVOguQ4p4q3b6m/+nE/leV5EoDMm2T+En0HZ6/Nqgmh3Ump8LYInFYW8mMvxZaPbEnbLmk1GCZ
/lZ7wsiHYmuTPbFie3Vz26AUezl7e3M+/wAAAP//AwDowNOkugIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225d98b8c9c339-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:39:50 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:39:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:39:50Z'
request-id:
- req_01G5MwNEMNDAenXcu2PMrzLo
via:
- 1.1 google
x-cloud-trace-context:
- 69dbdcece2255ac03363afc455c12f76
status:
code: 200
message: OK
version: 1
-264
View File
@@ -1,264 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJYWN0aW9uKGFjdGlvbjxoci8+PHNtYWxsPjxlbT5fX2ludGVycnVwdCA9IGJlZm9yZTwvZW0+PC9zbWFsbD4pCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBhZ2VudDsKCWFjdGlvbiAtLT4gYWdlbnQ7CglhZ2VudCAtLiAmbmJzcDtjb250aW51ZSZuYnNwOyAuLT4gYWN0aW9uOwoJYWdlbnQgLS4gJm5ic3A7ZW5kJm5ic3A7IC4tPiBfX2VuZF9fOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '237485'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225d8b98d16a55-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '11967'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:39:45 GMT
Last-Modified:
- Tue, 10 Sep 2024 01:41:40 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Mhwp52OvkzDaq40icYDzN8w6ERgGdVUz5SkBRDZPCXnVKxE8%2B4rN61mUcMFmKabMgIe79We1Hmmg9F0br%2FiUfFzdJ99CNRmkZXzyB4qFTnL2oGUqkXhnwLFIzel3gg%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,248 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCXN0ZXBfMShzdGVwXzEpCglzdGVwXzIoc3RlcF8yKQoJc3RlcF8zKHN0ZXBfMzxoci8+PHNtYWxsPjxlbT5fX2ludGVycnVwdCA9IGJlZm9yZTwvZW0+PC9zbWFsbD4pCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBzdGVwXzE7CglzdGVwXzEgLS0+IHN0ZXBfMjsKCXN0ZXBfMiAtLT4gc3RlcF8zOwoJc3RlcF8zIC0tPiBfX2VuZF9fOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '237494'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225d8a5d83431b-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '11034'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:39:45 GMT
Last-Modified:
- Tue, 10 Sep 2024 01:41:31 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=qhxibEnM40MCsrUZ8SBKTz18rs87OmZHpd4pLu5Hv%2BtYqf5X%2FHiZ2zjlGtRnTiaYCmiVQwz7YH0urdhH7JwL46%2FfOUunacarKXJCROzvnBcKQVqddsQedJNdJdWlKw%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,90 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "search for
the weather in sf now"}], "model": "claude-3-5-sonnet-20240620", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '313'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA4RRwU4bQQz9lakvXCZoSQqUvSEEBbWRqkBAAqHVaOJNpp21w9ijsIr239EsQm1P
nCzb79nPz3sIK6ihk3VTHS0eLtv59Wle3C15eT7/EXZBlh4saL/FgkIRt0awkDiWghMJoo4ULHS8
wgg1+OjyCiezyfFEmAh1Mq2mX6uTaQUWPJMiKdRP+4+hiq+FPoYaLjCpCxT7L+bmIEYj6JLfmJaT
0Q0an1NCUrNDpxtMJpC5dWSukiMfxPMI7Dkfmp+opkOTBUfix5xMXgOTUTZtoJXRTRATqOXUudI4
hMH+lcYcmyzl4NGlkuemOvp11T3m1/uT3/e9p8fF+ns7282XYIFcV3jvywqLtlmh3sNLxtQXcz7R
D8PwbEGUt01CJ0z/qxgbgi8ZySPUlGO0kMef1Pv3bY3yHySBenZ8ZoGz/lv7Nh2GNwAAAP//AwAs
R6Mi8gEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225d8c2d3bc339-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:39:47 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:39:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:39:47Z'
request-id:
- req_01MPSqFi1rVNrN5UJJ12Dvn5
via:
- 1.1 google
x-cloud-trace-context:
- cbf58ac792cd37a460636899a9d56c50
status:
code: 200
message: OK
version: 1
@@ -1,85 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi"}], "model":
"claude-2.1"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '92'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yOwQrCMBBEv8U5R7GCIrkLRTx5ERQpoV1sNW5idyNq6b9LRcHTwJvHMB2aChZX
ORXTbLXZ38/zbXxdNnldr1+x3lG+hIE+Iw0WibgTwaANfgBOpBF1rDC4hoo8LErvUkXj2SSDQRlY
iRX20P1GlB6D/gmLnLwPI/RHA9EQi5acBIYFcVVoahnfQuiWiEuC5eS9Qfo8sR0ajkkLDRdigc2m
BiHpP1r0/RsAAP//AwCSQrqx5gAAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226071be4642de-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:45 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '2000'
anthropic-ratelimit-requests-remaining:
- '1999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:41:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:41:45Z'
request-id:
- req_015TQ14PLRJp9zqmJDFwcw1j
via:
- 1.1 google
x-cloud-trace-context:
- c408d69e6314e5bf995d24d48da41b92
status:
code: 200
message: OK
version: 1
@@ -1,85 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi"}], "model":
"claude-2.1"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '92'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yOwQqCQBRFv6W7nkKjWswHhNAmd0GEDPoQaXyjvjeUiP8eSkGrC+ceLndCU8Gi
lbpI0nN+5XF8HfOL3DrO+pHygxAMdOxosUjE1QsYgl+AE2lEHSsM2lCRh0XpXaxou9+lMCgDK7HC
3qffiNJ70dewyMj7sMH8MBANXTGQk8CwIK4KjQPjWwj1kbgkWI7eG8T1iZ3QcBe10PAkFtg0MQhR
/9Fpnj8AAAD//wMAAtuGoOYAAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22607dcb8342de-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:46 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '2000'
anthropic-ratelimit-requests-remaining:
- '1999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:41:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:41:46Z'
request-id:
- req_01DS9y5JEcuFaLqdzE5HqsWY
via:
- 1.1 google
x-cloud-trace-context:
- 0039d1fe9eaf2dcabf2cb18e59d1ce94
status:
code: 200
message: OK
version: 1
@@ -1,85 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi"}], "model":
"claude-2.1", "system": "respond in italian"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '124'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yOUUvDQBCEf4vzfBXTFsR7FRH61pbQiki4JGs5etlNs3tQCfnvkoDg08DMx8yM
iC08Or1UT8UmvpwO7/vdx7F720n9ncvyXDMc7KenmSLVcCE4DJJmI6hGtcAGh05aSvBoUsgtrdaP
BRwaYSM2+M/xr8ToPuOLeLzGIA+YvhzUpK8GCioMD+K2sjzM40ugdMvEDcFzTskhL0f8iMh9tsrk
SqzwxdZBsv23nqfpFwAA//8DANk5AAzlAAAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226080eed042de-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:47 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '2000'
anthropic-ratelimit-requests-remaining:
- '1999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:41:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:41:47Z'
request-id:
- req_011ee6R6bXRqcFuSxUUjNrrk
via:
- 1.1 google
x-cloud-trace-context:
- d28033e5f6b5bdeb994f806cfd5ef250
status:
code: 200
message: OK
version: 1
@@ -1,85 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi"}], "model":
"claude-2.1"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '92'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yOTYvCQBBEf4t1nhUjGGGu4sfJg7C5yBLGpNHgpGdM9yzrhvz3JWEFTwWvHkX1
aGpYtHItF9mqyI/d5ft3ly8/i8f2FjdxvT/BQJ+RRotE3JVg0AU/AifSiDpWGLShJg+LyrtU08dy
nsGgCqzECnvuXyNKP6M+hcWBvA8zDF8GoiGWHTkJDAviutTUMf4LoUcirgiWk/cGaXpiezQck5Ya
7sQCmy0MQtJ3lA/DHwAAAP//AwAGMD4r5gAAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2260768b6d42de-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:45 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '2000'
anthropic-ratelimit-requests-remaining:
- '1999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:41:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:41:45Z'
request-id:
- req_01QtGTbuSEodAJbf67oDfmmh
via:
- 1.1 google
x-cloud-trace-context:
- f46be5074690ff1ab6e460282f1869e6
status:
code: 200
message: OK
version: 1
@@ -1,99 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "hi", "role": "user"}], "model": "gpt-3.5-turbo",
"n": 1, "stream": false, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '120'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQQVPCMBSE7/0Vz5yp04KA9uIw6gh61ZPjMCF9lECa10lelcrw352UQvWSw37Z
zW4OEYDQuchAqI1kVVYmnk22P8+vszdj86f30f4lbb7G8iFf3OweTSMGwUGrLSo+u64VlZVB1mRP
WDmUjCE1nQ4n6TRJk0kLSsrRBFtRcTy6HsdcuxXFSTocd84NaYVeZPARAQAc2jN0tDnuRQbJ4KyU
6L0sUGSXSwDCkQmKkN5rz9KyGPRQkWW0be05GkNXMKdvUNLCAk4GaKgGplw293+NDte1l6G4rY3p
9OOliaGicrTyHb/oa2213ywdSk82vOqZKtHSYwTw2S6u/40QlaOy4iXTDm0IvD2lif6Le3bXMSaW
ppfTadS1E77xjOVyrW2BrnK6Hd9uOEa/AAAA//8DAL+Mx137AQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22607a7819333c-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:46 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=f7v_MvlErsImr51Og1usyf7X4zzvka6uCqXxZswcHYI-1726170106-1.0.1.1-EUkkTCRnG9XfFNPrACRJTv42yT1t0Qm_u8BW35BzwvKMMjq2PyEDq8E4OF9p5uNTJZd0O4StHmwNZuFFhVum3Q;
path=/; expires=Thu, 12-Sep-24 20:11:46 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=I7ks44mbQ8awsQH7lkSMvqmCKVg7OPTwXtjvLx8xLkg-1726170106480-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '230'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999982'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_064900ebb75d94dde4102c7c75471288
status:
code: 200
message: OK
version: 1
@@ -1,105 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what is the weather in SF, CA?", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_qaLYhIH0C6fXQBpIw9PtzwCz", "function": {"name": "get_weather", "arguments":
"{\"location\": \"SF, CA\"}"}}]}, {"content": "Error: AssertionError(''Unknown
Location'')\n Please fix your mistakes.", "role": "tool", "tool_call_id": "call_qaLYhIH0C6fXQBpIw9PtzwCz"}],
"model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type":
"function", "function": {"name": "get_weather", "description": "Use this to
get weather information from a given location.", "parameters": {"type": "object",
"properties": {"location": {"type": "string"}}, "required": ["location"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '744'
content-type:
- application/json
cookie:
- __cf_bm=umMudA_sRoLotDY3RQlholdYuYyxi.3FkgAe5bI5qBw-1726170184-1.0.1.1-k1_fkNSUv_n5S3ImnqfzNqWUpaLIq_u.k1mFPZJG8byKTmejozHHvmJw1LRCkLAAnzqN6EpaMXYBbQ7uoATrIQ;
_cfuvid=SnmYmGEfWdde3TdzgkwZCLc_.3Ch2tBNchvm8O1dR7c-1726170184318-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSTY/TMBS851dY79ygJE1byK0CFrEI7SLE8lUUvXVfUreObWyHpar635HTtMlW
+BBZM555k7EPEWMg1lAw4Bv0vDEyXs53yVfxYfvN8Xu8v/m9r6YfZcqpfvvG3MIkKPTjlrg/q15w
3RhJXmh1orkl9BRc00U2TxdJ+jLviEavSQZZbXyc6zhLsjxOZnE67YUbLTg5KNjPiDHGDt03RFRr
+gsFSyZnpCHnsCYoLocYA6tlQACdE86j8jAZSK6VJxVSq1bKEeG1liVHKYfBp3UY7YeeUMqS7t5X
X+6m35ul/DR/wHd/NP142O5uR/NO1nvTBapaxS/9jPgLXlwNYwwUNp22Jl8+EfoN2Ss5Y4C2bhtS
PkSHwwqk5hgMV1Cs4DMqdmNRceG4nrDXyxUc4ZnDMfrf/teoHEtV61D2rfX48XINUtfG6kd31SpU
Qgm3KS2h6/5uXHJ0ntbNgfbZPYKxujG+9HpHKti+yk+mMLyygUwXPem1RznC0zTqY4LbO09NWQlV
kzVWdE8AKlNms3mWI01xBtEx+gcAAP//AwCGW55LCwMAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262646e295e74-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:04 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '264'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999956'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_46e4cdaa5976b1bd98793a15753699c3
status:
code: 200
message: OK
version: 1
@@ -1,108 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what is the weather in SF, CA?", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_qaLYhIH0C6fXQBpIw9PtzwCz", "function": {"name": "get_weather", "arguments":
"{\"location\": \"SF, CA\"}"}}]}, {"content": "Error: AssertionError(''Unknown
Location'')\n Please fix your mistakes.", "role": "tool", "tool_call_id": "call_qaLYhIH0C6fXQBpIw9PtzwCz"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_eOIfUO3YmAlQ6VaGvoeZVjkJ", "function": {"name": "get_weather", "arguments":
"{\"location\": \"San Francisco\"}"}}]}, {"content": "It''s always sunny in
sf", "role": "tool", "tool_call_id": "call_eOIfUO3YmAlQ6VaGvoeZVjkJ"}], "model":
"gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information from a given location.", "parameters": {"type": "object", "properties":
{"location": {"type": "string"}}, "required": ["location"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1053'
content-type:
- application/json
cookie:
- __cf_bm=umMudA_sRoLotDY3RQlholdYuYyxi.3FkgAe5bI5qBw-1726170184-1.0.1.1-k1_fkNSUv_n5S3ImnqfzNqWUpaLIq_u.k1mFPZJG8byKTmejozHHvmJw1LRCkLAAnzqN6EpaMXYBbQ7uoATrIQ;
_cfuvid=SnmYmGEfWdde3TdzgkwZCLc_.3Ch2tBNchvm8O1dR7c-1726170184318-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJFBT+MwEIXv+RWDzw1K0rRAbyvtrpB6gkUCgVBl3Glj6swYe6KlRf3v
yGko5eLD++Y9vRl/ZADKLtUMlGm0mNa7/Nd0U9z/fhAz3z1WuxtTzt/eupvrq93m9n2uRsnBL69o
5Mt1brj1DsUyHbAJqAVTanlRTcuLoryse9DyEl2yrb3kNedVUdV5McnL8WBs2BqMagZPGQDAR/+m
irTEdzWDYvSltBijXqOaHYcAVGCXFKVjtFE0iRp9Q8MkSH3ruwbhP2ppMIAl+KcJ/gZNxkbDYCOY
LgQkcVuIHdH2HP7QK29BGkxCbCzh2Wl0wFUXddqMOucGfX/s6njtA7/EgR/1lSUbm0VAHZlSryjs
VU/3GcBzf5Pux5rKB269LIQ3SCmwrKpDnvr+hRNaD1BYtDvRx9NsaKjiNgq2i5WlNQYf7OFEK7+o
JtOq1jjWE5Xts08AAAD//wMAiaUWaysCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22626729325e74-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:06 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '1260'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999947'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_f1da44f5b367a8e167b871e2837d968c
status:
code: 200
message: OK
version: 1
@@ -1,104 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what is the weather in SF, CA?", "role": "user"}],
"model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type":
"function", "function": {"name": "get_weather", "description": "Use this to
get weather information from a given location.", "parameters": {"type": "object",
"properties": {"location": {"type": "string"}}, "required": ["location"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '396'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSXW+bMBR951dY9zlUQBLS8dZFmhapldruYeuWCTnOBbz6q7ZZ2kb575MJCTQa
D5Z1js+5x8fsI0KAb6EgwBrqmTQivsmfk++rv0/3litabx7T7XX7c3d3t3m1DxImQaE3f5D5k+qK
aWkEeq7VkWYWqcfgmi6yPF0k6fWsI6Teogiy2vh4puMsyWZxMo/TaS9sNGfooCC/IkII2XdriKi2
+AoFSSYnRKJztEYozocIAatFQIA6x52nysNkIJlWHlVIrVohRoTXWpSMCjEMPn770X7oiQpRvtDb
p2b1NVnm1Y+Hz2a1+3Tv33fL99G8o/Wb6QJVrWLnfkb8GS8uhhECispOW6Mvd0h9g/ZCTghQW7cS
lQ/RYb8GoRkNhmso1vDty4Qsb9ZwgA+yQ/S//e9RIxar1lHRV9Xjh3P3QtfG6o27qBIqrrhrSovU
dVcaNxudpnVzoP3weGCslsaXXj+jCrbzxdEUhl9rINO8J732VAz4Yhr1KcG9OY+yrLiq0RrLu2eH
ypTZPM9mFKd0DtEh+gcAAP//AwD92wS9/wIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22626109d35e74-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:04 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=umMudA_sRoLotDY3RQlholdYuYyxi.3FkgAe5bI5qBw-1726170184-1.0.1.1-k1_fkNSUv_n5S3ImnqfzNqWUpaLIq_u.k1mFPZJG8byKTmejozHHvmJw1LRCkLAAnzqN6EpaMXYBbQ7uoATrIQ;
path=/; expires=Thu, 12-Sep-24 20:13:04 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=SnmYmGEfWdde3TdzgkwZCLc_.3Ch2tBNchvm8O1dR7c-1726170184318-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '253'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999974'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_7bb3e7dcee1d9f6e449ce3ce91c23b45
status:
code: 200
message: OK
version: 1
@@ -1,115 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "What''s the weather in NYC?", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_z2s49enDG6f6yX2NZJZfqxMC", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_z2s49enDG6f6yX2NZJZfqxMC"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "What''s it known
for?", "role": "user"}], "model": "gpt-4o", "n": 1, "stream": false, "temperature":
0.0, "tools": [{"type": "function", "function": {"name": "get_weather", "description":
"Use this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '808'
content-type:
- application/json
cookie:
- __cf_bm=NeAzSrRiRUThU5nqf8tLls3TN_8rcKA.gYE1AQ6.sNA-1726170123-1.0.1.1-ok6RDiCBslCkOEMgGLzw.TTINZ__9xEPteZPhWDBPL1nKcqgIpQ3hq79a1b7K7DAQyUjYaiFaiOdERD16q4Zvg;
_cfuvid=RqiikjQSreEb1HyA2jJ8ksxMgXg0i3KlalTGJemJAaE-1726170123580-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//XFTBbhtHDL37K4g9JYYsWLJlJ745boMWqY0UdhEYVWFwZ7m7tGZnNiRH
ihrk34vZleS4lzmQfI/kI4ffjwAKroorKFyL5rren1xfPP/7aOt2kT59OXvfaL/VdNfhn9+657tF
McmIWD6Tsz1q6mLXezKOYXQ7ITTKrLPL+cXs8nQ2Px8cXazIZ1jT28l5PJmfzs9PThcns7MdsI3s
SIsr+PsIAOD78OYSQ0Xfiis4newtHaliQ8XVIQigkOizpUBVVsNgxeTF6WIwCkPVd7SBxygruGHb
wpu7x5u3wAqrEDcB6iiAsEZhsi3EGtjFwA48hqpDWekEXPKWBD1wUGNLuXWdAIYK1lwKBoNA3LRl
lDbGSqdwHzvKXNYSdFENQjQsPQFqT84UODifKrpahmWYTeH4+N7Q0oD5g0sS2x4fX8E16LYro8/m
Woiq2A1ZK+qiE3Tb6TLMM/qBO1K4/5pQKAM/HVpjUyiFm9bA51cn8EEiVhvc5urQSHatlEnNc2gA
rYvatyQ0XYazTH9DwXL/n1FWY10epSFIUmKAHmUFsa5JBjQEHNUSsrwZwGHUgavKH1RxbLn680z/
a9ezEGQJCD4k9hWHZsgT9tPQ1VadYE8CG7YWMEAslWSNeRhQkfuphB5DFOzYwZppo/9Lucgp9xrk
LB+xi0kPam2i+OrEeVTdKwS9xCq5Ye7TZbjIDF/Qe7g3IbJM8tAS1BwwOEYPbSr3Wf8KbFSNzWXw
ZQbfJqXUaQb+PmxCLjtH35JJ7KNnwwBjVCa6FpuM/oPpNlYkIXvgzW28vX47TjEHXXck7F4R3O1m
8hurRckyvMt1/MJrEiW4SawcaJxtR94GGaNlqEueA8oW6FtPwhQcKdSSV1Fi2qUcRJsuw/thXfb/
ZaTn/TILuxYMe1KT7Y7akpBO8m9rEja020UTrHgv9+w0k35EbTmGkanxsUQP9WgDhz0b+gm0+d9Z
hJA6kjzUipSbQKID7T6e1hQsUy/DQ0tKgELwnNQAoaYNtNy042/JVW5aNOhwRQp3jzeAkAJ/TfTq
/w+79fP5EaqTYr5+IXm/s/843DMfm15iqTv/wV5zYG2fhFBjyLdLLfbF4P1xBPDPcDfTq1NY9BK7
3p4srihkwtnpu5GveLnUL975+eXOa9HQvzjOFoujXYmFbtWoe6o5NCS98HhH6/5pvriYnyOd4aI4
+nH0HwAAAP//AwCWXqwfUAYAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2260eb7cf841d9-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:07 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '2934'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999952'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_e271e328d86c5a9929b18058831ac46d
status:
code: 200
message: OK
version: 1
@@ -1,205 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "What''s the weather in NYC?", "role": "user"}],
"model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type":
"function", "function": {"name": "get_weather", "description": "Use this to
get weather information.", "parameters": {"type": "object", "properties": {"city":
{"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '385'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFJdb5swFH3nV1j3OVTgANl4qzatWqdWardJVZcJuc7lozM2tS9aSJT/
PkFIoNH8gKxzfO45HHvvMQbVBlIGshQk60b518nr7ikqHwO6e/iibr/zbx+Cmx/XX8vt4+4nLHqF
eXlFSSfVlTR1o5Aqo4+0tCgI+6nhiifhKgj5ciBqs0HVy4qG/Mj4POCRH8R+uByFpakkOkjZL48x
xvbDt4+oN7iFlAWLE1Kjc6JASM+HGANrVI+AcK5yJDTBYiKl0YS6T61bpWYEGaMyKZSajI9rP9tP
PQmlsh130UfUn2+SPOme+P3z7XP+tr37NPM7ju6aIVDeannuZ8af8fTCjDHQoh60BVL2FwWVaC/k
jIGwRVujpj467NcgK+rWkK5Bd3INB3h3/uD9b/97VoXFvHVCjR2N+OFcujJFY82Lu+gQ8kpXrsws
Cjf8y7xS7+Q2+ED77tagsaZuKCPzB3U/Nl4dh8L0piYyjEeSDAk14SvujSnBdY6wzvJKF2gbWw33
DXmT8TjhkcCliME7eP8AAAD//wMAHtA48vgCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2260e52cfe41d9-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:03 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=NeAzSrRiRUThU5nqf8tLls3TN_8rcKA.gYE1AQ6.sNA-1726170123-1.0.1.1-ok6RDiCBslCkOEMgGLzw.TTINZ__9xEPteZPhWDBPL1nKcqgIpQ3hq79a1b7K7DAQyUjYaiFaiOdERD16q4Zvg;
path=/; expires=Thu, 12-Sep-24 20:12:03 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=RqiikjQSreEb1HyA2jJ8ksxMgXg0i3KlalTGJemJAaE-1726170123580-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '288'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999975'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_2da6ff2f426d039d046ff918633787f7
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "What''s the weather in NYC?", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_z2s49enDG6f6yX2NZJZfqxMC", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_z2s49enDG6f6yX2NZJZfqxMC"}], "model": "gpt-4o",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '682'
content-type:
- application/json
cookie:
- __cf_bm=NeAzSrRiRUThU5nqf8tLls3TN_8rcKA.gYE1AQ6.sNA-1726170123-1.0.1.1-ok6RDiCBslCkOEMgGLzw.TTINZ__9xEPteZPhWDBPL1nKcqgIpQ3hq79a1b7K7DAQyUjYaiFaiOdERD16q4Zvg;
_cfuvid=RqiikjQSreEb1HyA2jJ8ksxMgXg0i3KlalTGJemJAaE-1726170123580-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQXWvCMBiF7/srXnJtpR9aXe+c7EZhMJAxGaPE9G0blyYhSdlU/O8jtX7sJhfn
yTk5J6cAgPCS5EBYQx1rtQgX2f748fweLTcL9hK9HVfpnK7Wertel1VFRt6hdntk7uoaM9VqgY4r
ecHMIHXoU+NZksWzKE7SHrSqROFttXbhRIVJlEzCaBrG6WBsFGdoSQ6fAQDAqT99RVniL8khGl2V
Fq2lNZL8dgmAGCW8Qqi13DoqHRndIVPSoexbbxqEH6SuQQNcwut2CS2vGwc7BCZUVx7Gj06DVWep
Ly47IQb9fKsiVK2N2tmB3/SKS26bwiC1SvpnrVOa9PQcAHz1k7t/K4g2qtWucOobpQ+czy5x5P7H
d/g0MKccFQ9yFgz1iD1Yh21RcVmj0YZf5le6SKZZMqGY0ikJzsEfAAAA//8DAPQgwCIHAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2260e95a7041d9-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:04 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '192'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999968'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_aca921ed08e99b1104f16a42cc09843b
status:
code: 200
message: OK
version: 1
@@ -1,207 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "Respond in Italian", "role": "system"}, {"content":
"What''s the weather in NYC?", "role": "user"}], "model": "gpt-4o", "n": 1,
"stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '438'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSTY+bMBS88yusdw4VkAAqt6qXaluttFU/1G4qZJyHcddfa5vNRlH+ewUhgY3q
A7JmPG+GsY8RISB2UBFgHQ1MWRl/KJ7Su6zkHzfly+f8fseb58R+efjx6fvP979gNShM8xdZuKje
MaOsxCCMPtPMIQ04TE3LrEjLJFuvR0KZHcpBxm2INybOkmwTJ3mcridhZwRDDxV5jAgh5Dh+h4h6
h69QkWR1QRR6TzlCdT1ECDgjBwSo98IHqgOsZpIZHVAPqXUv5YIIxsiaUSln4/M6LvZzT1TKmj28
qOauSF+Tr994sf99v2+eVdolC7/z6IMdA7W9Ztd+FvwVr27MCAFN1ajlGOo90tChu5ETAtTxXqEO
Q3Q4boGJcNhCtQV9YFs4wZvzp+h/+z+LKhy2vady6mjCT9fSpeHWmcbfdAit0MJ3tUPqx39ZVhpd
3EYf6N/cGlhnlA11ME+oh7FFeh4K85uayTSfyGAClTNeFtGUEvzBB1R1KzRHZ50Y7xtaW2d5kW0o
rmkO0Sn6BwAA//8DAB6PwWz4AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2263949ecb6a5c-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:53 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=stVOnVuzAbBwbwD5yta9MCmdvQ7IMlDoxaLy4up9kqo-1726170233-1.0.1.1-49R2SEPhDLb54EvYU4_WtpPmdhSWAlvz6Q219kkCrkzZSqyYRn8CsFagwb9jC7Yhi.g9XSTELTrciblBYu.eNw;
path=/; expires=Thu, 12-Sep-24 20:13:53 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=FvTeg5PNtwIASEvfIia7va4AfyPD2iVZkkO.A207Ph0-1726170233725-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '555'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999971'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a74aaae0073ed36612d568d304b7e8ee
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "Respond in Italian", "role": "system"}, {"content":
"What''s the weather in NYC?", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_cQvmbJ61x0RTg6wZNwbqm1h0", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_cQvmbJ61x0RTg6wZNwbqm1h0"}],
"model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type":
"function", "function": {"name": "get_weather", "description": "Use this to
get weather information.", "parameters": {"type": "object", "properties": {"city":
{"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '735'
content-type:
- application/json
cookie:
- __cf_bm=stVOnVuzAbBwbwD5yta9MCmdvQ7IMlDoxaLy4up9kqo-1726170233-1.0.1.1-49R2SEPhDLb54EvYU4_WtpPmdhSWAlvz6Q219kkCrkzZSqyYRn8CsFagwb9jC7Yhi.g9XSTELTrciblBYu.eNw;
_cfuvid=FvTeg5PNtwIASEvfIia7va4AfyPD2iVZkkO.A207Ph0-1726170233725-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJBLT8MwEITv+RUrn5sqjz5Ebr0UwQEhqKgQQpGTblJTx2vZGyig/neU
NH1w8WE+z2hmfwMAoTYiA1FuJZeN1eFitovv96uX58VTu3rE+bJR67Yubn/WSy7EqHNQ8YEln1zj
khqrkRWZIy4dSsYuNZ4ns3geJWnag4Y2qDtbbTmcUJhEySSMpmGcDsYtqRK9yOAtAAD47d+uotng
XmQQjU5Kg97LGkV2/gQgHOlOEdJ75VkaFqMLLMkwmr71nQbGxhJIeMAveCW3A0vssCgQ0Ht0CKb9
JE2extcZDqvWy26CabUe9MO5lKbaOir8wM96pYzy29yh9GS6Ap7Jip4eAoD3fnz7b4+wjhrLOdMO
TRd4Ex/jxOXaFxgnA2Riqa/0KA2GgsJ/e8Ymr5Sp0VmnjqeobJ5MZ8lEYiqnIjgEfwAAAP//AwDV
wgksEwIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2263991b986a5c-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:54 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '214'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999962'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_309571d6a0cfb4eb26c40ccb7d0a730e
status:
code: 200
message: OK
version: 1
@@ -1,100 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "who built you?", "role": "user"}], "model":
"gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '373'
content-type:
- application/json
cookie:
- __cf_bm=cxHvMQphoeBQ46L39OoVqW2irhwAXLl.gvPdMDXBjFE-1726170100-1.0.1.1-zvpj5RwfZFxUBlzy1BQH7QbvFZd7BjkVMu6DrmpeXj_zWKH1yzYJDsq_Y6OTsS3rG6Ta5MrRaV8e27lehtAIaw;
_cfuvid=pMKtPMh03mk4K4n1PFfRAitrCZjlFPSHvFsqhiJ8Mik-1726170100484-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VFHLbtswELzrKxY8W4HEWDbgWxogQA5FUfRxaFEYa2olMaF2GZJO6gT+
94KyYqcXApzhDGaGbwWAsq3agDIDJjN6V96sHl4/8fe7X99evuqG9NMtrSr9c/jx+dY/qUVWyO6B
THpXXRkZvaNkhU+0CYSJsmu91qt6XdVVPRGjtOSyrPepXEqpK70sq6asr2fhINZQVBv4XQAAvE1n
jsgt/VUbqBbvyEgxYk9qc34EoIK4jCiM0caEnNTiQhrhRDylvocXjDDHhN0Bvnjim/sFIASKhMEM
IKFHtq+Ya0EnZh+pBWFo6ZmceMs9ILeA7TOymW4h2c4aiw4sJ3LO9sSGIJEZWJz0h6uPcQJ1+4h5
Dd47N+PHcz8nvQ+yizN/xjvLNg7bQBiFc5eYxKuJPRYAf6Yd9/9No3yQ0adtkkfibNg0Jzt1+bgL
qeeNVZKE7oKvm2LOp+IhJhq3neWegg/2NGrnt7pZ6SXSNTaqOBb/AAAA//8DAMOG0MpdAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22605c090942c0-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:41 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '367'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999979'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a53318a63eb648c4d294383e844a2882
status:
code: 200
message: OK
version: 1
@@ -1,206 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what is the weather in sf", "role": "user"}],
"model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools": [{"type":
"function", "function": {"name": "get_weather", "description": "Use this to
get weather information.", "parameters": {"type": "object", "properties": {"city":
{"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '384'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFJdb5swFH3nV1j3uVRAQpB4q/ahSV07qdukSMuEHHMBp8Zm9qVdEuW/
Tzg00Gh+QNY5Pucejn0MGANZQs5ANJxE26nwbrU73NnVIds9/fhTP368l9/W+KC3n9YfYg43g8Js
dyjoTXUrTNspJGn0mRYWOeHgGmfJKs6iOIo80ZoS1SCrOwqXJkyiZBlGaRgvRmFjpEAHOfsVMMbY
0X+HiLrEv5Azb+ORFp3jNUJ+OcQYWKMGBLhz0hHXBDcTKYwm1ENq3Ss1I8gYVQiu1DT4vI6z/dQT
V6ogWf9cL3ZfP6fb5vBS3svn9On7l9dyNu9sve98oKrX4tLPjL/g+dUwxkDz1mtrpOIVOTVor+SM
Abd136KmITocNyAk7TeQb8BVGzjBu+On4H/737MmLFa942qsaMRPl86VqTtrtu6qQqiklq4pLHLn
f2XeaPA2zc+B/t2lQWdN21FB5hn1YJtmZ1OYntRExsuRJENcTXgWB2NKcHtH2BaV1DXazkp/3VB1
RZKukiXHBU8hOAX/AAAA//8DALzbVDT3AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226055996b42c0-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:40 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=cxHvMQphoeBQ46L39OoVqW2irhwAXLl.gvPdMDXBjFE-1726170100-1.0.1.1-zvpj5RwfZFxUBlzy1BQH7QbvFZd7BjkVMu6DrmpeXj_zWKH1yzYJDsq_Y6OTsS3rG6Ta5MrRaV8e27lehtAIaw;
path=/; expires=Thu, 12-Sep-24 20:11:40 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=pMKtPMh03mk4K4n1PFfRAitrCZjlFPSHvFsqhiJ8Mik-1726170100484-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '275'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999976'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_d623f0429e9ceb127aebe069aff2f2ad
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what is the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_tigUX3jLF5bhzvdKik5RSHwd", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_tigUX3jLF5bhzvdKik5RSHwd"}], "model": "gpt-4o", "n": 1,
"stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '678'
content-type:
- application/json
cookie:
- __cf_bm=cxHvMQphoeBQ46L39OoVqW2irhwAXLl.gvPdMDXBjFE-1726170100-1.0.1.1-zvpj5RwfZFxUBlzy1BQH7QbvFZd7BjkVMu6DrmpeXj_zWKH1yzYJDsq_Y6OTsS3rG6Ta5MrRaV8e27lehtAIaw;
_cfuvid=pMKtPMh03mk4K4n1PFfRAitrCZjlFPSHvFsqhiJ8Mik-1726170100484-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDNbsIwEITveYqVzwQlIYSSG0LqoaraqkXtoaqQMQsxOGvLdlR+xLtX
DilpLz7M5xnN7DkCYHLNSmCi4l7URsWzYneaFa/Jcf70YHYv89PhY/H8Pt9Pqdo9skFw6NUOhf91
DYWujUIvNV2xsMg9htR0khXpJEmTpAW1XqMKtq3xca7jLMnyOBnH6agzVloKdKyEzwgA4Ny+oSKt
8cBKaGNapUbn+BZZefsEwKxWQWHcOek8J88GPRSaPFLbelEhfCP3FVqQBG+c4N5yEtIJDdKBaKxF
8uoIriE6Dv/GWNw0jocV1CjV6ZdbL6W3xuqV6/hN30iSrlpa5E5T6OC8Nqyllwjgq93f/JvEjNW1
8Uuv90gh8C6/xrH+4D1Mu9swrz1XvT7No64fc0fnsV5uJG3RGiuvx9iYZTYuspzjiI9ZdIl+AAAA
//8DABSCDTEVAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226058cd1b42c0-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:41 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '378'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999968'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_5f531fd232c078001229e27fda67b4cd
status:
code: 200
message: OK
version: 1
@@ -1,220 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJdG9vbHModG9vbHMpCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBhZ2VudDsKCXRvb2xzIC0tPiBhZ2VudDsKCWFnZW50IC0uICZuYnNwO2NvbnRpbnVlJm5ic3A7IC4tPiB0b29sczsKCWFnZW50IC0uICZuYnNwO2VuZCZuYnNwOyAuLT4gX19lbmRfXzsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104589'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2260551d37427f-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '9441'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:41:40 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:38:31 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=T11Obm3HDe7%2BaXqymMShYcqbjLGzja9jImJ%2Fthuho1Pe2x9DpU2eMlxDZr%2FZHUGYfflS5sRoYlPMU%2BKmZZ6RfuEb0pLqV38Bb7zbj1lDmWxvnuR%2B8CHQyxPjvS9zyQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,149 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '114'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQQWvCQBCF/8p0Ll5WidFWyE1bCx4Klh5KKUXWZMwuJrMxM1sV8b+XBFt6Gngz
73uPuaAvMMNayk0yfl/vlsu313T6spg+PZ+49g88+0CDem6ouyIRWxIabEPVCVbEi1pWNFiHgirM
MK9sLGg4GTrr93GYJuk0mSQzNJgHVmLF7PPyS1Q6dd5+ZLjSgQD7nEAD1EQK5xANLML2DlaDGh57
tAHLMF/BXzjkLVmlArZnmLO6NjQ+H/UOR20Pc1Q1cPTqwPIZDpFEfWCB0IJa2UsXBLUvnYKz3zSC
dUVWCCpSqAn2HI7gd6AdbyAdRJ3nElaQW7416RldxgivXwZFQ7NpyUpgzJC42GhsGW8LoUMkzgkz
jlVlMPaPzS7ouYm60bAnFszGqcEQ9b90P7lefwAAAP//AwDnEK20tgEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f7369ea4303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:04 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01NvySyYrVpn3uy2WmejYN3n
via:
- 1.1 google
x-cloud-trace-context:
- 74afe30523b4db2d936bb873a9ae1a83
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you, Bob! I''m Claude,
an AI assistant created by Anthropic. I''m here to help with any questions or
tasks you might have. Please let me know if there''s anything I can assist you
with."}, {"role": "user", "content": "what''s my name?"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '400'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yOzUrDQBSFX2U464kkjbQ4y4JLu6iKVJEwJteaZjI3zb0DlpB3lxQFVwe+88OZ
0DZw6OVY5cX9QV73L6duNzye7j7Pzw/rdbl9goVeBlpSJOKPBIuRwwK8SCvqo8Ki54YCHOrgU0NZ
mX35tkvZKl/d5mW+gUXNUSkq3Nv0t6j0vXSv4nDgZJRDY3oyF06jib4n04rZ8scN5ncLUR6qkbxw
hAPFptI0RvwaQudEsSa4mEKwSNe3bkIbh6SVckdR4DalBSf9j4pinn8AAAD//wMAc9NRZQsBAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f76fe624303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:04 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_013fsNwbK5RU1safsZVG4ime
via:
- 1.1 google
x-cloud-trace-context:
- 1ad77e763cf215c51752c9ead2eb3940
status:
code: 200
message: OK
version: 1
@@ -1,150 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}], "model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '114'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQTUvDQBCG/8o4l162kqSVwl7ED8Teipf6gYQ1GZKlyWyambXG0v8uCVY8Dbwf
z8B7RF+ixVaqPEmfNpvXatv19zF7Xm2vfFo/vPTfaFCHjsYUibiK0GAfmlFwIl7UsaLBNpTUoMWi
cbGk+WJeO7+L8yzJlskiWaHBIrASK9q345mo9DV2p2NxrTMB9gWBBmiJFIYQDdyGjwtYz1q4m9AG
HMPNGv6eX05mTf3Uq6np4OC1BscD7COJ+sACoQd1spORCa2vaoXafdIlPIYDFI7hTJwCGko3XOPp
3aBo6PKenARGi8RlrrFn/DWE9pG4ILQcm8ZgnBayR/TcRc017IgFbZoZDFH/S8v0dPoBAAD//wMA
cNT4oX8BAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f6c481b4303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:03 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01S5BjGsbV1mC1BazB3bY1q8
via:
- 1.1 google
x-cloud-trace-context:
- add21003d7ddb3dcd6ddc295f53a628d
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you, Bob! I''m Claude,
an AI assistant. I''m here to help with any questions or tasks you might have.
How can I assist you today?"}, {"role": "user", "content": "what''s my name?"}],
"model": "claude-3-haiku-20240307"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '345'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2SOzUrEQBCEX2Wo80SS7JKFuelxXTwpKCJhTJp1SNId0zNqCHl3yaIgeCr46oda
EFo4DHqu8+L+s3ssDw+3+7vp+jSMp/mjOh5nWMR5pC1Fqv5MsJik34BXDRo9R1gM0lIPh6b3qaVs
l7350KWszMt9vssPsGiEI3GEe15+FyN9bd2LODxJMupDa2ZJk2E/kAlqbuTVGpV/8Arri4VGGeuJ
vArDgbitY5oYP4bSeyJuCI5T31uky3+3IPCYYh2lI1a4qrCQFP+iolrXbwAAAP//AwCRocCGHQEA
AA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f70be704303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:41:03 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01AfMN8CcgZQ7z56xm33z5YY
via:
- 1.1 google
x-cloud-trace-context:
- 97269b50b1d59f27faa50a6f581df5b2
status:
code: 200
message: OK
version: 1
@@ -1,209 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCXN0ZXBfMShzdGVwXzEpCglzdGVwXzIoc3RlcF8yKQoJc3RlcF8zKHN0ZXBfMykKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IHN0ZXBfMTsKCXN0ZXBfMSAtLT4gc3RlcF8yOwoJc3RlcF8yIC0tPiBzdGVwXzM7CglzdGVwXzMgLS0+IF9fZW5kX187CgljbGFzc0RlZiBkZWZhdWx0IGZpbGw6I2YyZjBmZixsaW5lLWhlaWdodDoxLjIKCWNsYXNzRGVmIGZpcnN0IGZpbGwtb3BhY2l0eTowCgljbGFzc0RlZiBsYXN0IGZpbGw6I2JmYjZmYwo=?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104448'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225e1c4b2b0f90-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '8821'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:40:09 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:39:21 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=0KV68CVxoMEW01nhK%2F5RwDdYBWAxCvzphn2V2atbvMxhEU%2BNCya%2FufmXaP2qNy%2B%2F63lUvetnECHJuR0KUADs5CylQbui7%2FGWME0VUWqA8x8ZifjXLKzQHHvhPez2sw%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,101 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "search for
the weather in sf now"}, {"role": "assistant", "content": [{"text": "Certainly!
I''ll use the search function to find the current weather in San Francisco for
you. Let me do that now.", "type": "text"}, {"type": "tool_use", "name": "search",
"input": {"query": "current weather in SF"}, "id": "toolu_01U9btLWfBmLappQBRwWvfwJ"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "[\"It''s sunny
in San Francisco, but you better look out if you''re a Gemini \ud83d\ude08.\"]",
"tool_use_id": "toolu_01U9btLWfBmLappQBRwWvfwJ", "is_error": false}]}], "model":
"claude-3-5-sonnet-20240620", "tools": [{"name": "search", "description": "Call
to surf the web.", "input_schema": {"type": "object", "properties": {"query":
{"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '847'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA3RTS28UMQz+KyaXvcyu+kaaGwUVVqo4QA9IFK3cxLMTmrGH2Ol2VPW/o8y2olBx
SpT4c76H8+BicK0bdLs5ODz90l3GD6fvL799fndctvH8p1zce9c4m0aqVaSKW3KNy5LqAapGNWRz
jRskUHKt8wlLoOXx8nSpwky2PDo4Ojk4OzpwjfPCRmyu/f7w3NTovsLnpXXnqBRAGKwnUMLse8ik
JZk2sAaPDGOWuxgIJimwi9ZD5E7ygBaFAW+k2Az2JWdigx2h9ZQhMnxFhouM7KN6aa/5mq96+m8B
RH1ukibQwjyt4KqPCgMhK0RbKCD4RJgh4LQnMyZim0C6itA+Mq1gva/cZkKbK03ghkCKBZGsELtZ
TI93BMgTjAlZ31R+n2RHd5SrdO2lpAAsRmA92muHILJPJVAAZChctGACL8NQbdgb85GGyFGfdOA4
EmZ9oqMyENxGDpU8qmVJso0eE2TqKBP7yi5AVF4YZEpoFCq2EkFv9bVnL71wiDUQXcF6ESDTnkeA
TnzRyNvnjLt/kC/CbGDXR9/XHGbBs+FzDq+zynHbG7DsVtW29WzoIkCKtwSDZAIdyccueghkGJO+
mBSjYaSMVjI1sKsG/KHfgGToJJNHtbqBKnselgoNODU1clSCRAbVQZZdMxu1H9eniCp0VoFh3xrT
X4Nb7ycpK/f4o3FqMm4yoQq71hGHjZXM7ulC6VepabiWS0qNK/OnbB9c5LHYxuSWWF178vascVLs
5dnh2fHj428AAAD//wMA857XU/QDAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225df55f1341b2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:06 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:40:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:40:06Z'
request-id:
- req_017ad5P8mkaM3fgiGsL4manC
via:
- 1.1 google
x-cloud-trace-context:
- 822d271d316622d3054f834281c394a7
status:
code: 200
message: OK
version: 1
@@ -1,252 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCXN0ZXBfMShzdGVwXzEpCglzdGVwXzIoc3RlcF8yPGhyLz48c21hbGw+PGVtPl9faW50ZXJydXB0ID0gYmVmb3JlPC9lbT48L3NtYWxsPikKCXN0ZXBfMyhzdGVwXzMpCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBzdGVwXzE7CglzdGVwXzEgLS0+IHN0ZXBfMjsKCXN0ZXBfMiAtLT4gc3RlcF8zOwoJc3RlcF8zIC0tPiBfX2VuZF9fOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104457'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225de938a94267-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '11271'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:40:00 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:39:03 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Xr6hbssgr6K%2FxBCMAp8Pki57njbRvVVNz5nbMNXTux9uT8gjwbrypMQ5QZrKSc0VQtkOxDchfrS%2F4yaXaaUEiZHMHvhrb4r02e7m%2BNRqoCzQpjlpwXNY1InV9057QQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,89 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "search for
the weather in sf now"}], "model": "claude-3-5-sonnet-20240620", "tools": [{"name":
"search", "description": "Call to surf the web.", "input_schema": {"type": "object",
"properties": {"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '313'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA4RRQU7DQAz8ivGFyxalLRTIDSqBQAUBBXFAKFoSp43Y2Omul7aq8neUIAScOFn2
eOzxeIdVgSnWYZElw8u5Pq42F/52/thMju/OVjezt/EUDeq2oa6LQrALQoNeXFewIVRBLSsarKUg
hynmzsaCBuPB0SAIM+lglIwOk8koQYO5sBIrpi+776FKm47ehxSn5NVW7LZ7cLXvHMRAoEuCQNbn
Sygj51oJgwqUFRc9lkfviRXWZHVJHiqGuWW48JbzKuQCpXjYSjyAGSnUBIWALq0Cy/oAW/MjRcRl
MXQH9q50ecyS4dPpm86ey/N6Zpvm/vxh/fxRrq/RINu6432J61jcRMV0h6tIftuZ8Y80bNtXg0Gl
yTzZIPxXRQ8EWkXinDDl6JzB2P8g3X1ty1TeiQOm46NTgxL1d+1k2LafAAAA//8DAH9Vx/PiAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225dea992f41b2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:02 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:40:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:40:02Z'
request-id:
- req_016Fq56RAjes9K9MUYbSR2AJ
via:
- 1.1 google
x-cloud-trace-context:
- be5431ef1fa9ff61c115e9ddd6974e0f
status:
code: 200
message: OK
version: 1
@@ -1,152 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}], "model": "claude-3-haiku-20240307", "tools": [{"name": "search", "description":
"Call to surf the web.", "input_schema": {"type": "object", "properties": {"query":
{"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '289'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yPUUvDQBCE/8o5L75cJCZC4V6EUrEVlb6LhDNZa+hlN+b2rDH0v0uqgk8D387M
MhPaBg5d3FX55e3dY7F6pe2H1unr8LBd9Tf3foSFjj3NLorR7wgWg4QZ+BjbqJ4VFp00FOBQB58a
ysrszbf7lBV5cZWX+QIWtbASK9zT9Neo9DlnT+KwphDELOXlzGz0PBpuazIqpiNSM0q6MGs5mNqz
2Zif1zM1Ko0fr3F8togqfTWQj8JwIG4qTQPj9xDpPRHXBMcpBIt0WuMmtNwnrVT2xBGuLBYWkvQ/
K/Lj8RsAAP//AwDwgCx2LAEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f2c9e677cf0-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:53 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01AjY6iwjzmY42WahsRvzSF3
via:
- 1.1 google
x-cloud-trace-context:
- ffef42b1df54d2dd96c6da1fb1d92d0e
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
my name?"}], "model": "claude-3-haiku-20240307", "tools": [{"name": "search",
"description": "Call to surf the web.", "input_schema": {"type": "object", "properties":
{"query": {"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '293'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yRT0sDQQzFv0rIxcu21Fat7EX8g7AHT+JBRUrcSdtxZ5N1JlNdSr+7bLXFU+Al
v/ceZIveYYltWi0mpzcP8+bi8f374vlDH/un+5eH5u7ZYYHWdzxccUq0YiwwahgESsknIzEssFXH
AUusA2XHo9loTb7Jo+lkejaZTeZYYK1iLIbl6/bgaPw9sPtRYnXSAi0jeQcVOJUTA6otUwg9NKJf
0GuOINTyGK4TkMB1BccOxRFa04aBpIeOY1KhAF6WGlsyrwL0rtkGK0imkd0YKlA5RHyt6XfZRd14
x2AKLYPzkWsLPbgcvaxgKFKrbDimvesYbjUH90sGpsRgHMKAHktDUqigJoHIS46D819QxzH0V7h7
KzCZdovIlFSwRBa3sBwF/xaJPzNLzVhKDqHAvP9HuUUvXbaFacOSsJxN5wVqtv/a+eVu9wMAAP//
AwDu06Pw7gEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f2faa917cf0-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:53 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01J4sUh3qSbgGQUv54RJFXGp
via:
- 1.1 google
x-cloud-trace-context:
- 24eddd7c89cea1515ff7b0f44842bdbc
status:
code: 200
message: OK
version: 1
@@ -1,154 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}], "model": "claude-3-haiku-20240307", "tools": [{"name": "search", "description":
"Call to surf the web.", "input_schema": {"type": "object", "properties": {"query":
{"type": "string"}}, "required": ["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '289'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQQUvDQBCF/8o4l17SEpvQyt70UAyoiIoXkbAmY7MkmU0zs62h9L9LQi2eBt77
5j14R3QlGmxlm8fXb5v0fbMqwoNL98mqe3p8vXm5bzFCHToaKRKxW8IIe9+MghVxopYVI2x9SQ0a
LBobSpon88q6OsyX8TKNk3iNERaelVjRfBz/EpV+xt/pGMx0JsCuIFAPLZHC4EMEd/7rCrJZC5bh
NoNLKVTUT2hFTTeicHBageUB1Eot4HvYBRJ1nmXyWztAZfe0gOeGrBA0pNAS1OwP4L5Bp0QnY4ZW
jreQQWH5XHmpWODpM0JR3+U9WfGMBonLXEPPeDaEdoG4IDQcmibCMC1njui4C5qrr4kFTbJcR+iD
/tfS9HT6BQAA//8DAKjaDqiYAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f23eba68cdc-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:51 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01AUJDkpTVeLZoh9Fm27MxnT
via:
- 1.1 google
x-cloud-trace-context:
- 160285a34c9d650154f64f96254ed54b
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi! I''m
bob"}, {"role": "assistant", "content": "It''s nice to meet you, Bob! I''m an
AI assistant here to help you with any tasks or questions you may have. Please
let me know if there is anything I can assist you with."}, {"role": "user",
"content": "what''s my name?"}], "model": "claude-3-haiku-20240307", "tools":
[{"name": "search", "description": "Call to surf the web.", "input_schema":
{"type": "object", "properties": {"query": {"type": "string"}}, "required":
["query"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '544'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yO3UrDQBCFX2U51xtJmkpx7+wb6IVVRMLajHXJZibJzmJryLtLioJXB77zw5kR
Wjj06dSUVfX9OBz2T4fgu/Hrdjw/bO/p+QMWehloTVFK/kSwmCSuwKcUknpWWPTSUoTDMfrcUlEX
nz50udiUm21ZlztYHIWVWOFe579FpfPavYrDi2SjElvTk7lIngz7nkxIZi/vN1jeLJLK0EzkkzAc
iNtG88T4NRKNmfhIcJxjtMjXt25G4CFro9IRJ7h6d2chWf+zqlqWHwAAAP//AwDWIOUzDAEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225f28e99c8cdc-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:52 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01E9rhywLbbwzkxSAQdpQTfA
via:
- 1.1 google
x-cloud-trace-context:
- c846e1e402e0c37a2d9f124347e8a180
status:
code: 200
message: OK
version: 1
@@ -1,242 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJc2VsZWN0X3Rvb2xzKHNlbGVjdF90b29scykKCXRvb2xzKHRvb2xzKQoJX19lbmRfXyhbPHA+X19lbmRfXzwvcD5dKTo6Omxhc3QKCV9fc3RhcnRfXyAtLT4gc2VsZWN0X3Rvb2xzOwoJc2VsZWN0X3Rvb2xzIC0tPiBhZ2VudDsKCXRvb2xzIC0tPiBhZ2VudDsKCWFnZW50IC0uLT4gc2VsZWN0X3Rvb2xzOwoJYWdlbnQgLS4tPiB0b29sczsKCWFnZW50IC0uLT4gX19lbmRfXzsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104449'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c22611dbe79429a-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '10693'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:42:12 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:41:23 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=n65XkL3ccuIIy4iWcyfO5JdsDuVWdN1FMlV%2BQkbujLxuyiVpgypHIL%2BErs5d1dbqk1T0is14%2BDAaS67OSl8786BlLmvFrQ%2FiRnwIcaVI3977g11afZSPAJ2Gy%2FcRug%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
File diff suppressed because it is too large Load Diff
@@ -1,422 +0,0 @@
interactions:
- request:
body: '{"input": [[6854, 499, 3041, 757, 1063, 2038, 922, 25300, 304, 220, 2366,
17, 30]], "model": "text-embedding-ada-002", "encoding_format": "base64"}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '147'
content-type:
- application/json
cookie:
- __cf_bm=O.nClN4TgRJRwNIY7SQGy5X3dfmvNo6yaCet4NpXslk-1726170131-1.0.1.1-hrWVk7G27TmLdGElRrJOq.FnKnQBUjF6.pUVCVH7Bn_t9S7vaH2CkVn6t.DOlM_iNpruWz_zAVSiXcriyQAz6A;
_cfuvid=a66HtAjcHHvs4oXDwjmUqGeKuYYwSrHTvgPCtR3GBys-1726170131913-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/embeddings
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SZWw+yPpfF7+dTPPnfMokISDfvHQICAracPM0VKCooIocW6PvlJ/pMZjI3JkAT
S9nda61f//0ff/780+RVcRn++deff15lP/zzn99712zI/vnXn//6jz9//vz59+/3/40s6ry4Xsv3
/Tf897B8X4vpn3/9Ef/3zv8N+teff850h1gQLCt/3sYLQTXc/UyFW9l0Y9+rT4j2KGbGh24qTvIB
Q/pa7thuodtcWjUrC/TtuGE7fh/86fiWREge/cDMwhv4vKNEQJePXBHXaGuTpayUoFDSgm1Nuu16
y3ZcyCuzwpN9MpNlgTYh+FwOqbBWNgmPjKwAr1YOpHieb36TEq1BSrzdMxe/Pzm7F+uDes3KFi+D
Sk+omR5SIG4S0cULO9W029+eaMyvBfGP2rXjZHjVq5A4Ea3eJK64EZE7Mg26YybPngnTJCsG+wQi
Mdzkms8vfK+16DAGtK3fRjIHODY0R3RcomfuKqEbPrnqxpJS4pYPwsdEjg0oPXtBrKoR/PlwvTaI
M3RjpNvdkrlN0xqc6J3Tqeylaj5iRYEWLGDuZfHohnaUXDDFo8783Gy76Z41Hvqt7/X6KqpmUU13
WDzvCttOd8Ocym46qNQMCjwu2IJP60FJVUM6nuknM1/+XL8DD6zy8CbbdLPilF2fAYg1uxPnkF38
acJqA++wcynnmZXMdvL2wCtPIRbzTkXDQYtFWFwri1nfa3ba31XNnMsMT3DI/A+sHQVQuQlJUchj
995sdwJo5+eRmIFuJXJ2CWxohfHC8EBcNOe5HMJNjwTKBqnks6RsDIjt+kwCwS+SYeDtEyVMsSl/
X9f+6LJmRBfF0BhJkhMa1eyjQir1DoVYVDlX+U1Ub+Ni8/eaRXKfQbYhDEuJ2PrTapP1cJ3Kgvn1
folmU7yncOpn9F2PMxpP9BGuoh5tmPsEi0tHPCpaflE+LHhkj6pfXtwYHlNcYxToWTVKn6UIXFol
BCuP1GS+OUpqtBxu3//P0Ph4rVMA2Wpp6Qr7pO/kew0rdDOw9nD3/nCU9AscPlwlW5iHZFIFN4Y1
YT4dx2uKJufRgRot2Y1sepl3Y2tvThDbzzOxnLTl/Hi+tYju5Cud8N7u5rDGGTJWxupb//d8+qCn
i+qMrpkdRAkah9AKQOoqB/P95mPOOF0G0MVEopUYZZwXhueCccxsKh8y8Mf1JT4snmAmbHsJu+51
+wQqnKsa6J3Pl4orPTTgas+GOEG7yCfvgEdVvCIbK5vSqqaS+xS5j92S+TktO/77Hu9CetAR+5I/
vqPyCa+i0pmhjrtu6lUAUMKUMWvucD4bSKVodZYIXpn00/X964611WNiVEWBzsVPyWd4ro6cOHtt
riYTDQrKliYQt7bqfCSLpIbThrvEiOqx65Vt2GtxpvbMaqNH9/nNd9cdjhjQA+dzMm4C+FivJZ6y
+IOGybmHQCe8YWQ0t/l0WYQWHB/Fks6aX3ajXdop0ErvyG67sitZFomOwImvFFVXOf84/VmAflSe
5JBXAuKppGGI1+TMNh4383a/PhTwag2VONJNTLpvP0WetiZUnPVDMirbE4VEoXdiLt8en7KbFiKT
+DMew9Olm1fNykYH8eAS6/Rcd7MxBXRVrlYBc4/E6sS1LaWw8iZEnOfeQzzOJAO6bX7B8qY2KtFx
0ROq+cHxQyN6NTrCptTWFokJOUdWIqNsY8Nvv/nN2KJpgdsUbG/KqCaduqohSAYgh6LDCu3X1bIX
who6Wn+Yc1pOPhVvnwtcWnplloQtNAXzRoBp4Ces3Tu/40fKGzCdIGHHi7cyeys9zaCGbUjHht79
ebm4naAOyjcdYsFP5IxaBRIC22JGhn0+LUw4oN5QNLwpQz2XFpeeojq4v5mZLTdo+YlcjLYt29N5
6ho+CPeWwk6SIoZX8tOfn/sZQA4CzPLtoe2aTr4/0bc/kU3bDmbvrD8Ypu1tQ6WtVHBOfaUBa7/g
xNoXaTdujDCD517J2G4vfThzmvuoxbdsJuTRTebnqRl30A5rjU5HWUTDx44xMj+9TqJMe/C+AfuO
ruZdJsRb9eYTn+oMzA/Vmb2QNtVUKwuKhttSYqZAbHN6aKse3Sl0xD08+4ruLdUG4gkT7pEg8x6a
4wUgtGSmQ2N343W7SmFzuyXEmw+yyVJJC0BpdYNc1vttIpW+6MGB3zAh1XrtTwtcpqt5njle9gGq
xhcsKUTe+USHhV6jv/rrzGFJPOJtkt7TDilImwxjsrPjSrJ2PqAnqDtin59vs/8Mnxmul33I3Eu6
rWa/czNYVB+BrjZoNEe337mo7IaZZbnjdvMtWVK4NtRixtVuE4ok2qKOPj9kHZY7f0JNH6tqXEj0
HOUfPrjZ+Ym+esu8bdZ046iPIbTnFyFr8SxxfpBsHTad6DB74e+6r18J1L0qvol7XEtmf+p2DSDt
taXv577lc/I6YpCWQU5SwXdN9tUrda9Kbzqp9dXk4c69wLxpbRY847tPBWvtaq8oeJCTpNw4/xgP
A0RRUdlVmJW8b0TRhVd4fOPPpHXV5DuloS0zy2G6lZ8TPleDDu1x/vz8SDXfeXjX5GPvkrMZ6f5c
+uAhs/Zrokdm2k3jYWcA1UuBYIUZ3eDHJwOkT/8gpBWsZGbXJ0aT6ga//lDxUnXv6oe5BtsvQcmZ
8mpD2Gt3h+V9ss7lj32b0YMLNiGDZHDuusUM3fZ8wer3+9KaHkqI/DAmx+MmNSfjVvdQ+qsXcxbP
lf9ZikqD1qJy/vkHUz5deAioFDw6Z6sKceGyKtG3f1Ft9F/JvDZ3HvjbzCTBnjD+ra8egupzZdja
+Lz3/MaAFboaJFA+o88j5BqQXnXOrorbdIxMW4xMBycMl5nj0xCVJ83djTkVezRV8+p1vajX82dk
bni0k+nGVUVLPLrCcxw11SsSpgBpxvNJJzio5nPR+Qpinl4Q073u+BgdFwFi+/sJT5uhy6lDlAzO
JGxYgIQjGmqczND1s8lMJEYmzz2zR9UlW1F5kFfmawEfBR7NJSB5M7acnmC8aItRn4kzWreOWeiU
gldmIVkbnojapcEtVVrinOHFec45ynY2ih55wHaK63YtMUQJjedGIZ6Ylt30bmOAV99nxKvfZd57
+qzDUjhlzO1qsWPruit//Yr9/AFtTPME6XR06Ix2stmL1G3QWHgCs9807CZKHhKgEjxie2yTjzMe
JPCeWMLSEC78uX8NM/Rr68hc34r5WFetALo3TMQT7dQfNetA4eS8KLM789SNR2Jf4Olld7KlTdXx
e5IcNKtf1GS3l7ZcluW2QYr4McjmpO18er57NrL9NsWoGT3U75Qx02rqZ8xScj8X2eF9UuUKG2yz
0z+cXo1nCfOySGiJ8k0l6u3CQmwldsxY6iGXU/UkQVNqBpYUwUl4eNNFsPYaJ3i3dLupQJsYtDKb
sPDdPz1yP3fULZ9XFm2MJB/p43qCr9/CiXNyOZ+Xw0ndbq2SXRaWhTgZhhryB9bYb736ne6JqBd2
Jl2xzc4cpSEqAG4EmPWpPxWPkK5ruot8FsTHKJmk3SVGZOv67MBXRj5vD3mNcvLcEn1VnqtmI5cH
tZPP5s+f8lHOIxstsuWTeebl6vfvy6kGbHkTZuv6hL5636NSnW3mSIOBpr2/aNFRjTDz0j5Bc16/
QnSRgiM7uZnp/+2PIrdSsg9mlEyu6pSwHU5LvNSXyi+ftBDAVWJGVIfd5MehAZpmjsyII7eadicU
QLPjIlmzdOLdvdimQLyNzHzh6qExFp4ZhPllw64Pd2/OXz3+6QsefYFV4+O1PUCrjxJdHB9O8s6j
wkJff4XlzH+Yf/Xw588cunl3k61KFMaXN7O1+N7ks7VZPWFQM4vO1Zj5X3/Zgx8HV/L1F3zynqcM
xlo74eXt9OC0KKpeixd4QaNwcai4yh62dvfaEzM+5tDxi+KHoBn1k+hes6hYl6gBONLckGDGyKQN
UgC8g3khpMsHNJFy1mGh4xcWdt7Y9d/8uTpDvv/m4VfHlVcbQ7cfQ+aCn+RM6aGFzgsPZCsuW79f
29IB9Tq5Eiylu+qTm1iB8ZKeSHB/IH84O1GvJcHjRoKtVfijFWoesPRT4IveRglrZRVg8cYn4l0X
b3/+7YdlZjvEnQ5RNUmlEoOB+jO7DY2YNOy50uHnF5uxO1eD8kkKMJulzewyMJKpHSUPTOvOydpX
o25iM8pgYy4y+iqMidPNeC2R38sXvJKHJpmKDT+Aq65cPF72Cz6wmZ+ASLFCWZQ+fJ6yUtSWr3pN
pbYm5kQPgJG5lhMshTcj5+JeD9FKcEviAJkSTuoEa2YR2EyfuMVpvHmESJBPPvVT6ZnTLVljKJM5
IVYsWt10E+4q3NauQvCB7PM+NnRb++YttkmUxh+v2+mgIfIqqeTINpeHl3mCczaXDFvlMp++80XL
QzVgYfG+8zF1uxB2TLoSLxL3yehKyENOexbZbtspJsNK8tQ+fVES803iTq4XcEef+X2h0+YGaNxz
gpGmrUfMzeWcz56VYPj597N8O/MJVssCze94hVWXjdXE2HH8O59gvmy7eZW9CwjgJtFyPtzRuI76
g7on5R1LjwTxVpjdHi4MV3TyyarrzxUKUZmyBRW/PGEc5/oJnmYSDPlFMl+rTUZVrbCuX57y6dp5
X7ZwNUuZ+KqaJiPim+Ln14k1dzThW+YDkt7rNea59s5nbzV4UMi3J9vsm42/XKxwDO1LMIkp9Kyb
vzxF+74v8QP88XsOQwaHqW0wUlUxn1ahTrVdcm3p4fHw8v557l2ETjlQp1PWPkfXe69VL5JgFcMB
jWZ99sAW3DXxspVqdsoYxtp6DlbEWTzP5vvhDgdItKBmLpwf/Ffv6K55G7YFZ5nMq2aygQyXgvlp
s0SM1DkGsR7udI4jt5vpU3rCj7dYn3rbMWvAPdqYWkaX7a7qpntxUCFfn0Zydl2p+0i7NEZ4Sgp8
XaLS77NoViFi9evLKxreP7L8r36zbVdKFYuM+KL9/Kv1y2v6201hY7cqsW9phSg0axUNktxS+eKd
zUkptzb4nSExHPcFH5VtSLVde7sy+3jUq1/9gSnudWJqT2r++BU6vXOEQyxRn7lJMMMlXo5UjbZa
PvtzNkLa7hO2cxDypzNUjeY9Hgfmp36f80iQRuTcRpHZfFXmc2l9RvQatyIpm9oyp6DlNaqre04u
eWtVtC/yDB0BKLm+9yj/fCI3ADxFBZ4+Ttd993/6qzcW9IWQs0h+ZrCvRJHh9ujlopxHFpT7esV0
82lwMW+LC4hh/Sb2/nCqZv/dzyBweSI/vsKTpGtWRXTovv37yRm9TgYgljM6Y7h3c966KjouWszc
M4aOfiZDgO6z+5Agb58dJadQ1A6fSSX6anTNXz5Xv3mKCk/P8rkROXdAz3H88rlzPgur3AYqlE/m
lK8BsSbns3YEgTJcyGM1YbBGADuvcHipaD75gAAVvfQku6//nNZLj0J4jTu6XKhV9d0/AvrmebzY
2XNHb8myh3MdXvA48SfiSVI12uqVbpmRrl/VjKS6QQuLdpjnMUvY/toWKBTjG3O864n3Z3wLf3mL
BH1RJLOZFgd0PPIHIf7zab4Sd7RR5s5bZs4PDQ39iAEC7TAyfXID3p7b0YYmkFw8cLOqpq6MMm0r
nj4Md4aRyEO2z0ByAhGv4dlU82n2LigY9YiqsVGh33pp3/VlXiQuc9oelUD99S+km3I+fz7jE+h4
9IlebqAbiDifgGY4Yn/zg73mT+T3ywszL+KVD34c6ijM3j5bs/Ke8Iv4buHNvSWdWKnnS6vMPWDD
TcZT1NJuSJvaAJI2G7Z9zSv0V/9vC69gu+RjJqJI3Rb1o9niw20a8okGGP/0lnzzXTWHqMzQJ2m3
7Ju//TFzLBUt72RN5acDCRVmnYJH5SVWj8/Z5+OZBug2ahuyfs1mNcr52UZdFHrstIvOyYjr0VgN
QXYl+k2RzNGTfIDZ2PTMOd+3Jj8vDxLw1ZOTrXFadVNXnjPgECZM//Kx4dsPITmpCfHs0vNX3bE6
gRAHAiErXvtjPqgWOLaQE1f9WJyzlYLVv/03Hu2q//GV2FRXbHd9Cd1g3CiFEp498baZW/Ei9UoU
X58BOSjCO+HrYakAUZyCYC+e/dHT1f/JT744UJMX28sd0ecywtrh8fjxPg/iTOkp/9YT5TpukZz6
lGy++X8IbbMBHZ0U5k2roRtvm/r+q0+2kd5j8pcXsr70sVjTzhxBelja7XXzGdlVF3P8+g80pbBg
wWd7SHh2sWz48imS53fRHx9ZkoJGkEm7pXesprhXRCjpOSZetL0m/PUOARajMX/XE7rp2MUFirz8
hBfQWR3bN2GBDF8JmPWWgm76oN5DmWiFLHdXD5Oe35cLZFFdscApSTWhqxCib34gQU/MfBaWcgE/
PmreXyXnl+Ea/+0PO4Xfq8+yZgZab+yAbM9LqZudjXcCVRQqYs5xyXlTP2ZgvmxRlXivZN5bsw2B
lo74Pl5FNMkoESET7ZA45XGRUNyeg58+keARcH9g2uMEVurvsKSMCqKjrokqk32f6Fa+SrrzspB+
+Y6cRW82OSnlGpr1geCRz1CxSc8vP15JdCxhfx6Oa107Fa8HRcgt0dyml6eq5SeN6WXim/LbDIMf
7yDrpjVMab6fWrBWaca+9ZOL58td1X55ahfYgzk3pn/6+W9iH4/36mOrUg+FW0bM8XnDuZSeLdRk
bsPsR4JQRxPT+MtrttfT4HMe9S2UHZspLBe6L37rGTW4ocy3i8CXt6uVgKZhOv3lvaNlOx76+m9m
Zu9jMvaZGiDZP6ZkvQ0faNLxvoRr01s4lfATTc5hKQCuQGB48b6jrx7OwMRrRwzzUqOxJK8UffMr
2aSsqEb5qBWQaLjGK3Hp+fx1KQVtXl4SYm0fUTL1IxYQ0Dj88U7eHx3Rhl/+coaMVPz7fuBWaI/n
WnLM6bUcPa1eGCnZFcXL57WDAZz4smdb1z1UzTdvQ9bvSiz73EW0tD4zQkZikvW3/0nCrPcQXMuK
fP2mz+Mx1uF8vRgsM9uuoi6rDxCVsY2hX6d8vpz0Esnl0WXE4Tefkl0rqcfj9GDWXcDJlGwuF/Bt
Wn3PK9bd2IkWwO28iJhV0+5/eMnzcUqJr0cvPjqbowDh9FwQM1aMakj5RUcRZR3uroNaTTbvDyC+
6wyrqVrmspRGlpa1GeBVV0rdZH1ed6Tj0CffvJ7IP36URc+KBO+3w+fGNDNAuxlwea04p3m+iNFw
kyW8HzalOcgGDeFbL8y4f3QuPh4vioShl788P+5+5zFwvhYG2da6my9FbF6gxc6erWkw5tPk3GNo
Mq9h3/rg7aHxW6RHwwtzdHQq+RTvQqSEB/b1g03Xs8zXkRBYFvFStUy++lcogY4tRnaT1/FgGjOt
2pxt8jt/m+JjKsGXJ2MQfCHhyhiGEGSyidG0JBXvhYMHo9H9zgc+eSeKAgbw5wqjb33/eCqkl+2K
GtnK5MskoCLaV5JIW3EK/GX2Jg0MySki/ve8YFjAQwFbd3NiiUqKxlt4uau0oEfi0v5R/eW7X17D
iDSczfHnRycEM/G9tdGNYvvSVSFVCipbqO2Yu7YyEDolIj9+0DX1Z0RZGpqMjHSd0LDGJxXsc/Xl
j1r19/x1Npyeyl/e998AAAD//0yaTa+iMBSG9/4K49YYURTK3elV+XCgVfEiJpNJ0QqCIAIttMn9
7zfgZDLbs+nm5PT9eETzy7rM2/ySQTH346bLGzu/abV+kHvh/ADWZuHCEDzTosaGrYDAXjG22Oh7
t+3rOLj7hzNDN7KNqX02FyDwcYzafnhVx1McqmpGdsh0yThmenkLlROaLt95Wx2VQammCBrIqVxd
1M5iO1Wn6+gINQfCmBXkaSuGNPykwnowtwn2u7vmkyyCCaJyXDfJUgKJs14wvLeugXg9lBTsArJh
q0n2UhtZtxRwG5sEHXV56ZYb+XXUuv7IyeJcFctZoahdvusMue+KjR0loNXTCNaGEch1coHd/0Fn
OwmpnX4AfL9doK2av9yMWMcQMOM4hDynj7jVT+l8GGKfrYnOBAuJ5QFQnT30eRKe4JPxCYOztkPt
PWpc0d3Hua990UnnxyLETeUExwa8b/Iq4BguKThHtUdFmuCCpg03geatNDqLbUNIQbzWQXqyMiox
wUSr/znwXXCH9IsXat71NbfLq6EA3Q6CrWSJgkFHBXz3+v3fHWGQPq/k0YIBFWmq0T9UYISveCRJ
0zeGQEscksHHXwJhkLerVv2pngnJysFHfyK/WYNB9azw4/95r33qu/cDAAD//wMA1PfWAeAgAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22611dec00c35f-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:12 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-allow-origin:
- '*'
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-model:
- text-embedding-ada-002
openai-organization:
- langchain
openai-processing-ms:
- '33'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '10000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '9999987'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_419b4260ab60aa363f21302ee166b13b
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "Can you give me some information about AMD in
2022?", "role": "user"}], "model": "gpt-3.5-turbo", "n": 1, "stream": false,
"temperature": 0.7, "tools": [{"type": "function", "function": {"name": "Advanced_Micro_Devices",
"description": "Information about Advanced Micro Devices", "parameters": {"type":
"object", "properties": {"year": {"type": "integer"}}, "required": ["year"]}}},
{"type": "function", "function": {"name": "Accenture", "description": "Information
about Accenture", "parameters": {"type": "object", "properties": {"year": {"type":
"integer"}}, "required": ["year"]}}}, {"type": "function", "function": {"name":
"Abbott", "description": "Information about Abbott", "parameters": {"type":
"object", "properties": {"year": {"type": "integer"}}, "required": ["year"]}}},
{"type": "function", "function": {"name": "AO_Smith", "description": "Information
about A.O. Smith", "parameters": {"type": "object", "properties": {"year": {"type":
"integer"}}, "required": ["year"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1016'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSUWvbMBB+968Q95wUS11S8FtLGR3dYGyssKzDyPLZUSdLQjqnS0P++7Dj2G6Y
HoS477777r7TIWEMdAkZA7WVpBpvlrfrl7d6/ch/vH5/vftsi41U1Tf/0H59eFRPsOgYrnhBRWfW
lXKNN0ja2ROsAkrCriq/EWt+k/Jr0QONK9F0tNrT8vpqtaQ2FG6ZcrEamFunFUbI2K+EMcYO/d31
aEv8CxlLF+dIgzHKGiEbkxiD4EwXARmjjiQtwWIClbOEtmvbtsbMAHLO5EoaMwmfzmH2noySxuTi
fvPxjlJePBWfVjxw7X5u7O6tmumdSu9931DVWjUaNMPHeHYhxhhY2fTc23InrcIy/6JVcPk97nqP
Fpf5MtRtg5a6KeDwDHuU4RkykQpxhHfJx+R/798zSwJWbZRm8GqIH0fzjat9cEW88BIqbXXc5gFl
7GeaW5uc1XodaN9tD3xwjaec3B+0XVkuxKkqTL9rQsXwD4AcSTNjfRDJ0CfEfSRs8krbGoMPetx8
ckz+AQAA//8DAJ4jVVL4AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22611fcb4b4303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:13 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=1F59xwqOkosQFHie8frJwiROgw_3fD0VoE7mxgUPbGA-1726170133-1.0.1.1-DaW7v6oI4raxR1OFvQ15eKlTdkOy733GtjKQm7ewSXA0_dmN40Zn2CSgjLyI6VOX.qJMkBwiIu32WQh4tUQA2w;
path=/; expires=Thu, 12-Sep-24 20:12:13 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=SMcUTmtTlKews6fvxFgr9hq3hJ2Wobn6h5.kj3KQRho-1726170133102-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '352'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999970'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_42392da808e258becc4b0c5c65a24156
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "Can you give me some information about AMD in
2022?", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_2DZFBt01bVbI51r1ioYZnvzf", "function": {"name":
"Advanced_Micro_Devices", "arguments": "{\"year\": 2022}"}}]}, {"content": "Advanced
Micro Devices had revenues of $100 in 2022.", "role": "tool", "tool_call_id":
"call_2DZFBt01bVbI51r1ioYZnvzf"}], "model": "gpt-3.5-turbo", "n": 1, "stream":
false, "temperature": 0.7, "tools": [{"type": "function", "function": {"name":
"Advanced_Micro_Devices", "description": "Information about Advanced Micro Devices",
"parameters": {"type": "object", "properties": {"year": {"type": "integer"}},
"required": ["year"]}}}, {"type": "function", "function": {"name": "Accenture",
"description": "Information about Accenture", "parameters": {"type": "object",
"properties": {"year": {"type": "integer"}}, "required": ["year"]}}}, {"type":
"function", "function": {"name": "Abbott", "description": "Information about
Abbott", "parameters": {"type": "object", "properties": {"year": {"type": "integer"}},
"required": ["year"]}}}, {"type": "function", "function": {"name": "AO_Smith",
"description": "Information about A.O. Smith", "parameters": {"type": "object",
"properties": {"year": {"type": "integer"}}, "required": ["year"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1348'
content-type:
- application/json
cookie:
- __cf_bm=1F59xwqOkosQFHie8frJwiROgw_3fD0VoE7mxgUPbGA-1726170133-1.0.1.1-DaW7v6oI4raxR1OFvQ15eKlTdkOy733GtjKQm7ewSXA0_dmN40Zn2CSgjLyI6VOX.qJMkBwiIu32WQh4tUQA2w;
_cfuvid=SMcUTmtTlKews6fvxFgr9hq3hJ2Wobn6h5.kj3KQRho-1726170133102-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQzW7CMBCE73mKldVjQElQAOWGiir10KrqtaqQcTaJqbMb2Q6CIt69cgg/vfgw
3854dk8RgNClKECoRnrVdmaymu9+m375/txyxh8vtF5/0kFSrtAclyIODt7uUPmra6q47Qx6zXTB
yqL0GFLTRTZPF0k6mw2g5RJNsNWdn8ym+cT3dsuTJM3y0dmwVuhEAV8RAMBpeENHKvEgCkjiq9Ki
c7JGUdyGAIRlExQhndPOS/IivkPF5JGG2q8EWZJlMazKvSSFJbxpZRnWuA//QyNLsLhH6tEBV/CU
Jsn0Mcti1TsZdqHemFE/38oZrjvLWzfym15p0q7ZWJSOKRRxnjsx0HME8D0cof+3l+gst53feP5B
CoHpfHHJE/e7P9B8hJ69NA/6MovGhsIdncd2U2mq0XZWDzcZ9jhHfwAAAP//AwBkSvycEgIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226124295e4303-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:13 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '436'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999955'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_306921d306d1df160f76ddf0a7064b5b
status:
code: 200
message: OK
version: 1
@@ -1,247 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJc2VsZWN0X3Rvb2xzKHNlbGVjdF90b29scykKCXRvb2xzKHRvb2xzKQoJX19lbmRfXyhbPHA+X19lbmRfXzwvcD5dKTo6Omxhc3QKCV9fc3RhcnRfXyAtLT4gc2VsZWN0X3Rvb2xzOwoJc2VsZWN0X3Rvb2xzIC0tPiBhZ2VudDsKCXRvb2xzIC0tPiBzZWxlY3RfdG9vbHM7CglhZ2VudCAtLi0+IHNlbGVjdF90b29sczsKCWFnZW50IC0uLT4gdG9vbHM7CglhZ2VudCAtLi0+IF9fZW5kX187CgljbGFzc0RlZiBkZWZhdWx0IGZpbGw6I2YyZjBmZixsaW5lLWhlaWdodDoxLjIKCWNsYXNzRGVmIGZpcnN0IGZpbGwtb3BhY2l0eTowCgljbGFzc0RlZiBsYXN0IGZpbGw6I2JmYjZmYwo=?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104447'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c226128fbb68c17-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '10998'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:42:13 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:41:26 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=TTUWTrKpPnXcNky1aDk5effalnhV2NiHCWPptsn3tvd4jwYKajzxVJdgECUgb%2Fwo6D6kBs%2FD1YRws1xUJpq4DLaOWi%2BkHAhAM1pSEsWXCT6AeQLku8uLm0%2FrQdGCLw%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
File diff suppressed because it is too large Load Diff
@@ -1,256 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWdlbmVyYXRlX3RvcGljcyhnZW5lcmF0ZV90b3BpY3MpCglnZW5lcmF0ZV9qb2tlKGdlbmVyYXRlX2pva2UpCgliZXN0X2pva2UoYmVzdF9qb2tlKQoJX19lbmRfXyhbPHA+X19lbmRfXzwvcD5dKTo6Omxhc3QKCV9fc3RhcnRfXyAtLT4gZ2VuZXJhdGVfdG9waWNzOwoJYmVzdF9qb2tlIC0tPiBfX2VuZF9fOwoJZ2VuZXJhdGVfam9rZSAtLT4gYmVzdF9qb2tlOwoJZ2VuZXJhdGVfdG9waWNzIC0uLT4gZ2VuZXJhdGVfam9rZTsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
2Cx9lvxIof7Wo/fyLIWPst+JFD/a1H7+RWveYnvj0tJ6FWiIvNQ1eVfFi8fU5v2Cp7Gvi5avqkX7
AVjUQR1UEkMrd+KRpY5p6wRoQoOGlv8AjNPDbm2Sa+U9OxsUNZR1ELXPYBo3lGyvZo/QcdCQenhr
uj0NHmJsTYrSa13zT1WjfFG9RaTna/epl17VRe/Tna/epl17VRe/XfU7UeKPco3aLSc7X71Muvaq
L36c7X71MuvaqL36anajxR7lG7RaTna/epl17VRe/Tna/epl17VRe/TU7UeKPco3aLSc7X71Muva
qL36c7X71MuvaqL36anajxR7lG7RTFmyy7X60UVzo8NvJpKyFlRCZpKWJ5Y5oc3eY+YOadD8FwBH
QQFmc7X71MuvaqL36anajxR7lG7RaTna/epl17VRe/Tna/epl17VRe/TU7UeKPco3aLSc7X71Muv
aqL36c7X71MuvaqL36anajxR7lG7RaTna/epl17VRe/Tna/epl17VRe/TU7UeKPco3ax9lvxIof7
Wo/fyLXNq8krTyUGMT0EjuAqLhVQGJn+8RFI9ztPMANejUdIq8es0ePWWjt0T3Stp2bpkf8ACe7p
c4/OSSfzrjfzFm61KxWZid0xPCuHecIbFERecqIiICIiAiIgIiICIiCf2fTiqwTHZhPcaoSW+nfy
94j5Otk1jad6dug3ZD0uGg0OqoFObN6gVez3GZ21dfcGyW2neKu6s3KubWNp35m9Uh6XDqJKo0BE
RAREQEREBERAREQEREBERAREQEREBERBObN6xlx2e4zVR19ZdI57bTyNrrjHydTUAxtIklb/AFXu
6SOokqjU7s6recsAxur79rLly9up5e/LhCIaifWNp35WDQNeekt6iSFRICIiAiIgIiICIiAiIgIi
ICKan2l4lTSujlya0Me0kFprY9QegjpX5+NLDvWm0dtj9q0bPfT/AKTlKaTgqUUt40sO9abR22P2
p40sO9abR22P2ps991JylOrOCpRS3jSw71ptHbY/anjSw71ptHbY/amz33UnKTVnBUrVZHldkw+i
jrL9eLfZKSSQQsqLjVMp43PIJDA55ALtGuOnToD5lq/Glh3rTaO2x+1ca7rmzYbt42H3rH4MltD7
xSkXK1/jsf8ArUbXbrfhf1muez/n16k2e+6k5Sas4On7INpOLZpiljprLl9Jk1e22QzS79VG6uc3
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
e8+kdEAiIsQIiICIiD//2Q==
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104401'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2265131fcb7d16-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '11473'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:44:54 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:44:53 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=UIkAIuL0MuZpBxUbw3wfUC%2BY0V5HSwK2Tb8i8hKaYtbQ8IiaEGcGIP9K8RvXWl5%2Bd8KQH0f7Cm0BVPE2goZ0nGmC7hQLVM4fSXUIkaW72BcH3ooEiLKuEel2NPOYlA%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
-535
View File
@@ -1,535 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Generate
a comma separated list of between 2 and 5 examples related to: animals."}],
"model": "claude-3-5-sonnet-20240620", "tool_choice": {"type": "tool", "name":
"Subjects"}, "tools": [{"name": "Subjects", "description": "", "input_schema":
{"type": "object", "properties": {"subjects": {"type": "array", "items": {"type":
"string"}}}, "required": ["subjects"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '429'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQQU/CQBCF/8s7b5NSCoY9ysUEPSiYqIQ0azuUlWW2MruiafrfzUJI9DjfzHvz
8nrYBhoHaat8NKft3er0WNqx7O2yNIuZObWvUAg/HaUrEjEtQeHoXQJGxEowHKBw8A05aNTOxIay
cTbJxDNTyIq8KPNpkUOh9hyIA/S6v5oG710VJbmeo6Q5VvlouizkdvfMfr64f/n+qndPD4vVGxTY
HJJuGd8/qA6SdNzFAN1Drkyv4axnKJCjbndJ2BG30SbY2qPZbgmbYdgoSPBddSQjnv/nOS+EPiNx
TdAcnVOI5wp0f/laBb8nFujxZKbgY/jLypth+AUAAP//AwBtSmEQYQEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226513a9570ca2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:55 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:55Z'
request-id:
- req_019eMp4abwJHk4YRAhhkn9wm
via:
- 1.1 google
x-cloud-trace-context:
- 9d80228965ab298a04dd072ad7026873
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Generate
a joke about lion"}], "model": "claude-3-5-sonnet-20240620", "tool_choice":
{"type": "tool", "name": "Joke"}, "tools": [{"name": "Joke", "description":
"", "input_schema": {"type": "object", "properties": {"joke": {"type": "string"}},
"required": ["joke"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '331'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQT0vDQBDFv8o6Fy8bSNu0xb0IwT9FwYOF9iAStptJG7vdSTuzYgj57pKIoMf3
5r3Hj+mgLsHAifdFOllunldf+fqSLedb2j/a3QbvXxxokLbBIYXMdo+g4UJ+MCxzzWKDgIYTlejB
gPM2lpjMknnCFAJKMk2nWbqYpqDBURAMAuat+x0VIl9EHlZHlEHHIp3cNOvP1+zMOe7ucm4f1hWv
eAEagj0NvSc6jp3QRAHTwcegDWwPrSopXIvyNQVWvj6iqiyLqojKW5Wjs5FRyQFb5ewQdFbcQdVy
BX3/roGFmuKClin8xxsPjOeIwSGYEL3XEMePmO4HpBA6YmAws1mmgaL89bJF338DAAD//wMAjL3D
YHABAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22651e189e422d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:57 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3998'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:57Z'
request-id:
- req_01GBUuVCUhefneQNusq3ptsw
via:
- 1.1 google
x-cloud-trace-context:
- 62e2856915a94749f99dd2384f8fb092
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Generate
a joke about giraffe"}], "model": "claude-3-5-sonnet-20240620", "tool_choice":
{"type": "tool", "name": "Joke"}, "tools": [{"name": "Joke", "description":
"", "input_schema": {"type": "object", "properties": {"joke": {"type": "string"}},
"required": ["joke"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '334'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1RQTUvDQBD9K+tcvCSQNqbKXqSlJ0EpVKwgErbZyYfZ7sTMrrGG/HfZiKC3eW/m
vXkzIzQaJJy4ypPF+vi85X3WZcX9+nPdPaTl7rg9QgTu3GGYQmZVIUTQkwmEYm7YKesgghNpNCCh
MMprjNM4i5msRRcvk+VVslomEEFB1qF1IF/GX1NHZHLPwXWOErDPk8WB26/hqc32Kbdf14/DbmPV
TVhk1Sno7qidNbbzDuQIbwFLONRnocleOlE1vSpLZIEf2IuKmJvuVmywUJ5RuBrFQL0WA3mjBXc9
Ki1M06IYGqPLpg+FqwX7ohaGbCUsFi1fwDS9RsCOurxHxWT/3zA3GN892gJBWm9MBH5+mxx/0uaO
WrQMMk1XEZB3f7ksm6ZvAAAA//8DADFSUCGVAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22651e1b8b8c3c-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:57 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3997'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:57Z'
request-id:
- req_019LHoAMWDu5UocifEzdtTWT
via:
- 1.1 google
x-cloud-trace-context:
- 7ba55379b0e36b8dc92c4c61d5a81d30
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Generate
a joke about elephant"}], "model": "claude-3-5-sonnet-20240620", "tool_choice":
{"type": "tool", "name": "Joke"}, "tools": [{"name": "Joke", "description":
"", "input_schema": {"type": "object", "properties": {"joke": {"type": "string"}},
"required": ["joke"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '335'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQQUvDQBCF/8o6l142kLSx2r0Ioj2IgkJLS0XCkkybtpudmJm11pD/LokIenxv
5j0+Xgv7AgxUvMvi5Gm1Tpvl4XnzuDgty7V9OVytkiNokHON/Rcy2x2ChoZcb1jmPYv1AhoqKtCB
gdzZUGA0iS4jJu9RonE8TuPpOAYNOXlBL2Be299SIXJZ4L51QOl1yOJkfr3B++RrvdjM5rd3p7yZ
fnxuZ6DB26rPPdBxyPg6CJgWDr02sCrPqiA/EoUO69J6YRUYVU5VHQQbvlGLEs+jBpXdNnZfKNoq
KVFVFBgvoOveNLBQnTVomfx/wuHA+B7Q5wjGB+c0hGEU0/6wZEJH9AxmMkk1UJC/Xjrtum8AAAD/
/wMAib/IjXMBAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22651ddb7e0ca2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:57 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:57Z'
request-id:
- req_0126gQvLoXFZ2J9gwQt8zSCT
via:
- 1.1 google
x-cloud-trace-context:
- be78481c75d29a0d10ecbd439a8300c0
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Generate
a joke about penguin"}], "model": "claude-3-5-sonnet-20240620", "tool_choice":
{"type": "tool", "name": "Joke"}, "tools": [{"name": "Joke", "description":
"", "input_schema": {"type": "object", "properties": {"joke": {"type": "string"}},
"required": ["joke"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '334'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQW2vCQBCF/8p2XnzZQIwX6r4UpKgI7YMF7YUSlmTU1WQ2zcwKIeS/l6QU2sdz
Zs7h47TgcjBQ8imNx5un8tKUQrS/LWS9en/Dzev9CjRIU2H/hcz2hKCh9kVvWGbHYklAQ+lzLMBA
VtiQYzSJZhF7IpQoiZNpPE9i0JB5EiQB89H+lor3RRq4bx1Qeh3SeLx92S0O03XiVtl8tjs/v+8f
k+UNNJAt+9zWX4cMVUHAtHDptYHDuVG5p5GoxgfFiKpCOgVHrBypZe3EOnpQS8xsYFRyxmZUo7LH
2rpc+aM62AL5DrruUwOLr9IaLXv6TzocGL8CUoZgKBSFhjCMY9ofplT8FYnBTCYzDT7IX2+66Lpv
AAAA//8DADfisDd7AQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22651e0e88423f-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:57 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:57Z'
request-id:
- req_014WRrvgXhvv9Q4ktw5ax6Nn
via:
- 1.1 google
x-cloud-trace-context:
- 4e30e13c7248fbf03a9113305a647302
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "Below are
a bunch of jokes about animals. Select the best one! Return the ID of the best
one.\n \n Why don''t lions like fast food? Because they can''t catch it!\n\nWhy
don''t elephants use computers? They''re afraid of the mouse!\n\nWhy don''t
you see penguins in Britain? Because they''re afraid of Wales!\n\nWhy don''t
giraffes ever gossip? Because the word would spread like wildfire with such
long necks!"}], "model": "claude-3-5-sonnet-20240620", "tool_choice": {"type":
"tool", "name": "BestJoke"}, "tools": [{"name": "BestJoke", "description": "",
"input_schema": {"type": "object", "properties": {"id": {"description": "Index
of the best joke, starting with 0", "minimum": 0, "type": "integer"}}, "required":
["id"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '790'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SPW0vEQAyF/0uep9DLVnTe3Asrq4ggLIJImW1DWTrN1CYRaul/lykI+piTnO+c
zHBtwELPbZVm+2NNu2w/nIfn7ffl7TS9KD1cwIBMA8YrZHYtgoEx+Cg45iuLIwEDfWjQg4XaO20w
KZIy4UCEkuRpvklv8hQM1IEEScC+z79QCcFXypG6VomzVmn2KuevduoOevfEGY+FPu5u7w9ggFwf
fVtkOYVu9dGgAnZeAfmyfBhgCUM1ouNA/zPWBeOnItUIltR7A7q+FQGRVEnokBjspiwNBJW/WlEs
yw8AAAD//wMAcWJeqjUBAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22652a79810ca2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:59 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:45:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:44:59Z'
request-id:
- req_01Dc2XCPEeTK3twQiWuj6aNv
via:
- 1.1 google
x-cloud-trace-context:
- a17743ef8a1c14303a24b58a8259db4e
status:
code: 200
message: OK
version: 1
-189
View File
@@ -1,189 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJdG9vbHModG9vbHMpCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBhZ2VudDsKCXRvb2xzIC0tPiBhZ2VudDsKCWFnZW50IC0uLT4gdG9vbHM7CglhZ2VudCAtLi0+IF9fZW5kX187CgljbGFzc0RlZiBkZWZhdWx0IGZpbGw6I2YyZjBmZixsaW5lLWhlaWdodDoxLjIKCWNsYXNzRGVmIGZpcnN0IGZpbGwtb3BhY2l0eTowCgljbGFzc0RlZiBsYXN0IGZpbGw6I2JmYjZmYwo=?bgColor=!white
response:
body:
string: !!binary |
/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdC
IFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAA
AADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlk
ZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAA
ABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAA
AAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAA
AABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEA
AAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAA
ACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgMCAgMDAwMEAwME
BQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQME
BAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBT/wAARCAD5ANYDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAYHAwUCBAgBCf/E
AFIQAAEEAQIDAgUOCQkGBwAAAAEAAgMEBQYRBxIhEzEWFyJBlAgUFTJRVVZhcXSy0dLTIzY3QlSB
kZOVGDVDUnWCkrO0JCUncpahMzRTZLHB8P/EABsBAQEAAwEBAQAAAAAAAAAAAAABAgMFBAYH/8QA
MxEBAAECAQkFCAIDAAAAAAAAAAECEQMEEiExQVFSkdEUM2FxoQUTFSNiscHhgZIi8PH/2gAMAwEA
AhEDEQA/AP1TREQEREBERAWG1cr0o+exPHXZ/WleGj9pWju37uevz47FTGlVrnkt5NrQ5zX/APpQ
hwLS4d7nuBa3cNAc4u5Ptbh/p+F5llxcF+ydua1fb65mcR5y9+5/Z0W+KKae8n+IW293fCrC++9D
0ln1p4VYX34oeks+tPBXC+89D0Zn1J4K4X3noejM+pX5Pj6LoPCrC+/FD0ln1p4VYX34oeks+tPB
XC+89D0Zn1J4K4X3noejM+pPk+PoaDwqwvvxQ9JZ9aeFWF9+KHpLPrTwVwvvPQ9GZ9SeCuF956Ho
zPqT5Pj6Gg8KsL78UPSWfWu5UyFW+0uq2YbLR3mGQOA/Yun4K4X3noejM+pdS1oHTluQSuw1OGdp
3bYrRCGZp+KRmzh+op8mds+n6TQ36KMR2bmkZ4Yb9qbJYeVwjZen5e1quJ2a2UgAOYegD9twdubf
cuEnWuujN8YJgREWtBERAREQEREBERAREQEREBajV2Yfp/S+VyMQDpq1Z8kTXdxft5IP69lt1HuI
VOW9onMxwtMkza7pWMaNy5zPLAA90luy24MROJTFWq8LGtsNP4ePAYapQjPN2LPLk88khO73n43O
LnE+6StisNO1FeqQWYHc8MzGyMd7rSNwf2FZlhVMzVM1a0FEuIHFbS3C6LHv1JkzSfkJHRVIIa01
madzW8z+SKFj3kNHUnbYbjchS1Up6pWhUfBp3Jx4/WDdSY59mTEZzR2ON2ahK6NocyaIBwdHL0Ba
5paeXqW9CsR2cp6pjT+N4q6b0m2tetUc3hfZeHJ1cdbnB55IWwtDY4XeS5sjnOkJAZs0O5S4KQWu
P2gqOuW6Qs571vnX2m0WxS052wmw4bthE5j7LtDuNm8+53A2VUx5fWendd8Ltfax0nlrtuxpGzic
xDp6g+4+neklrTDnij3LWu7J43G4aehPnUA4t4/Wep5tTDMYbX+W1Bj9VwW8fUxsEwwsOJguRSRy
RtjIjsSGJpJGz5ec9GgDoHpi3x20TT1je0ocpYsahozR17VCnjbVh8DpI2yMLzHE4NYWvb5ZPLuS
N9wQNXwF4943jngrNyrRu465XsWY5K89KyyMRssSRRubNJExj3OawOcxpJYSWuAIXW4S6fu4zjFx
pyVrG2KkGSy2PdVtzQOY21GzHQNJY4jZ7Wv529NwDzDv3Wr9THYyGl8PlNCZjT2axuSxeUylr19Y
ovbQswy3pJY3Q2NuR5c2Zp5Qdxyu3A2QXgiIg6+QoV8rQs0rcTZ6tmN0MsT+57HDZwPyglajQ1+e
/puEWpe3t1JZqM0p33kfDK6IvO/9bk5v1rfqM8PG9pp+S4N+S/dtXI+YbbxyTvdGdvjZyn9a9FPc
1X3x+V2JMiIvOgiIgIiICIiAiIgIiICIiAiIgilOdmg3mjb2iwDnl1O315Km53MMp7mN3J5H9G7b
MOxDe0x6r4RaG1/kY8lqPSWEz95sQhZayFGKeQRgkhoc4E8u7nHb4ypa9jZGOY9oexw2LXDcEe4V
Gn8PsdCScbZyGFB/osdbfHEPc2iO8bf1NH/YL0TVRiaa5tPO/wDv8stEo8fU28KC0N8W+luUEkD2
Jg2B8/5vxBSbR/DvS3D2GzFpjT2M0/FZc107MbUZAJSNwC4NA323Pf7qw+BNj4VZ799D90ngTY+F
We/fQ/dJ7vD4/SUtG9KEUX8CbHwqz376H7pRO9jstX4q4PTzNU5j2OuYW/flJlh7TtYZ6bGbfg/a
8tiTfp38vUed7vD4/SS0b1qLS6s0XgNd4xuO1HhaGdx7ZBM2rka7Z4w8AgO5XAjcBxG/xldHwJsf
CrPfvofuk8CbHwqz376H7pPd4fH6SWje0DfU3cKWBwbw40u0PGzgMTB1G4Ox8n3QP2LZ6Z4K6A0Z
l4srgNF4HDZOIObHco4+KGVocNnAOa0EbgkFdzwJsfCrPfvoful98AKdh3+8MhlcqzffsbV14iPy
sZytcPicCEzMONdfKP8AhaHHK5Dwu7fDYqXnqP5ochkYXeRCzqHRRuHfKe7p7QbuJB5WuksEEdaC
OGFjYoo2hjGMGwa0DYADzBfKtWGlXjr14Y68EbQ1kUTQ1rQO4ADoAsqwrriYzadUEiIi1IIiICIi
AiIgIiICIiAiIgIiICIiAiIgKvssW+P7SwJPN4MZfYebb11jd/P8nm/WPPYKr/K7+P7S3Vu3gxl+
hA3/APNY3u8+3ydO7fzILAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFXuWA/lA6VP
M0HwXzHk7dT/ALXjOu+3d+vzj9VhKvctt/KC0r1PN4L5jYcv/u8Z5/8A9/2QWEiIgIiICIiAiIgI
iICIiAiIgIiICIiAiIgIiICIonf1ZkbVyxBg6NazFXkMMtu7O6JhkG4c1gaxxdykbE9ADuBuQdtu
Hh1Yk2pW10sRQj2d1h+gYP0ub7tPZ3WH6Bg/S5vu1v7LXvjnBZN14D1j6vbK6e9URXxNrhXO7UOJ
juadGPizAd28s9is5r2O9b78p9bjbYeUHg+YL2L7O6w/QMH6XN92qgz3qf5tQ+qDw/Fqxj8MMzjq
vYmoLEhinmaOWKdx7PfnY07D/lZ/V6uy1745wWelkUI9ndYfoGD9Lm+7T2d1h+gYP0ub7tOy1745
wWTdFCPZ3WH6Bg/S5vu1li1flsW5kmdoU4qBcGvtUbD5OwJOwc9jmDyN9t3AnbfcjYFwk5LibLT/
ADBZMkRF5EEREBERAREQEREBERAREQEREBERAVeaGO+BeT3m/eJ+M+upVYarzQv8wP8An13/AFUq
9+T93V5x+V2JAiItiCIiAiLo2M5j6uXqYua7BHkrcckteo6QCWVjOXnc1veQ3mbufNzD3UHeUd4j
nbh7qg9Nxi7RG43/AKJykSjnEj8neqf7Ktf5LluwO9o84+7KnXCxGe1HyLkuLPaN+RclxmIiIgIi
ICIiAiIgIiICIiAiIgIiICrzQv8AMD/n13/VSqw1Xmhf5gf8+u/6qVe/J+7q84/K7EgXkPiHrLUM
Oqb+t9KXNSMw2K1ZVw1qfI6gIpTO9dx1rEEOOEZa6Pdzm9o5zXhwLhuAvXirXOepw4dajyOSvZDT
gnnyMxtWGtuWGRmc7bzsjbIGRzdP/FYGv7/K6lWqJnUig+Kua1DndU8QMQNRarp68hzFSrpvT2Is
WIaU+NeIfwjhFs0hwNkvlc4FnJ0LdgDtci/iXxc1xxGOCuWKR0/lX4jHMg1XLi2U+SGNzJpKrKsr
bAe55fvI4gjyQG8u5kHE/wBTzq3VeuM7k9PS4fADJyxyx52tm8tWu1ntjYwymrFIK80gDBsTyggN
DgdtzZ2p+AGhda5o5jOYQXctJCyC1aiszV/XjWDZonZE9rZQPceHbDp3LDNmbiqW4jU+tNea+xeo
NW5vGXcLpfEWew0/k5a1aO/JDZ7WVnLsS3ni6NOzXD2zSQNtHgqLuK3ELgJn83lMvDksroqzasyY
7KT0w+ZgqOJAie0DmMji4Do4BoO4a3b0xDofCQZzN5iOly5HNVoad+btX/hoog8Rt5ebZuwlf1aA
TzdSdhtHstwH0Nm9OadwdvCE4/T0XY4oQ3LEU1WPkDC1szJBIQWgAguPNsN99llmyJ8o5xI/J3qn
+yrX+S5SMDYAKOcSPyd6p/sq1/kuXqwO9o84+7KnXCxGe0b8i5Liz2jfkXJcZiIiICIiAiIgIiIC
IiAiIgIiICIiAq80L/MD/n13/VSqw1XczMhpjMzY7HYufO0rEs9thqPa19RznCSSKQyFrBu6YFg5
g4tcQG7Rlx92TzGbVRe0zadOjVfqsarJCi0nstnvgZlfSqX36ey2e+BmV9Kpffr05n1R/aOq2btF
pPZbPfAzK+lUvv1F7vGOtj+IWP0PYwd+LVWQqPu1scZ6vNJCzfmdzdtyjucdidyGkgbApmfVH9o6
llhotJ7LZ74GZX0ql9+nstnvgZlfSqX36Zn1R/aOpZu1HOJH5O9U/wBlWv8AJcux7LZ74GZX0ql9
+sWQx+e1Tj56EmElxVWaMtsOtWYjJIzY7xs7NzgHO9rzEgNDidiRsc8O2HXFdVUWib646kRabrBZ
7RvyLktZhs/Xy7WRFrqWSFeKxYxdl7PXNVsnNyiRrHOA6se3mBLSWO5XHZbNcViIiICIiAiIgIiI
CIiAiIgIiICL45wY0ucQ1oG5J7gtDG+xqew2SOSaliIJz7URublIzF0IduS2Lmee7lc50QIPZn8I
HGfIWdSiatiZZadMxwyszkXZSRSgyeXHCNyS7kad3lvKO0YW85Dg3bY3FU8PDJDRqxVIpJpLD2xM
DQ6SR5fI87d7nOcST5ySs1atDSrRV68TIIImCOOKJoa1jQNg0AdAAOmyyoCIiAvzx4g+pl43Z71X
VTWVbUWlaufnM2ZxcbrtoxQVKksEQgeRX84sRggAg7v3Pu/ocq/yHLNx8wHKGl1fTOR5zueZoktU
eXp3bHsnf4flQWAiIgIiINbmcFBmIXDtZqVrZoZepuDJ4w17XgB2x8kuY3dpBa4dHAgkLpw5y5jr
orZuGGIWrskNCxSEkkb4gznZ2/k7Qv6Pb1cWuLAQ4OkEY3y+OaHtLXAOaRsQe4oPqKMCrNoam31j
BLa05SqNiZjasTprUJEnVzCXbvYI3H8GAXARAMDiQ1SSOVkrS5j2vaCW7tO43B2I/UQR+pBzREQE
REBERAREQEREBEWK1P61rTTcj5ezYX8kY3c7Yb7AecoNBZEOsr1zHu5J8JUdJTyVK5j+eO690bHB
jXv8l0bQ883K1wL9m8wMcjDJFodBx8mi8I7tcpMZKkcxfmz/ALbu9ocRMB0DxzbFo6AjYdAFvkBE
RAREQFX3DgnVeodQa435qOREWOxDt9w+jAXkTjrttLLLM4Ee2jbCfc256ltS8QsrY0pjJnR4iu8M
z+Qhc5ruXYO9ZROHdI8Edo4Hdkbths+RrmTqvXiqQRwQRshhiaGMjjaGtY0DYAAdwA8yDIiIgIiI
CIiAo9fqeC5tZShEGUS+W7kadeo+eaw7kA54g078/kAloa4v67DmO5kKIMdexHbrxTwvEkUrQ9jx
3OaRuCsi0OBgmxeZy2O7C++kXNvQ3bdgTRudM+TtII9zzNDCwO5T0AlaGnYcrd8gIiICIiAiIgIi
0uY1tp7T9oVsnnMdj7JHN2Nm0xj9vd5Sd9lnTRVXNqYvK2u3SKLeNLR3wpxHpsf1qM8S7/DbivoT
M6Sz+o8VNispB2MoZfja9pBDmPad/bNe1rhv03aNwR0W3s+NwTylc2dzY6F4gaXhlqaMOpN9TUnS
0his7kInZicQlw7Z8fNzvD42CVr9vKjc157yp8vzi9RTwXo8FfVE6vv6jzeLkx+Hpmticp65YIrh
mcPwkZ323EbXBw72l+x+P3p40tHfCnEemx/WnZ8bgnlJmzuSlFFvGlo74U4j02P608aWjvhTiPTY
/rTs+NwTykzZ3JSobns7kNQZeTTmm5ewkiLRlczy8zcewjfsotxyvsub3NO4ia4SPB3jjm1GS4jV
dZ51ml9LZypA+WPnt5eKeNzoWEe0rNduJZj7uxZGOrtzysdOsHg6Gm8XDjsbWbVpw8xbG0kkuc4u
e9zjuXOc5znOc4lznOJJJJK1VUVUTauLJaz5gcDQ0xiK2MxlcVqVcEMZzFxJJLnOc5xLnvc4lznu
Jc5ziSSSStgiLBBERAREQEREBERBHrVH/iDjbjcZPJ/uu1E/JNsbRQ/ha5bC6L85z/KcHfmiJw/O
UhVMZT1QHCqHibh3y690xzwYvIQvu+EtVsNdxmp7wyR9p1kfyktcerRDIPzlc6AiIgIiICIiDpZq
47H4e9aYAXwQSStB91rSR/8ACiOkqkdbAUpAOaezEyeeZ3V80jmgue4nqSSf1d3cFJ9VfixmPmc3
0Co9pr8XMV80i+gF0MDRhT5rsbJERZoIiICIiDq5LG1stTkrWoxJE/49i0jqHNI6tcDsQ4dQQCOq
7+g8pPmtF4O9af2tmenE+WTbbndyjd23m3PXb41iWHhZ+TnTnzGL6KxxdODPhMfaei7EpREXOQRE
QERRvXWs4NFYgWHRizcnf2VWrzcvav7ySfM1o3JPuDYbkgHZh4dWLXFFEXmRucnlqOEqOt5G5XoV
W+2ntStjYPlc4gKMS8YdHQvLTnIXEdN445Hj9oaQqPydq1ncj7IZWw6/e68skg8mIb+1jb3Mb0HQ
dTsCST1WNfW4XsPDin5tc38P3cvC8fHNo336b6PL9hPHNo336b6PL9hUci3fA8m4qucdC8KC4kep
00nqn1Y2O1JXuRnh7kpPZjKuEUgbHYYd3wcu3N+FfynoNgHu9xe7vHNo336b6PL9hUcifA8m4quc
dC8Lx8c2jffpvo8v2F9Zxk0a923s3G343wyNH7S1UaifA8m4qucdC8PS2H1BjNQ13T4vIVchE08r
nVpWyBp9w7HofiK2C8sQGSlejvUp5KN+P2lquQ17fiPQhw6DyXAg7dQVevDfXw1jSmr22sgy9MNE
8bPaytPdKweZpIII72kEdRsTxcu9l1ZLT7yib0+sLr1JkiIuEjV6q/FjMfM5voFR7TX4uYr5pF9A
KQ6q/FjMfM5voFR7TX4uYr5pF9ALo4Pcz5/hdjvWHSMgkdCxsswaSxjncoc7boCdjt18+xXnbhbx
61RjOCuY1nrzFRWK9S9bgqzY+6JrN2f2Qkrx1hD2MbWbO5I2u5jzAcxDeq9Grz3DwC1dLoHUugp8
jhYsA6/Nl8DloTK65DZN4XImzxFoZyteXNJa8kjboFJvsRIG+qEn0tazNTiHpg6QtUMLLn4vWuQb
kI7NaJwbK1rwxm0rXOYOTbY842cQsFfjfnZ7FXEan0dNo6bUGLt2sJZjybbTnvih7V0UoaxphlDD
zgAuHku8rcLW5ngRqji5kM3e4i3MNRdPp2xp+hU086WaOHt3NdJZe+VrCXbxx7MA2AB3J713cdwo
11q/VWmsjr+/gmVNNU7UNRmBMz33LE8Brunl7RrRGBGX7MbzdXnyugU/yGj0lxxzGmuGHBbGRYt2
q9UarwjJmz5XLCoyR8UETpOad7Xl8rzINm7Eu2cSRsvQmPmns0K01msadmSJr5a5eH9k8gEs5h0O
x3G46HZefrHBbXzuCGB4e2KOhdRV8fUkx0kmV9ctHZsa1lWxHyscWTNAcXAefbleFdmg9P29KaJw
GFv5KTMXsdQgqT5CbfnsvZGGukO5J3cQT1JPXqSrTfaN6sPCz8nOnPmMX0VmWHhZ+TnTnzGL6KuL
3M+cfaV2JSiIucgiIgKguLOSdkuIliBziYsbVjgjae5rpPwjyPlHZA/8gV+qguLONdjOIc87mkRZ
OrHPG89znx/g3gfIOyP98Lvexc3tWnXaben4uuyUWRdfI34sXRntziUwwsL3iGF8r9h7jGAucfiA
JUVHFvT5/os5/wBO5D7hfb1YlFGiqYhrTJzg1pJIAHUk+ZUnS9VBh7uQqPZBjzhLdtlSKdmagde8
p/I2R1MeWGFxB9sXBp3LQp2zijp++9tXsc0e3PZ7P0/fY079OrjAAB17ydlHuH2hNXaDix+n2v0/
e0zQkc2K9M2UX3V9yWsLAOTmG4HPzdw9ruvJiV111U+5q0bbWndb8qxT8br9eHKZKTSxbp7F5mTD
3L/sg3tGltgQiVkXJ5Td3NJBc0jcgcwG56/EzihmJsPrmjpfCTXIMLRniu5pt8VjVnMBftCNiXvj
a5rjsW7HoDus+R4TZe3w61hgGWaQuZjOzZOu9z39m2J9tkwDzybh3K0jYAjfz+dYNQ8NNYV/DnH6
cs4WTCaqE00gybpmTVbEsAikLeRpD2u5Wnrtsfd8+iqcozbTfTHhfb+hY+i55bWjsFNNI+aaShA9
8kji5znGNpJJPeSfOtwoLj9b4rRuMoYO+3KSXcfWhrTOp4W9PEXNjaCWyMhLXD4wVn8bunj/AEWd
/wCnch9wvbTi4cRETVF/NEzW20VknYfXuAsscWiac0pQPz2StIA/xiN391RvC5qtn8dHdqCw2B5I
AtVpa8nQ7HdkjWuHd5x1Uk0TjXZnXuArMbzNgnN2Uj8xkbSQf8ZjH95TKJonArmrVafsyp1vSCIi
/MFavVX4sZj5nN9AqPaa/FzFfNIvoBSnM03ZHEXqjCA+eCSIE+YuaR/9qIaSuR2MDThB5LNaFkFi
B3R8MjWgOY4HqCD+0bEdCF0MDThTHiuxuERFmgiIgIiICw8LPyc6c+YxfRWPJ5StiKj7NqURxt6A
d7nuPQNa0dXOJIAaNySQB1K2GhMXPhNGYSjaZ2dmCnEyWPffkfyjdu/n2PTf4lji6MGfGY+09V2N
6iIucgiIgKOa50ZBrXDis+QVrcL+1q2uXmMT+7qOm7SNwRv3HoQQCJGi2YeJVhVxXRNpgeXcrUta
fyHrDLVzj7nXla87slH9aN/c8d3d1G43DT0WNenMli6WZqPq36kF6s/20NmJsjD8rSCFGJeEGjpX
FxwNdpPXaNz2D9gIC+twvbmHNPzaJv4fstCikV5eJvRvvHF+9k+0nib0b7xxfvZPtLd8cybhq5R1
LQo1FeXib0b7xxfvZPtJ4m9G+8cX72T7SfHMm4auUdS0KNRXl4m9G+8cX72T7S+s4O6NY7f2Cgd8
T3vcP2F2yfHMm4auUdS0b1F1hLkLzKNGCS/ff7WrXAc8/GeuzR1HlOIA36lXtw40ENG0Zp7T2T5e
3ymeRntI2j2sTD3loJJ3PVxJOwGzWyLEYLG4CuYMZQrY+EncsrRNjDj7p2HU/GV31xMu9qVZXT7u
iLU+srq1CIi4aC0uY0Vp/UNgWMpg8bkZwOUS2qkcjwPc3cCdlukWVNdVE3pm0mpFvFXoz4J4T+Hx
fZTxV6M+CeE/h8X2VKUW7tGNxzzlbzvRbxV6M+CeE/h8X2U8VejPgnhP4fF9lSlE7Rjcc85LzvRb
xV6M+CeE/h8X2U8VejPgnhP4fF9lSlE7Rjcc85LzvaPFaG05grLbOOwGMoWG78s1apHG9u/fsQNx
ut4iLVVXVXN6pumsREWAIiICIiAiIgIiICIiAiIgIiICIiD/2Q==
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104449'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2264185879181d-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '7675'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:44:14 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:43:25 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=BMgrbMpmlCjp34m9Aiy%2Fru6Cjwu681j9GKsdderzxtwDhHm9G%2BvQauaJ%2Fcv56F3TAn7KWg4JcXKBd72LmS9T1mHr8LyH43qp0%2By8C%2B6uLFNoOEElPXPtHwleQY9KzA%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
-166
View File
@@ -1,166 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "my favorite
pets are cats and dogs"}], "model": "claude-3-haiku-20240307", "temperature":
0.0, "tools": [{"name": "update_favorite_pets", "description": "Add the list
of favorite pets.", "input_schema": {"type": "object", "properties": {"pets":
{"description": "List of favorite pets to set.", "type": "array", "items": {"type":
"string"}}}, "required": ["pets"]}}, {"name": "delete_favorite_pets", "description":
"Delete the list of favorite pets.", "input_schema": {"type": "object", "properties":
{}}}, {"name": "list_favorite_pets", "description": "List favorite pets if any.",
"input_schema": {"type": "object", "properties": {}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '700'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQTU/CQBCG/0ozFy9L0kIV3KtBEy5yED9CzGZpRyhsd2tnhohN/7vZEqKeJvPO
vM98dFCVoKGmrUmzp002W5abOQm2D6tjPl9+311PQQGfGoxdSGS3CAra4KJgiSpi6xkU1KFEBxoK
Z6XE0WS0s9VBRuN0nKeTNFKK4Bk9g153FyLjV/QOQcPjwZ5U4pCvKJGmtIzJKUibfNhjaCvGpEEm
Db369YfgjFBcabgj5mLSbGF3q/rtdZzTanH/ciP79jbbP4MCb+voO9PNBWwiODJ8Iwy6gyHXayjs
oJdhS/De9+8KiENjWrQU/P/5Q4HwU9AXCNqLcwpk+JfuzmTD4YCeQOeTmYIg/Febpn3/AwAA//8D
AAnl5U6OAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226418d9607d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:14 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_012DXZcYQjyN7MhU5FDxjtcE
via:
- 1.1 google
x-cloud-trace-context:
- df7daff27fed534057329e4a2073231e
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "my favorite
pets are cats and dogs"}, {"role": "assistant", "content": [{"text": "Okay,
let''s update your favorite pets:", "type": "text"}, {"type": "tool_use", "name":
"update_favorite_pets", "input": {"pets": ["cats", "dogs"]}, "id": "toolu_01JahUmYX24sUJFW6ujr91jV"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "null", "tool_use_id":
"toolu_01JahUmYX24sUJFW6ujr91jV", "is_error": false}]}], "model": "claude-3-haiku-20240307",
"temperature": 0.0, "tools": [{"name": "update_favorite_pets", "description":
"Add the list of favorite pets.", "input_schema": {"type": "object", "properties":
{"pets": {"description": "List of favorite pets to set.", "type": "array", "items":
{"type": "string"}}}, "required": ["pets"]}}, {"name": "delete_favorite_pets",
"description": "Delete the list of favorite pets.", "input_schema": {"type":
"object", "properties": {}}}, {"name": "list_favorite_pets", "description":
"List favorite pets if any.", "input_schema": {"type": "object", "properties":
{}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1078'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yP3UrDQBCFX2U51xtJWquwd6XojQgKghSRsGbHNjSZjZnZEhPy7pKi4NWB7/zA
mVAHOLRyKPPiZtBtfz8+PvOu3T6M+3F4eXq9g4V+d7SkSMQfCBZ9bBbgRWpRzwqLNgZq4FA1PgXK
1tnR16eUrfLVdb7Ob2FRRVZihXub/haVhqV7EYd9TL359OfY10qmIxVz9GcyH0RsUhe8UjAaTeVV
jOdgQjzIFeZ3C9HYlT15iQwH4lBq6hm/htBXIq4IjlPTWKTLDTeh5i5pqfFELHCbVWERk/5nxWae
fwAAAP//AwAkmYIBJQEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22641dd85c7d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:15 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_014qAYuxj8ijupvxJoXBsEbS
via:
- 1.1 google
x-cloud-trace-context:
- 6ed1d238840ac4d83f3c4b71c918af78
status:
code: 200
message: OK
version: 1
-164
View File
@@ -1,164 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what are
my favorite pets?"}], "model": "claude-3-haiku-20240307", "temperature": 0.0,
"tools": [{"name": "update_favorite_pets", "description": "Add the list of favorite
pets.", "input_schema": {"type": "object", "properties": {"pets": {"description":
"List of favorite pets to set.", "type": "array", "items": {"type": "string"}}},
"required": ["pets"]}}, {"name": "delete_favorite_pets", "description": "Delete
the list of favorite pets.", "input_schema": {"type": "object", "properties":
{}}}, {"name": "list_favorite_pets", "description": "List favorite pets if any.",
"input_schema": {"type": "object", "properties": {}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '692'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SPzWrDMBCE32XPMvivpOjWtEmg+OBi6KUUIexNbCJLineVYozfvcil0B5ndvbb
nQWGDiSMdFFpdnivsWre9g/Pp7m7NZX3+7suQQDPHmMKifQFQcDkTDQ00UCsLYOA0XVoQEJrdOgw
KZJeD9eQ5GlepkW6AwGts4yWQX4sv0R2zqhAEbn9EXVQaXbKvg7107EYsz6v++PwOlcvugEBVo9x
zwzE6qzvbhoYlUemSLA+MMhlXT8FEDuvJtTk7P8724DwFtC2CNIGYwSErZdcfhiK3RUtgSyLnQAX
+K9XPK7rNwAAAP//AwD0u4b8NgEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264211ca67d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:16 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01YEa7nkfD47qbQHnVPBYhJk
via:
- 1.1 google
x-cloud-trace-context:
- 7c0114aa8b2a4e8c16c2d8daf636cd57
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what are
my favorite pets?"}, {"role": "assistant", "content": [{"type": "tool_use",
"name": "list_favorite_pets", "input": {}, "id": "toolu_01G1wEPAF3m1h2PhFiJyLDaS"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "cats, dogs",
"tool_use_id": "toolu_01G1wEPAF3m1h2PhFiJyLDaS", "is_error": false}]}], "model":
"claude-3-haiku-20240307", "temperature": 0.0, "tools": [{"name": "update_favorite_pets",
"description": "Add the list of favorite pets.", "input_schema": {"type": "object",
"properties": {"pets": {"description": "List of favorite pets to set.", "type":
"array", "items": {"type": "string"}}}, "required": ["pets"]}}, {"name": "delete_favorite_pets",
"description": "Delete the list of favorite pets.", "input_schema": {"type":
"object", "properties": {}}}, {"name": "list_favorite_pets", "description":
"List favorite pets if any.", "input_schema": {"type": "object", "properties":
{}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '982'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAAzxPy2rDMBD8FTFnuTiPNkTHtLfSXEppoBQjrI1j4qxc7arUGP97cfo4zTCPXWZE
G+BwkaYqF7uHx2Fz/9S/+APfPu+3+8a/3h1goUNPc4pEfEOwSLGbBS/SinpWWFxioA4OdedzoGJV
nHx7zsWyXK7LVbmBRR1ZiRXubfy7qPQ1d6/gsPNCwUQ2eiITs/ZZrRliTuboP2NqlUxPKsYnMrWf
CQcTYiM3mN4tRGNfJfISGQ7EodKcGL+G0EcmrgmOc9dZ5OsUN6LlPmul8UwscOttafHz+19bbKbp
GwAA//8DADNBU2UpAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264255a357d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:16 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01K5fW82CXS8KAseCYxUj1Up
via:
- 1.1 google
x-cloud-trace-context:
- b30a38cdc34841db989f49402066a77c
status:
code: 200
message: OK
version: 1
-165
View File
@@ -1,165 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "please forget
what i told you about my favorite animals"}], "model": "claude-3-haiku-20240307",
"temperature": 0.0, "tools": [{"name": "update_favorite_pets", "description":
"Add the list of favorite pets.", "input_schema": {"type": "object", "properties":
{"pets": {"description": "List of favorite pets to set.", "type": "array", "items":
{"type": "string"}}}, "required": ["pets"]}}, {"name": "delete_favorite_pets",
"description": "Delete the list of favorite pets.", "input_schema": {"type":
"object", "properties": {}}}, {"name": "list_favorite_pets", "description":
"List favorite pets if any.", "input_schema": {"type": "object", "properties":
{}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '721'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SPQU/DMAyF/4vPqdSuFaU5M22HHjYNDgihKGq8rixNSu1QRtX/jlKEBMf3/PzZ
b4bOgISeWpVmx1OxK6equmXnsDt8Pd09mOptCwL4NmBMIZFuEQSM3kZDE3XE2jEI6L1BCxIaq4PB
JE8uuruGZJNuijRPSxDQeMfoGOTL/Etk760KFJHrH1EHlWaHYgpDWx/b+nH6PD0b3Nfl9gICnO7j
nkGLjOqsP/zYMaoBmSLDDYFBzsvyKoDYD2pETd79v7QOCN8DugZBumCtgLA2k/MPQ7G/oiOQRZEJ
8IH/evn9snwDAAD//wMA+TpaPDgBAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264295ea07d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:17 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01YNnZBauFHN1YpVfSk9uK1b
via:
- 1.1 google
x-cloud-trace-context:
- 47b1a9fb296aab8115da18fd5d101d9c
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "please forget
what i told you about my favorite animals"}, {"role": "assistant", "content":
[{"type": "tool_use", "name": "delete_favorite_pets", "input": {}, "id": "toolu_01P4wupgLQgLTwxSYdeHL7Eh"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "null", "tool_use_id":
"toolu_01P4wupgLQgLTwxSYdeHL7Eh", "is_error": false}]}], "model": "claude-3-haiku-20240307",
"temperature": 0.0, "tools": [{"name": "update_favorite_pets", "description":
"Add the list of favorite pets.", "input_schema": {"type": "object", "properties":
{"pets": {"description": "List of favorite pets to set.", "type": "array", "items":
{"type": "string"}}}, "required": ["pets"]}}, {"name": "delete_favorite_pets",
"description": "Delete the list of favorite pets.", "input_schema": {"type":
"object", "properties": {}}}, {"name": "list_favorite_pets", "description":
"List favorite pets if any.", "input_schema": {"type": "object", "properties":
{}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1007'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SPT0vDQBDFv8ow522JaVDcaykiBQ/qTSRss9Nm6WYm7s6WhpLvLi0Kenrwe3/g
XTB4tDjkQ1vdPfGmvG75PI1Tc1+v/fpl698GNKjTSNcU5ewOhAaTxCtwOYesjhUNDuIposUuuuJp
sVr0LhzLoq7qplpVD2iwE1ZiRftx+V1UOl+7N7H4DL07EXiKpORBe4LAe0mD0yAMbidFYZKSYO9O
koISjKR5Ce89QQxZQfb/Lehdhh0RQxfJJfJLnD8NZpWxTeSyMFok9q2WxPhjZPoqxB2h5RKjwXI7
bS8YeCzaqhyJM9rmsTYoRf+yejXP3wAAAP//AwAfeAOhUwEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22642d5b287d18-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:18 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_014cbfoh7Rw7FNsEJP4cxFAJ
via:
- 1.1 google
x-cloud-trace-context:
- f77bf5cf43dc2a3b43753257332c2708
status:
code: 200
message: OK
version: 1
@@ -1,445 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the latest news about FooBar", "role":
"user"}, {"content": null, "role": "assistant", "tool_calls": [{"type": "function",
"id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty", "function": {"name": "get_context", "arguments":
"{\"question\": [\"latest news about FooBar\"]}"}}]}, {"content": "FooBar company
just raised 1 Billion dollars!\n\nFooBar company is now only hiring AI''s\n\nFooBar
company was founded in 2019\n\nFooBar company makes friendly robots", "role":
"tool", "tool_call_id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty"}, {"content": "Here
are some of the latest news about FooBar:\n\n1. FooBar company just raised 1
Billion dollars!\n2. FooBar company is now only hiring AI''s.\n\nWould you like
more details on any of these updates?", "role": "assistant"}, {"content": "where
did you get this information?", "role": "user"}], "model": "gpt-4o", "n": 1,
"stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_context", "description": "Get context on the question.", "parameters":
{"type": "object", "properties": {"question": {"description": "The user question",
"type": "array", "items": {"type": "string"}}}, "required": ["question"]}}},
{"type": "function", "function": {"name": "cite_context_sources", "description":
"Cite which source a claim was based on.", "parameters": {"type": "object",
"properties": {"claim": {"description": "The claim that was made.", "type":
"string"}}, "required": ["claim"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1474'
content-type:
- application/json
cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
_cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA9RTTY/TMBC951cMc+HSoiRt0yW3FgFaylKBtEtZiiKv6ybeOp5gO9uGqv99lfQr
2wPiig+RM8/vzfh5ZusBoFxgDMgz5nheqO4oWo2fPvv9u6fJ79HkangTzlhvOht9u/1U3WKnZtDD
o+DuyHrDKS+UcJL0HuZGMCdq1WAYRsHQv3obNEBOC6FqWlq4bp+6oR/2u/6gG/QOxIwkFxZj+OkB
AGybb12iXogNxuB3jpFcWMtSgfHpEAAaUnUEmbXSOqYdds4gJ+2ErqvWpVItwBGphDOlzon3a9va
n31iSiXujxXv3pc/3GSl7lMz1uuP2Sqf3bTy7aWroiloWWp+8qeFn+LxRTIA1CxvuFw6kTTFb1xi
qTS1Q53L08ykZS60q++A2zlyxWQ+xxjm+IFozAzUr8R0BY+ldWCYtGIBAYylUpI0LEgpZuyrOe7w
hfau9bfr/JM719NsGFniMtp89+831XT9pfdVB/n/4I60oGkNpFUFmTRSpzC6fm3/bstp/6vVVkYs
S8vUod+8CwdRUVoYerAX/YhLqaXNEiOYbW7ebk/vmK3Jg+WLCcDCUF64xNFK6Fo2DIK9Kp4H9IxG
gwPoyDHVYg0j71An2so6kSdLqVNhCiOb6cFlkYSDKOwz0WMD9HbeMwAAAP//AwA1QBJrRgQAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2273a99e7343ec-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:52 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '819'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999873'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a6072453affd1d9e3f53293fb3e506b5
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "Which of the following documents best justifies
the claim:\n\nFooBar company just raised 1 Billion dollars!", "role": "system"},
{"content": "Document 0:\nFooBar company just raised 1 Billion dollars!\n\nDocument
1:\nFooBar company is now only hiring AI''s\n\nDocument 2:\nFooBar company was
founded in 2019\n\nDocument 3:\nFooBar company makes friendly robots", "role":
"user"}], "model": "gpt-4o", "n": 1, "parallel_tool_calls": false, "stream":
false, "temperature": 0.0, "tool_choice": {"type": "function", "function": {"name":
"Cite"}}, "tools": [{"type": "function", "function": {"name": "Cite", "description":
"Return the index(es) of the documents that justify the claim", "parameters":
{"type": "object", "properties": {"indexes": {"type": "array", "items": {"type":
"integer"}}}, "required": ["indexes"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '844'
content-type:
- application/json
cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
_cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFLLbtswELzrK4g9W4VEW3arm120RR9o2qLNJQkEml7JbPgKSbVODP97
QUmxFKM8EMQOZ2c4y2NCCIgdlAT4ngWurEzXy/vNX5P7z+++0XWrvz6sN+32/eKXbq4OEmaRYba/
kYdn1itulJUYhNE9zB2ygLFrvqLLfJW9fkM7QJkdykhrbEgXJqUZXaRZkebzgbg3gqOHktwkhBBy
7PZoUe/wACXJZs8Vhd6zBqE8XyIEnJGxAsx74QPTAWYjyI0OqKNr3Uo5AYIxsuJMylG4X8fJecyJ
SVnly49zunr4/vTh8PNLuP6z/vFJba6viole3/rRdobqVvNzPhP8XC8vxAgBzVTHfSsCXvAIAeaa
VqEO0TMcb/uE0N9CeZPdneDF9VPyv/PdJAKHdeuZHLIZ6qdz2NI01pmtv8gOaqGF31cOme/eAD4Y
22tHnU4B2hdzAuuMsqEK5h51bJjPad8Pxm80osWABROYnJJWyWAQ/KMPqKpa6AaddaIbMdS2osWS
LhjOWQHJKfkHAAD//wMA1j5Y6esCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2273b05d6243ec-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:53 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '145'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999904'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_0984520d0ad10457e411c7d8c849c35e
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "Which of the following documents best justifies
the claim:\n\nFooBar company is now only hiring AI''s", "role": "system"}, {"content":
"Document 0:\nFooBar company just raised 1 Billion dollars!\n\nDocument 1:\nFooBar
company is now only hiring AI''s\n\nDocument 2:\nFooBar company was founded
in 2019\n\nDocument 3:\nFooBar company makes friendly robots", "role": "user"}],
"model": "gpt-4o", "n": 1, "parallel_tool_calls": false, "stream": false, "temperature":
0.0, "tool_choice": {"type": "function", "function": {"name": "Cite"}}, "tools":
[{"type": "function", "function": {"name": "Cite", "description": "Return the
index(es) of the documents that justify the claim", "parameters": {"type": "object",
"properties": {"indexes": {"type": "array", "items": {"type": "integer"}}},
"required": ["indexes"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '837'
content-type:
- application/json
cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
_cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSy27bMBC86yuIPVuFJfmR6NakRQMYKIq2Rg9JIND0SmZNkSy5ShMb/veAkmIp
RnggiB3OznCWx4gxkFvIGYgdJ1FbFX9e7G+e3Z+vq0P6n+SmOayW7kmv1KH59quBSWCYzV8U9Mb6
JExtFZI0uoOFQ04YuibLdJEsp1fXWQvUZosq0CpL8czE6TSdxdN5nGQ9cWekQA85u48YY+zY7sGi
3uIz5Gw6eavU6D2vEPLzJcbAGRUqwL2XnrgmmAygMJpQB9e6UWoEkDGqEFypQbhbx9F5yIkrVfx+
+qKr9eZu/XPN7/59v0r2tz+yxTUf6XWtX2xrqGy0OOczws/1/EKMMdC8brm3kvCCxxhwVzU1agqe
4fjQJYT+AfL75PEE766foo/Oj6MIHJaN56rPpq+fzmErU1lnNv4iOyilln5XOOS+fQN4MrbTDjqt
AjTv5gTWmdpSQWaPOjRMsrTrB8M3GtB5j5EhrsakZdQbBP/iCeuilLpCZ51sRwylLdL5Ip1xzPgc
olP0CgAA//8DAG2J+7vrAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2273b07a2932e8-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:53 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '234'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999905'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_7590d438e0b5ba904d178e9cc3d3b9a7
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the latest news about FooBar", "role":
"user"}, {"content": null, "role": "assistant", "tool_calls": [{"type": "function",
"id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty", "function": {"name": "get_context", "arguments":
"{\"question\": [\"latest news about FooBar\"]}"}}]}, {"content": "FooBar company
just raised 1 Billion dollars!\n\nFooBar company is now only hiring AI''s\n\nFooBar
company was founded in 2019\n\nFooBar company makes friendly robots", "role":
"tool", "tool_call_id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty"}, {"content": "Here
are some of the latest news about FooBar:\n\n1. FooBar company just raised 1
Billion dollars!\n2. FooBar company is now only hiring AI''s.\n\nWould you like
more details on any of these updates?", "role": "assistant"}, {"content": "where
did you get this information?", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_tzseCEuYtKklZgrBnwGhkmXM", "function":
{"name": "cite_context_sources", "arguments": "{\"claim\": \"FooBar company
just raised 1 Billion dollars!\"}"}}, {"type": "function", "id": "call_IOh76soci6xW0ZxyOwN3Qn1m",
"function": {"name": "cite_context_sources", "arguments": "{\"claim\": \"FooBar
company is now only hiring AI''s\"}"}}]}, {"content": "twitter", "role": "tool",
"tool_call_id": "call_tzseCEuYtKklZgrBnwGhkmXM"}, {"content": "twitter", "role":
"tool", "tool_call_id": "call_IOh76soci6xW0ZxyOwN3Qn1m"}], "model": "gpt-4o",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_context", "description": "Get context on the question.",
"parameters": {"type": "object", "properties": {"question": {"description":
"The user question", "type": "array", "items": {"type": "string"}}}, "required":
["question"]}}}, {"type": "function", "function": {"name": "cite_context_sources",
"description": "Cite which source a claim was based on.", "parameters": {"type":
"object", "properties": {"claim": {"description": "The claim that was made.",
"type": "string"}}, "required": ["claim"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2073'
content-type:
- application/json
cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
_cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJHNa9tAEMXv+iuGveRiBUvyR+NbDC0khLqFQENLMWNpJG2y2ll2Vthu
8P9eVv5KLnt4v3nDm7fvCYDSlVqAKlsMZedMej97W+6K1Xz13f778fvx18ru/MtX7bby9PJTjaKD
N69UhrPrtuTOGQqa7RGXnjBQ3JrN81k2H3+5KwbQcUUm2hoX0gmn+TifpONpmhUnY8u6JFEL+JMA
ALwPb4xoK9qpBYxHZ6UjEWxILS5DAMqziYpCES0BbVCjKyzZBrJD6ueWQNuafYcxNeCG+wDfmJfo
IV6Ddg8etWjbQAZLbUwcq9gY9AJoK2Br9tBqHyfuH24Etigg3PuSKqg9d/C81SGQv/2YwVPdC8YK
bG/MST9cjjLcOM8bOfGLXmurpV17QmEbD5DATg30kAD8HcrrP/WhnOfOhXXgN7JxYX6XH/ep63d9
oGcYOKC56kU2SU4JlewlULeutW3IO6+PXdZunU9n+QSpwKlKDsl/AAAA//8DAM0A+bpUAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2273b2ffe543ec-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:53 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '488'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999866'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_abec7ed34154f1967647c0c85860b76e
status:
code: 200
message: OK
version: 1
@@ -1,217 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the latest news about FooBar", "role":
"user"}], "model": "gpt-4o", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_context", "description": "Get
context on the question.", "parameters": {"type": "object", "properties": {"question":
{"description": "The user question", "type": "array", "items": {"type": "string"}}},
"required": ["question"]}}}, {"type": "function", "function": {"name": "cite_context_sources",
"description": "Cite which source a claim was based on.", "parameters": {"type":
"object", "properties": {"claim": {"description": "The claim that was made.",
"type": "string"}}, "required": ["claim"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '706'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSy2rjMBTd+yvEXdeD7SRO6l3TFwNT6GSg0DbFKMq141aWXOmaNhPy74MUN3bD
aGHEPToPH2kXMAbVGjIGYsNJ1I0ML9K3ebu4Womfsn2IF+nFn/vq/vr34+Pl+HIGZ46hV68o6Iv1
Q+i6kUiVVgdYGOSETjWeJmk8jWbnkQdqvUbpaGVD4ViHSZSMw2gSxqOOuNGVQAsZew4YY2znvy6i
WuMnZMzL+EmN1vISITseYgyMlm4C3NrKElcEZz0otCJULrVqpRwApLXMBZeyNz6s3WDf98SlzOOP
6cJc3T79Sjgm88Xo6S55+FvTduB3kN42PlDRKnHsZ4Af59mJGWOgeO25JVLus3/SCZ0x4KZsa1Tk
osNuCe8tWie4hOx5CZITWmIKPyzjK90Su9F6zs0SXvbwTWof/G//MmjJYNFaLrv6uvn+eB9Sl43R
K3tSLxSVquwmN8it/81h28GXm/eB9tuFQmN03VBO+g2Vk51ND6LQP7cejM87kDRxOZhHadDFBLu1
hHVeVKpE05jKvwUomjyZpMmY44hPINgH/wAAAP//AwCRIq0nFAMAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22739f0a7443ec-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:50 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
path=/; expires=Thu, 12-Sep-24 20:24:50 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '281'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999973'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_847cdd27b2bd487528247dca34f11e88
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the latest news about FooBar", "role":
"user"}, {"content": null, "role": "assistant", "tool_calls": [{"type": "function",
"id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty", "function": {"name": "get_context", "arguments":
"{\"question\": [\"latest news about FooBar\"]}"}}]}, {"content": "FooBar company
just raised 1 Billion dollars!\n\nFooBar company is now only hiring AI''s\n\nFooBar
company was founded in 2019\n\nFooBar company makes friendly robots", "role":
"tool", "tool_call_id": "call_1w7RrDGZL2ae2BR3ZM2Vzmty"}], "model": "gpt-4o",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_context", "description": "Get context on the question.",
"parameters": {"type": "object", "properties": {"question": {"description":
"The user question", "type": "array", "items": {"type": "string"}}}, "required":
["question"]}}}, {"type": "function", "function": {"name": "cite_context_sources",
"description": "Cite which source a claim was based on.", "parameters": {"type":
"object", "properties": {"claim": {"description": "The claim that was made.",
"type": "string"}}, "required": ["claim"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1170'
content-type:
- application/json
cookie:
- __cf_bm=cG4kr1ppK1g8sj5yIhmN1BJ_aJlDy5k88mnQ.mim9pY-1726170890-1.0.1.1-cme6TvzpA0dQ4FUyLDuhSJutk1i71DUkswti2vKI9mjTP_tKFW56045UgJv7FRBi7zLKUCv9Czq_IFW1TBZ48A;
_cfuvid=7gpwk9UNPB1b1ikhcH9ycmE8s2xESd0JZq2bhDozIkM-1726170890581-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//ZFLLbtswELzrK7a89BIbluJHokthtyjcQw8FUrRAHRi0tJJoU1yWu0Ji
BP73gLJqJ+iFAGc4g9lZviQAypQqB1U0WorW29Fyflh1X+7Wxe+Hz5lZ/gjr7/55nj38/Vnt9uom
Kmi3x0L+qcYFtd6iGHJnugioBaNrusjm6WJydz/piZZKtFFWexlNaZRNsuloMhult4OwIVMgqxz+
JAAAL/0ZI7oSn1UOvU2PtMisa1T55RGACmQjojSzYdFO1M2VLMgJuj71GgOCDghMLQJVIA2C1YIs
4PCJQe+oE/hKtNIh37iNS8fDDeKw2h1h37FA0IaxhBRWxlpDDkqyVgf+sHHZfwrD4OgJyNkjNCYY
V8Py20ceR/9f1NkSjtSBNQeElgJCiaKNZSAHUX6OyQidL2PUT2+HC1h1rGO3rrN2wE+XtizVPtCO
B/6CV8YZbrYBNZOLzbCQVz17SgAe+61074pWPlDrZSt0QBcN09mwFXX9B1d2uhhIIdH2jep+kQwJ
FR9ZsN1WxtUYfDDnJVV+m83m2VTjrZ6p5JS8AgAA//8DAE2xyH6tAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2273a2be4143ec-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:54:51 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '928'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '30000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '29999932'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_9aca0910ecb4b7b2d4e8cbe6b16c44ba
status:
code: 200
message: OK
version: 1
@@ -1,223 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJYWN0aW9uKGFjdGlvbikKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGFnZW50OwoJYWN0aW9uIC0tPiBhZ2VudDsKCWFnZW50IC0uICZuYnNwO2NvbnRpbnVlJm5ic3A7IC4tPiBhY3Rpb247CglhZ2VudCAtLiAmbmJzcDtlbmQmbmJzcDsgLi0+IF9fZW5kX187CgljbGFzc0RlZiBkZWZhdWx0IGZpbGw6I2YyZjBmZixsaW5lLWhlaWdodDoxLjIKCWNsYXNzRGVmIGZpcnN0IGZpbGwtb3BhY2l0eTowCgljbGFzc0RlZiBsYXN0IGZpbGw6I2JmYjZmYwo=?bgColor=!white
response:
body:
string: !!binary |
/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdC
IFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAA
AADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlk
ZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAA
ABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAA
AAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAA
AABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEA
AAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAA
ACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgMCAgMDAwMEAwME
BQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQME
BAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBT/wAARCAERAPsDASIAAhEBAxEB/8QAHQABAAMAAwEBAQAAAAAAAAAAAAUGBwMECAECCf/E
AFMQAAEEAQIDAgYMCgYIBgMAAAEAAgMEBQYRBxIhEzEVFiJBlNEIFBcyUVRVVmFx0tMjNlN0dYGS
k5W0NDdCUnOxJCUzNUORpLMYREdjZIShwcP/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQIDBQQH/8QA
MxEBAAEDAQUFBgYDAQAAAAAAAAECAxEhBBIxUXETFGGR0SMzQVOhsUJSYpKywTLh8PH/2gAMAwEA
AhEDEQA/AP6poiICIiAiIgIiICIoLLZa3YyAxOJDfbnKH2bcjeaOow93T+1I7ryt7gAXO6bB16aZ
rnEJiMpmeeKtGZJpGRRjvc9wAH6yo86qwoOxy9AH85Z610IeH+Fc9s2QrDOXNtjbyoE7z136AjlZ
9TGtH0Lv+K2FA/3RQ9GZ6lrizHGZk0fPGrCfLFD0pnrTxqwnyxQ9KZ6198VsL8kUPRmepPFbC/JF
D0ZnqT2Pj9E6PnjVhPlih6Uz1p41YT5YoelM9a++K2F+SKHozPUnithfkih6Mz1J7Hx+ho+eNWE+
WKHpTPWnjVhPlih6Uz1r74rYX5IoejM9SeK2F+SKHozPUnsfH6Gjs08vRyJIq3a9kjzQytf/AJFd
tQVzQunb4/DYPHud5nisxr2/SHAAg/SCunLHc0WDYjns5TBg7zQzO7Wem3+/G730jB3lriXAblpO
wYW5RXpROvKfVGIngtKL8RSsnjZJG9skbwHNe07hwPcQV+150CIiAiIgIiICIiAiIgIiICIiAiIg
IiIPxNK2CJ8jzsxjS5x+ABV7h9EZNM1slKB7by3+sbDhvuXSAFoO/wDdYGMH0MCnb1YXaViuTsJo
3Rk/WNlD6AsGxorCcwLZYqscErXDYtkjHI8bfQ5rh+pbx7mrHOP7T8E+ir2q+IeldBmqNTamw+nT
a5va/ha/FV7bl25uTtHDm25m77d3MPhUCPZB8LS0u90rSHKCAT4eq7A/vPoKwQ7/ABO4nYzhXhKW
QyNS/kZchfhxlHH4yES2LVmXfkjYHOa3chrju5wGwPVZzr72Qud09m+GMeM0JqCeDUty5Fcx09aC
O+wQwTOETGvsNY1/NGH7klpjaSHbkAyHEjWOj+L2kZ8LpynguMD2zRy2cLiNQVWWa8YJ2sxv7Qcj
2O5djzMPldHDz0epw94pYnSHC7OXsdNqnUWlM7dtvw1jKROueD54rEEUbrTyI5ZomSx7uJAdsepP
eGo8ReOlbhm4y5LR+rLmMgptv3srjscyarQiO/MZXdoCSwNJcIw8tHXuIX4znsgMTjddQ6RxmBz2
p8zNiYM3EMNXhfE6pLI+MSdpJKxo2LNzzEbhzeXmO4GQ8YeEesuJWodVz5LQTNTszuBgq4F2Qy8L
aumbDoHNnD4y480gkcHiWJry7la3doG6vfB/h/qbB8SaWczGHdjag0FiMLIX2IZCy5BLO6aLyHkn
YPYeYeSd+h3BADv8HeNOd4ha715g8lpPJUKeFzU1CtkeSBteONkEDhHKRO55lcZHPBazl5XN3IO4
GyLD9IR5zhDxG4hzZzE14NDZzLnPeNs2TrwV6TTUhidFNHI8PB54QA4At8sEkbK4D2QvCw/+pej/
AOPVfvEGgIqRjOOXDjNZGtj8dxA0tfv2ZGwwVauarSSyvcdmta1ryXEnoAOpV3QVjQ+1BuWwjdhD
ibnYV2t32bA+NksbRv5miTkH0MCs6rOlG+2M5qm+3fspbzYIyRtuIoWMcR8Pl84/UrMvRf8AeZ6Z
64jP1WniIiLzqiIiAiIgIiICIiAiIgIiICIiAiIgKsTNdo7JWrjY3SYO7IZrPZtLnU5jsDLy+eJ2
27turXeUQWue5lnRaUV7uYnWJTEurGaeWrxWGGC5A9vNHK3lka4Hzg9xH1L74NqfFYf3Y9ShbWg8
XLPJPUdbxE8hJe7GWXwNeSdyXMaeQknzlu/f16lcR0RP5tUZ4fR28X3a03LU8KsdY9MmIWOGpBXJ
MUMcZPQljQFyqreJE/zpz37+L7pPEif50579/F90nZ2/z/SU4jmtKLK9Z4zK4LUeg6VTVOY7DM5q
Shb7WaHm7JuOu2Byfgx5XaV4/h8nm6ecWvxIn+dOe/fxfdJ2dv8AP9JMRzWd8bZWFr2h7T3tcNwV
weDKZ/8AKQfux6lX/Eif50579/F90niRP86c9+/i+6Ts7f5/pJiOawsoVY3Bza0LXA7giMAhRGXz
8k9h+JwrmWMsfJkl254qLT3vl28+x3bH3vO3c3me3reIUM+7buZzd+IjYxSX3RNd9fZcm/1efz9F
PY3F1MPUbWo1oqldpJEcLA0bnvPTvJ8586ezo1id6emn/eBpD8YbEV8Di61CqHdhAzlBeeZzj3lz
j53EkknzkkruoiwmZqnM8VRERQCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgz/iWWjWnCfmJB
Opp+XYd58DZP6R5t/h+rzjQFn/Evfxz4T7Fu3jNPvzBu/wDubJ92/Xf6uu2/m3WgICIiAiIgIiIC
IiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIM94mgHWvCTd7W7ann2DgSXf6lyfQdOh8/m6A/
UdCWe8TeXx14Sbkg+M8+2zd9z4Fyf/L6/WtCQEREBERAREQEREBERAREQEREBERAREQEREBERARE
QEREBFWszqi1FkZMdiKcNy3AGusS2ZjFDDzbFrdw1xc8jrygdBtuRuN43w5rD4jg/Spvu16qdmrq
jOkdZhOF3RUjw5rD4jg/Spvu08Oaw+I4P0qb7tW7rXzjzgw8teys9ms/g9xuwunLWg7F9mm7zMtX
unINiF9k2PngIY0wu5OV9p43BO5iI7nL13w+1FkdXaJwuby2H8X7+QrMsyYwz9s6uHjdrXP5W7u5
SNxyjY7jrtusK4z+x9l44az0ZqTO0MM21pyz2pjZNIW3YQeYQSbx+9Dxv0+Fw8+41/w5rD4jg/Sp
vu07rXzjzgwu6KkeHNYfEcH6VN92nhzWHxHB+lTfdp3WvnHnBhd0VLbqnUWPaZ8jiqM9RnWXwfZk
dM1vTctY6Mc+w3O24PTpudgrfVtRXa0NiCRssEzBJHI07hzSNwR9YWNy1Vb1qMOVERYoEREBERAR
EQEREBERAREQEREBERAREQEREFBwZ31HrHfv8KtG/wD9OsptQeC/GPWX6Wb/ACdZTi69zjHSPtCZ
ERFmgREQEXRyOcx+Hmow3rsFSa/OK1WOaQNdPLyudyMB987la47DzNJ8y7yAuLhcd+G2l/0ZXGw8
34Nq5Vw8Lf6ttL/o2v8A9sKt33M9Y+0p+C0oiLnIEREBERAREQEREBERAREQEREBERAREQEREFAw
X4x6y/Szf5OspxQeC/GPWX6Wb/J1lOLr3OMdI+0Jl5c9kXm83lc5rR+jrmpYMlo7CtuXbVfUJx2O
pyGKSePauI3+2pCwbua8BnKGjmaSVA8SNeZjO5C/4a1JqbT1uxo6nktJU9MOnjbkL8kchm5hED2r
xJ2LBG88oa7fYb8w9D6r4HaH1xnpcxm8Cy9emhZBYJsSsissZvyNmia8Ml5dztztdt5lmHEz2OeT
yeXoHSGNwsGPq4mDFwT28/l6Vuu2Iv7Pc15C2drA/wAkP2I6+UQenmmJQqRfxG1rrfxLY63A7TGm
8S+WpX1bPiJZLM0LjNO6VkEz7Aa5nJ5TuUFu5Di/cT2Iwmts1xI0Ro7W+q8nBaGkr1vJDTuUkrst
yx3YY4XmRjY3c3ZyNLnMDCXbj3pIOkP9j9p3Umn9Mxa0ZLqbUWIx0dCTPtsz1LVkBo5+d8UjXOa5
wLuVznDcknckk23GcO9O4bMYrKUsaytdxeMOGpvjkeGw0y5jjEGc3LtvFH1I38nv6lTFMjyxPUtc
RNM8FG6gzmZsW6mtslg3ZCvkpq080cXt6OORz4nN/C8sDB2nvur+vlu39iUqraNOCsx8sjIY2xh8
0hke4Abbuc4kuPTqSdyqZf4JaKyekvFmzhQ/Di/JlGRCzM2SK0+V0rpmSh4kY7nked2uGwcQNh0V
uxGKrYPFU8dTY6OpUhZBC18jpHBjQGtBc4lzjsB1JJPnKmmMDtrh4W/1baX/AEbX/wC2FzLh4W/1
baX/AEbX/wC2FN33M9Y+0p+C0oiLnIEREBERAREQEREBERAREQEREBERAREQEREFAwX4x6y/Szf5
OspxRGpq93St+/l6VOTK1bpbLPSgd/pDZWtbHzRNPR4LWt3b0ILd+vMeXj8LZ/5m5P0qn9+uxpci
KqZjhHxiOEY+MrYym0UJ4Wz/AMzcn6VT+/Twtn/mbk/Sqf36js/1R+6n1MJtFner+M1bQeb03iM9
g72OyOorRpYyB9iq42JQB5O4mIb3tG7thu4Dfcq0+Fs/8zcn6VT+/Ts/1R+6n1MJtFCeFs/8zcn6
VT+/Twtn/mbk/Sqf36dn+qP3U+phNrh4W/1baX/Rtf8A7YUHksjqZ2LtvraXuVZmRPcHTTV5HdBv
5DGSnnf38rSWgnYFzQdxctNw0qeEpUcfI59anBFA1su4lYBG0tEgIBDuUtJDgD17lhfmKbe5mJmZ
jhOeGeXU4Qk0RFz1RERAREQEREBERAREQEREBERAREQEREBRuUzIouEFas/JXi+IGpXewPjY9/L2
r+ZwDWNAe4nvIY4NDnbNPHkctMbUdHHRGxYkdJFLZAa+Ki4Rc7XTN5mk7l0YDAeYh+/RoLhy4fCQ
4lheXG3kJY4mWsjLGxs1pzGBofJyNa3fvOzQGguOwG6DgxWnxBZiyOSdDkM2yOWFt4QhhjhfLzmJ
nfyt8mMHzv7JhduWjaYREBERB4J9mp7Gfifxe47aXy2Nz+Cp4q3YjxGAinszslrSx1JrkkkobC4N
3dXm2LS4/wCzBA68vt3Rkech0niI9TOpv1AytGy/JQe58D5gNnOYXNadieuxaNt9vMqtxODDrbhJ
zOcHDVE/KAN9z4Fyff16dN/h/wD2NCQEREBQ93TjH3vb2PmGLvSTwy2p4IWE2449x2cm46gtc4Aj
Yg8p32GxmEQQmJ1I2xar4zJshxmfkgkseDhOJOeNknI6SN2w52blhJ2BaJI+ZrS4BTa6uUx0eXx1
mnK+aJk8bozLXldFKzmBHMx7SHMcN+jgQQe5RXhizgbPY5dwfTmswVKNyNjnve5zNvw4awNjJkaQ
HdGkyMb0cQCE+iIgIiICIiAiIgIiIC6fhan8YYu4sy1HqPF6RwlzMZq9BjcXUZ2k9qw/lYxvd1P0
kgAd5JAHVBoPhan8YYnhan8YYsUxnHLRGV09l85Hmva2LxLWPuz36k9Tsg/fkPLKxrncxGzeUHc9
BuV+KXHnQl/T+YzTM8IaGHMQyBtVZ68tUSECNz4pGNka1xPR3Lsdid9gUG3eFqfxhieFqfxhiw6L
jtpDIYrUFvG3pr0+FpG/PTNKxFM+HY8r42OjDpGOLSA9gc36VUv/ABJ0cpwMq61qvZhMhYjqx7Zf
F3304LMrWvLS6OEOkj25gJWDkJ5fK6gIPT3han8YYorO5t08T8fjrD6tqxE7lyIia+Or3DmIcRzO
6ktGzhuPKG3fkep+PmhdI5fJ4rJ5z2vkMY5jb0TadiUVA9jJGvlcyMhjC17TzuIbvuN9wQLRj9XY
bIaju4GpcbNlKlaG9PC1jthDMXiN4ftyu5jG/uJI267bhBoNKXE47t/avYwGeV08pYNjJI7vc4+c
9APqAHcAux4Wp/l2rErXHjQ1TTWEzz82X47Ntc/HCCnPLPZa33zmwNjMuzfOeXYbjfbcK06W1ViN
a4StmMHfiyWNsb9nYhPQkEhwIPUEEEEEAggghBqCIiAiIgoHEWUnXPCyFu/Mc/Yldtv71uKvtO+x
HTd7e/cdR032Iv6z3JHw7x0wtVvlQ6fwti9OOUHaa1I2Kud/N5EFzp59x8HXQkBERAREQEREFchq
SaNjYyqwyacggkc6AGWezDIZQ4cm5O8Qa9/kD3gjY1gI8kS/han8YYuW9/QrH+G7/JZbq/WeF4f4
g5TOX48fRMrYg5zXPfJI73rI2NBc9x2PktBJ6nzFBpvhan8YYnhan8YYsRj49aCfpqXPnUUMOLhu
R0J5J4JYnwTv25GSxuYHxk7j37QNjv3KQ0/xb0lqXG5m/Ty7Yq+GHNkvb8EtN9RvLzh0jJmsc1pa
CQ4jYgHYnZBr3han8YYueCxHZYXRPD2g7bj4V5p0l7ITF8QeL2P01puxFewsuDs5OaealYrziRk0
LI+TtA0Ojc2R53DSCQNndCF6F01/QZP8Q/5BBLIiICIiAvOXsitNZXUOisXYxOOkzUmGzlDMWMTE
Rz3oIJg+SJocQC7bygD3loC9Gqo+Bbv5A/tD1oPPHEzO3+LOjal3DaQ1K0aczuMzM2OyuNdTlyMU
U3NLFCyQgvc1o5tiACQ0AuVD4t4jP8VjxA1RiNKZ2ljnacpYWvWv46SG5kJxfE7nMrkdpyxsO25A
35nbbgbr2H4Fu/kD+0PWngW7+QP7Q9aDEtVaYyeV49y2K9Kf2lY0Ndx/t4xO7ATutRFkbpNtubbm
IbvvtuVnlhuZ1B7D2bR7NKahqaiwmLxmOnpWcZK0zyxSxNeYCARM0CIu5mbjYgr1h4Fu/kD+0PWn
gW7+QP7Q9aDzrkdNZS1c9kg4Ym7JHl6UUVD/AEZ5F0jFCMiLp+E8vdvk79eneujox+Y4aa0pZXIa
Yz2Sgy2jMRSi8HUHzOjt1+17SCb8i49q3ypOVvfu4bFejMZXmyTbHYRSuNed9eTtWGMh7T125ttx
1Gzh0I6gldzwLd/IH9oetB4e0Vw+zOlsbw0zuosBrQ4hmlDh7NbTUlyvkMfaFp8oMsMDmSlj2uAP
Q7FjSQOhXp/hBpzE6d0cx2HxeXw8OQsy35q2dmklu9q93lPlMj3u5nbB2xdv167HdaF4Fu/kD+0P
Wvowt3f/AGB/aHrQW1ERAXBdu18bSsW7czK1WvG6WWaVwayNjRu5xJ7gACd1zrO9dba+1JW0LD5e
NY1l/ULwN2mtueyqH6Z3tJcOv4KKQHbtGEh2OElGe5jcnqy9C6G/qe14QbFI0tfDUDQypEQerSIW
se5p7pJJFfERAREQEREBERBwXv6FY/w3f5Ly97JHSWRy2R0HqCvRzWWxOByM8mSpadsywX+zlgdE
2aExOa9xY49WtO5a5w2I3XqO2wyVZmNG7nMcAPp2VW8C3fyB/aHrQeVMnoajewFDMaa01rJlu7rL
BPvP1IbU9uWCtYY7ti2Z75GRNa94JcG7cp36AFfvjRw81HqrUvFhuJw9i2y5hsDLDG5hZDkTWtzS
zV2vI5XOMY5dt/7bQehXqaXB3XsI9rlxHUAuA6ju86/NfG2bVeKaKMSxSND2PY9rmuBG4IIOxH0o
MA0vqC3r32QmCz0GldSYTFVtLXakk+bxUlRrZnWazhFu7pzbNcfgOx2J2O3pvTX9Bk/xD/kFD+Bb
v5A/tD1qdwVWWpUeyVnI4vJ2382wQSKIiAiIgIiICIiAiIgr7jJidZN/3tbgy8PL0AkpUpIQTv8A
3ozK1/0sJhHvXO8uwKK1NiTmMPLCztfbET47MHYWXV3GWJ7ZGNLwDs0uaA4EEFpcCHAkHp47XGJs
X8Zh716li9UXqTbo0/PdhddYzY8/kNcS8NcHNL27t3adigsKIiAiLis2YaVaWxYlZBXhYZJJZXBr
GNA3LiT0AA67lBC611bFo7DC17XfevWJmVKGPicBJbsvOzI2nzDvc53cxjXvPktJXHoPS02lMF2V
634SzVyQ3MpfDS0WbTgA9zWkktYA1rGN3PKxjG7nbcwujas2s8547ZCKSGsI318DSl/4VYu8q05v
mknAaQD1ZEGDZrnytN9QEREBERAREQEREBERAVc4d1faGisTUFGnjGV4uwZUx83awRMa4ta1jvON
gPq7vMrGq7w+qe0NI0YPBlfD8pl/0KrP28ce8rj0f599+Y/ASR5kFiREQEREBERAREQEREHTymYo
YOr7ZyN2vQr8wZ2tmVsbeY9w3JHU/AoL3VNHfOjE+mR+tRjS3J64zktgdq/HOiq1g4biJromSPLf
gLi8bnvIa0eYKZXQixbpiN/MzMROk4468pW0jirHEDU+ktdaNymCh4hR6dmuRhseUw+UbBaruDg5
rmPa4EdQARuNwSPOvEPsXuGF/gt7MG/ktUajpZzGzULk8eqPboljtySubu6R5cS2Uku3D+pO56g7
n+gqK3ZWeU+ceho4fdU0d86MT6ZH6091TR3zoxPpkfrXMidlZ5T5x6Gjh91TR3zoxPpkfrVF1RxC
01rzUrNPzZ7Gw6UpCOzk5ZrDA3JSb80dRm58qIcofKfeu3ZH5QdK1ugInZWeU+ceho4fdU0d86MT
6ZH61O4vMUM5V9s467Xv1+Ys7WtK2RvMO8bgnqPgUQoZxGM1xg5a47J+RdLVsho2ErWxPkYXfCWl
h2PeA5w85VZsW6onczExEzrOeGvKDSV8REXPVEREBERARFXs5xB03pucwZHNU61kd9cyh0o+tg3d
/wDhXot13J3aImZ8DisKKkHjTowEg5nu/wDizfYXz3atGfLP/SzfYXp7ntPyqvKU4lP6q1pp/QuN
ZkNS53GaeoPlELbWVuR1onSEEhge8gFxDXHbffofgVQ4NcRdG6mw0GG0/ntL2cjWZLPLidP5iG92
EZlPl+Q4nYl7SSegL9lTuPmR4f8AG7hPqDSNvMMbJcgLqkz6k34Gw3yon+86bOAB+gkedYt7AbR2
nOA2icrlNUW21NX5icsli7CR5r1ozsxnM1hHlHdx2P8Ad+BO57T8qrykxL3Eio/u1aM+Wf8ApZvs
J7tWjPln/pZvsJ3PaflVeUmJXhFUaXFrR9+ZsUeoKccjjs1tlxg3PmA5wOqtrXB7Q5pDmkbgjuKw
uWrlqcXKZjrGDGH1ERZIEREBERBQcZ+OWsPzyD+VhU2oTGfjlrD88g/lYVNrr1/h6U/xhariIsk4
3ccMhwcfHYOAxt/EisbElq9qKvj5ZHNLuaKvDI0maQNAO27QeYAElfrLcdbGRyuCxGhtNP1Zlsnh
4s+5li62hBVpSHaJ0kpa887zuAxrSfJcTsBusd6FWsosHyPEjiOOPGlMFBp2lDj7mm5r9zFWcu1v
ZSCxAySTtGQP5nRh/K1oIa/nJ3bsN+ObjU7ROreLNrMYzJS2MVZxdKjjIMr7aiuPsB7KwrxOjYK7
5C5hkHM8b9d/J6t6BviLDM77JLJaIxuq2as0X4Hz+Ew3h+GhWyjbUN6p2gjeWziNvK9jyA5pZ/aa
QSDurVpPitlslxCbpLUelvFy7bxj8vj5I8g22JoWSMjkZJsxojlaZIyWgvbsTs47JvQNJULk/wAc
dH/nk/8AKzKaULk/xx0f+eT/AMrMtqPxdKv4ymF9REXIQIiICIofWGZdp3SeaykY5pKVOawxu2+7
msJA/WQFamma6opjjJxZlxL4j2b9+zhMPYfVp13GK3dgeWySSA7OiY4dWhp6OcOu+4G2x3zqvVhq
s5IY2xt7yGjbc/CfhXypAa1aKIuL3NaA5573O87j9JO5/WuVfTdm2a3stuLduP8AfiiZERUzibxN
o8NqNB9gQS3chOa9WG1bZUhJDS5zpJn+SxoA7+pJIABJW1ddNumaqp0VXNFjtT2Rde7iLctfEw5D
KVMnTx0lTGZSKzC82XcsT452jld1BBDg0gg77d6mHcZhhK2qhqbDuxV/ARV531qdkWhZZOS2ERO5
WEuc9pZsQNjt12O6wjabU6xP38fSUtKRZFp/VeqcrxqxVPOYmTTtZ+n7U4oR5IWYpXdvAA5waGgP
aCR3Hbm6OPVa6tbdyLkTMfBD49jZGlrmhzT0II3BU5o3Wl3QdlnYdpaw7nfh8fzEhgJ6vh3964dT
yjZruvcSHCERLtqi9RNu5GYlMTh6fo3YMnSr3KsrZ6tiNssUrDu17HDdrh9BBBXOs44F5J9nS16g
87tx158MXTbaNzWSgfUDI4D6AtHXzXabPd71VrlK8iIi8yBERBQcZ+OWsPzyD+VhU2oTGfjlrD88
g/lYVNrr1/h6U/xhariwziJwW1PneIOps1h36dtVtR4WLDvs5xkr7GJa0Sh5rMa0h7X9rzFpdH5T
QdyungeDmv8AQM+lM5pu1p2xnammammcxj8lLO2pYZWJMU8MrIy9rxu7drmbEO233G539FhuxxVY
9qHQfEGXWGkda4ybTU+pKWKs4nK07T7ENORk0kUnPA5rXvBa6IdHDqD3hR2tOAWW1XnuIeShyVKj
Yy9rDZLCTkPkNe1QHMDMzYDlc4AeSSeUk9D0W5Ip3YHnHXPAbXnFSjrLJ6juaepahyOm3acxVLGz
TvpwMfM2aSWWV8YeXOcxg2azZob5ySVqOQ0DkLfGfTmrmTVhjcdg7mMlic53bOlmlrvaWjl2LQIX
bkkHqOh819RN2AULk/xx0f8Ank/8rMppQuT/ABx0f+eT/wArMtqPxdKv4ymF9REXIQIiICiNX4Z2
otJ5nFMPK+7Tmrtd8DnMLQf1EhS6K1NU0VRVHGDg8qVJzYrRyOaY3keWw97Hedp+kHcfqULqDXOL
0xcZVvMyTpXxiQGnirVpmxJHV0Ubmg9D0J37unULY+JfDezTu2c3hq77Vedxlt0YIy6Rsh6uljaO
rubvLQN9+o33IWbV7UNppMUjZOU7ODT1afgI8x+gr6VY2ina7faWp6+HgiY+Kpni1p8MDuyzmxJH
4vZDf/l2H0qA1RU91CxiMxpaaStnNOWTNCzO4y1WrzslY5kkbu0jaSC3+00O5SBuOoWoItardVcb
tcxjp/tDNszovU+qtP4yHJtwdPIVs9SyJjx7peyFeGVjy3mc3d7zs7byWjqB0711Nb8IL2scxq+w
L0FOPK0KEVKUbukhsVppJWue3bbl5izuJJHN3dFqiKs7PRVGKtf/ACY/sZVSxOq8dratrPV/gmOp
QxE2PdDgWWrUrnyTQuDxH2fMR5B6AEj6RuRYxxb0+f8AhZz9encgP/4K5Ippt1Uf4Tx56/3AqdHi
hg8jdgqwx5kSzyNjYZcDeiZuTsOZ7oQ1o+kkAecq2L8ySNiYXvcGMHUucdgFP6L0Td11YY6MSVcK
HfhrzmFvat87Id/fE93ON2jr3kbJXcixRNy9VGI/7nKYjLQuBeNfW0rdvvGwyV588fXvja1kQP1E
xlw+hy0dcFKnBjqcFSrE2CtBG2KKJg2axjRsGgfAAAFzr5xtN7vF6q7zlaREReZAiIgofk4rXGbi
snsnZJ0Vms5/QShsTI3Nae4lpYNxvvs4HzqZUxksTRzVY1shTr3q5Id2NmJsjNx3HZwI3UD7lmjP
mlhP4fF9ldCL9uqI38xMREaRnhpzhbSeLmRcPuWaM+aWE/h8X2U9yzRnzSwn8Pi+yp7Wzznyj1NH
Mi4fcs0Z80sJ/D4vsp7lmjPmlhP4fF9lO1s858o9TRzIuH3LNGfNLCfw+L7Ke5Zoz5pYT+HxfZTt
bPOfKPU0cyhvJyut8JFWPbOxrpbNlzOoiDonxtDj3AkvOw79mk9wUn7lmjPmlhP4fF9lT2NxNHDV
RWx9OvRrgl3Y1omxs3PedmgDdRN+3TE7mZmYmNYxx05yaRwdtERc9UREQEREBQWb0Jp3Uc/b5PC0
rljbbt5IW9rt8HOOu361Oor0V1W53qJxPgcFMPBvRpJJwUO5/wDck+0vnuNaM+Qof3kn2ldEXo73
tPzKvOU5nmpfuNaM+Qof3kn2k9xrRnyFD+8k+0roid72n5lXnJmeal+41oz5Ch/eSfaT3GtGfIUP
7yT7SuiJ3vafmVecmZ5qrR4WaRx8zJotPUXSsO7XzRCUtPwjm32P0q0gAAADYDzL6iwru13ZzXVM
9ZyZmRERZoEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREH/9k=
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '239282'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c22739dafaa8c51-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '9626'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:54:49 GMT
Last-Modified:
- Tue, 10 Sep 2024 01:26:47 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=sjAdWNDFsLN3oI8KEQq6CnOACd17CeymybqE69hAT9t3sKGNsSYUVjjkaA%2FzhSu074KncJQN3G%2BYS87esDCXQHAKJXVGbqpfCtEMuE7oMDbCsW4TfQYZvc6lAhJTyg%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,117 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "hi! I''m bob", "role": "user"}, {"content":
"Hello Bob! How can I assist you today?", "role": "assistant"}, {"content":
"what is my name?", "role": "user"}], "model": "gpt-3.5-turbo", "n": 1, "stream":
true, "temperature": 0.0}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '253'
content-type:
- application/json
cookie:
- __cf_bm=k5514X5CEewq0l02QJsXCZpSVUU8xc5n6NStlbyThdw-1726170169-1.0.1.1-41XOKNUnYVIg.15B8vru6H8o3gSQ8eMqU055fK9zNgP2fPnwNN5PbVB9tQgq1flNha0dn7z6k0V3ssJg9K9DoQ;
_cfuvid=PI651aVbxqzJ4dJwBUTZY.669ADPFlLVlsBupHiUbuA-1726170169589-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Your"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
name"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Bob"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0HoFJbTj3zjCMNTq0eWDcLrqPS","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22620919994211-EWR
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:50 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '81'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999963'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_f38be054aa3ae604e4cbc7b7409bd0f2
status:
code: 200
message: OK
version: 1
-192
View File
@@ -1,192 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJYWN0aW9uKGFjdGlvbikKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGFnZW50OwoJYWN0aW9uIC0tPiBhZ2VudDsKCWFnZW50IC0uLT4gYWN0aW9uOwoJYWdlbnQgLS4tPiBfX2VuZF9fOwoJY2xhc3NEZWYgZGVmYXVsdCBmaWxsOiNmMmYwZmYsbGluZS1oZWlnaHQ6MS4yCgljbGFzc0RlZiBmaXJzdCBmaWxsLW9wYWNpdHk6MAoJY2xhc3NEZWYgbGFzdCBmaWxsOiNiZmI2ZmMK?bgColor=!white
response:
body:
string: !!binary |
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
iIgIiICIiAiIg//Z
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104443'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c2262053f2f4309-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '7821'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:42:49 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:42:06 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Y%2F2rFRbcmNxUXpcPYvwZwN4U6WQazlybey5nF1eVKH0bopGAvIwWziv55lSnq0tX1W7olTMsoeBB%2B1vdiOjpoYNG4sVrgsfXT6HTZAPsRqhSe0juxvSps6XF%2Fx52LQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,161 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what is my name?", "role": "user"}], "model":
"gpt-3.5-turbo", "n": 1, "stream": true, "temperature": 0.0}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '133'
content-type:
- application/json
cookie:
- __cf_bm=k5514X5CEewq0l02QJsXCZpSVUU8xc5n6NStlbyThdw-1726170169-1.0.1.1-41XOKNUnYVIg.15B8vru6H8o3gSQ8eMqU055fK9zNgP2fPnwNN5PbVB9tQgq1flNha0dn7z6k0V3ssJg9K9DoQ;
_cfuvid=PI651aVbxqzJ4dJwBUTZY.669ADPFlLVlsBupHiUbuA-1726170169589-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''m"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
sorry"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
do"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
not"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
access"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
personal"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
information"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
such"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
your"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
name"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IeAlMDS3O7pYkuEs2W9PNOTWJ","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22620b9ca74211-EWR
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:50 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '64'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999979'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_6086c818ed99155d2a9419005306ccfd
status:
code: 200
message: OK
version: 1
@@ -1,223 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "hi! I''m bob", "role": "user"}, {"content":
"Hello Bob! How can I assist you today?", "role": "assistant"}, {"content":
"what is my name?", "role": "user"}, {"content": "Your name is Bob.", "role":
"assistant"}, {"content": "You forgot??", "role": "user"}], "model": "gpt-3.5-turbo",
"n": 1, "stream": true, "temperature": 0.0}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '353'
content-type:
- application/json
cookie:
- __cf_bm=k5514X5CEewq0l02QJsXCZpSVUU8xc5n6NStlbyThdw-1726170169-1.0.1.1-41XOKNUnYVIg.15B8vru6H8o3gSQ8eMqU055fK9zNgP2fPnwNN5PbVB9tQgq1flNha0dn7z6k0V3ssJg9K9DoQ;
_cfuvid=PI651aVbxqzJ4dJwBUTZY.669ADPFlLVlsBupHiUbuA-1726170169589-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
apologize"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
for"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
confusion"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
am"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
an"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
AI"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
assistant"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
do"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
not"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
ability"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
remember"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
personal"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
information"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
How"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
can"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
assist"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
today"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Bob"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0IjriDJtkSM3sXW6GHsUZhjziy","object":"chat.completion.chunk","created":1726170170,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22620f79eb4211-EWR
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:51 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '80'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999955'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_72deaabdd703de04b6889a999a8d664f
status:
code: 200
message: OK
version: 1
@@ -1,137 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "hi! I''m bob", "role": "user"}], "model": "gpt-3.5-turbo",
"n": 1, "stream": true, "temperature": 0.0}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '128'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Bob"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
How"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
can"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
assist"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
today"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-A6k0H4nhbsrT0ja6XBSCUIvTiTNJx","object":"chat.completion.chunk","created":1726170169,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262059d4d4211-EWR
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 12 Sep 2024 19:42:49 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=k5514X5CEewq0l02QJsXCZpSVUU8xc5n6NStlbyThdw-1726170169-1.0.1.1-41XOKNUnYVIg.15B8vru6H8o3gSQ8eMqU055fK9zNgP2fPnwNN5PbVB9tQgq1flNha0dn7z6k0V3ssJg9K9DoQ;
path=/; expires=Thu, 12-Sep-24 20:12:49 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=PI651aVbxqzJ4dJwBUTZY.669ADPFlLVlsBupHiUbuA-1726170169589-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '82'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '50000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '49999980'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_275ac102a1978c19602838aff9a4431c
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_kXyvMVB8bMcbv79tvheZFusU", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_XIdxlz6bow47glxsY0UzLnyR",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_XIdxlz6bow47glxsY0UzLnyR"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_yx4YzAgpfOzpF8gHCKBhnJB0",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_yx4YzAgpfOzpF8gHCKBhnJB0"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}], "model": "gpt-4o-mini",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2992'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSy27bMBC86yuIPVuFXo5U3QIkhwZogBYx0qIuBIZaykz4Akm1dQ3/eyFZthSj
PBDEDmdnOMtDRAiIFmoCbEcDU1bGtzdvyZdvT+s8ETzdPPPHv5++5jwvs82vp++wGhjm5RVZOLM+
MKOsxCCMPsHMIQ04dE3L7CYtk7SsRkCZFuVA62yICxMroUWcJVkRJ2WcVhN7ZwRDDzX5ERFCyGHc
B5+6xT9Qk2R1rij0nnYI9eUSIeCMHCpAvRc+UB1gNYPM6IB6sK57KRdAMEY2jEo5C5/WYXGew6JS
No8oC/b68Pl+o3qb9Q93z7cdrQJf6J1a7+1oiPeaXUJa4Jd6fSVGCGiqRm6HofmNNOzQXdEJAeq6
XqEOg3U4bIGJsN9CvQXPt3CEd9eP0f/OPxdJOOS9p3KKaKofL5lL01lnXvxVhMCFFn7XOKR+fMoy
0eisNupA/25oYJ1RNjTBvKEe2ubr8tQV5o81o2kxgcEEKhesMo0mn+D3PqBquNAdOuvEOHDgtimq
vM0/ttW6hOgY/QMAAP//AwBCbpGJ/gIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22623d6e027283-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:58 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=l502kkCBLQzOH7GyJl3eAgI8EUL70N7434sgp.F__QQ-1726170178-1.0.1.1-BjqB8cAFKRAbunyJyEt4rm8TGb2XUJhrvwQ6p14fU5UIWAvN3E.j.5Ffrn9MZFQd760OygLgpQGCZWW02t8.8A;
path=/; expires=Thu, 12-Sep-24 20:12:58 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=EjPUYM1ZRkPryT1RqK3SnTkdpipZWX.kCZj1KLRX4aU-1726170178536-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '180'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999815'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_4f8babf0a500128bf8c4c283738e4bc2
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_kXyvMVB8bMcbv79tvheZFusU", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_XIdxlz6bow47glxsY0UzLnyR",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_XIdxlz6bow47glxsY0UzLnyR"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_kXyvMVB8bMcbv79tvheZFusU",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_kXyvMVB8bMcbv79tvheZFusU"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_yx4YzAgpfOzpF8gHCKBhnJB0",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_yx4YzAgpfOzpF8gHCKBhnJB0"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_Nel4cjJMEUmup2uJDWAga8tf",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_Nel4cjJMEUmup2uJDWAga8tf"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3286'
content-type:
- application/json
cookie:
- __cf_bm=l502kkCBLQzOH7GyJl3eAgI8EUL70N7434sgp.F__QQ-1726170178-1.0.1.1-BjqB8cAFKRAbunyJyEt4rm8TGb2XUJhrvwQ6p14fU5UIWAvN3E.j.5Ffrn9MZFQd760OygLgpQGCZWW02t8.8A;
_cfuvid=EjPUYM1ZRkPryT1RqK3SnTkdpipZWX.kCZj1KLRX4aU-1726170178536-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJBLa8MwEITv/hVbneNiJ27s5FYKoRBI6RNCKUaR17YSWRJapWko+e/F
jvPoRYf5NMPM/gYATBZsCkzU3IvGqvB+vIme582Sv08ev9ezeP60nDxgXH0sXhY7NmgdZrVG4U+u
W2Eaq9BLo49YOOQe29Q4HY7jNIrTrAONKVC1tsr6MDFhI7UMh9EwCaM0jLPeXRspkNgUPgMAgN/u
bXvqAn/YFKLBSWmQiFfIpudPAMwZ1SqME0nyXHs2uEBhtEfdVX+rEXbIfY0OpIZXrmHmuBaShAFJ
wNWO7wloq/X+5jrDYbkl3u7QW6V6/XAupUxlnVlRz896KbWkOnfIyei2AHljWUcPAcBXN377bw+z
zjTW595sULeBoyw55rHLzS807i/DvPFcXbkmSdA3ZLQnj01eSl2hs04eb1HaPMlGxWhSZHcpCw7B
HwAAAP//AwDd1Bt6GQIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22624029247283-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:59 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '227'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999807'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a9442b6cf3ef3893e24c3cb93fc8a712
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_ar5xBPEQEEfqjQyAunMfZCkk", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_ar5xBPEQEEfqjQyAunMfZCkk"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_kDbZSKOyVAzyXjItYKl3NjaA", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_kDbZSKOyVAzyXjItYKl3NjaA"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2957'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFLZbtswEHzXVxD7bBWSfMjWW4G0OYq0SGMUPVwIDLWSmPAKSSFxDP97
IVm2FKN8IIgdzs5wlruAEOAFZARYTT2TRoQfF0/R9ytZ08+Jv/wmfr2tH69/fJ1J8yV5foNJy9AP
j8j8kfWBaWkEeq7VAWYWqce2a5wmiziN4nTVAVIXKFpaZXw406HkiodJlMzCKA3jZc+uNWfoICN/
AkII2XV761MV+AoZiSbHikTnaIWQnS4RAlaLtgLUOe48VR4mA8i08qha66oRYgR4rUXOqBCD8GHt
RuchLCpELu7mt8lrcnE3vVlfvFT60/3v9e3zTzXSO7Tems5Q2Sh2CmmEn+rZmRghoKjsuBX6/AWp
r9Ge0QkBaqtGovKtddhtgHG/3UC2AbVlG9jDu/v74H/nv6MoLJaNo6LPqK/vT6ELXRmrH9xZhlBy
xV2dW6Sue8s40uCo1ulA825qYKyWxudeP6Fq207TxaErDD9rQON5D3rtqRixVnHQ+wS3dR5lXnJV
oTWWdxOH0uSz5bSYrorlPIVgH/wDAAD//wMADZxoof8CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c226243cb119e05-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:42:59 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=ebo9u1FDZT_ZrXbIeg1nTRbKcf1T.AEFpUUB3IsiZSw-1726170179-1.0.1.1-EzcjLI8HhMy2Dearm53S3MFNxdLL2nfQFnN603Ea_7esdVkqPf.B0KQqeJyfoUsuofOzI8mYeJ.lw0vGY2GMLQ;
path=/; expires=Thu, 12-Sep-24 20:12:59 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=enlBVFWbdVJ6wQEtDr.8SUTSWF45AJ80QNlepEeJMRc-1726170179667-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '278'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999824'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a437a536e45f23211dcb6e8745cd358a
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_ar5xBPEQEEfqjQyAunMfZCkk", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_ar5xBPEQEEfqjQyAunMfZCkk"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_kDbZSKOyVAzyXjItYKl3NjaA", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_kDbZSKOyVAzyXjItYKl3NjaA"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_lQ5M2x2DQ3JTDwgoESZTMqXn", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_lQ5M2x2DQ3JTDwgoESZTMqXn"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3254'
content-type:
- application/json
cookie:
- __cf_bm=ebo9u1FDZT_ZrXbIeg1nTRbKcf1T.AEFpUUB3IsiZSw-1726170179-1.0.1.1-EzcjLI8HhMy2Dearm53S3MFNxdLL2nfQFnN603Ea_7esdVkqPf.B0KQqeJyfoUsuofOzI8mYeJ.lw0vGY2GMLQ;
_cfuvid=enlBVFWbdVJ6wQEtDr.8SUTSWF45AJ80QNlepEeJMRc-1726170179667-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQzW7CMBCE73mKlc8EJRAIcKO9VG1BVVVVaqsKGWeTuDhey3YKCPHuVUL46cWH
+XbGs3sIAJjM2AyYKLkXlVHhfLyJXj9/x3eLDzV52T7u5mpB9LwUT+/zB9ZrHLT+QeHPrr6gyij0
kvQJC4vcY5Map4NxnEZxOm1BRRmqxlYYHyYUVlLLcBANkjBKw3jSuUuSAh2bwVcAAHBo36anznDH
ZhD1zkqFzvEC2ewyBMAsqUZh3DnpPNee9a5QkPao2+pvJcIWuS/RgtSw/LiHShalhzWCUFRn+/6t
02JeO96017VSnX68VFFUGEtr1/GLnkstXbmyyB3p5lvnybCWHgOA73bl+t8WzFiqjF952qBuApNo
fMpj10tf6bRjnjxXN6Z4FHQFmds7j9Uql7pAa6w8HSA3q2QyzIbTbDJKWXAM/gAAAP//AwBiEI7u
DgIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22624738619e05-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:00 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '205'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999816'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_a9f76a329ab7fe24e584664ed59eceef
status:
code: 200
message: OK
version: 1
@@ -1,264 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_PSGztI4EVGUKZBE3vsZKrn3B", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_jdSCmiuPXj8bngXIcOKeYN50",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_jdSCmiuPXj8bngXIcOKeYN50"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_LHiI1BVZzmtTbnWUwgEdqvhn",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_LHiI1BVZzmtTbnWUwgEdqvhn"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}], "model": "gpt-4o-mini",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2992'
content-type:
- application/json
cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
_cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSTYvbMBS8+1eId46LnTjrxLeF0tJCaQ8NZLspRpGfLe3qC0luNg3578WOE3tD
dRDijebNaJ5OESEgKigIME4DU1bGjw+vSbM9/Np8ffrG84Q/7jfb70u+/7xmhw3MOobZvyALV9YH
ZpSVGITRF5g5pAG7rmk+f0jzJF1nPaBMhbKjNTbEmYmV0CKeJ/MsTvI4XQ1sbgRDDwV5jggh5NTv
nU9d4RsUJJldKwq9pw1CcbtECDgjuwpQ74UPVAeYjSAzOqDurOtWygkQjJElo1KOwpd1mpzHsKiU
pZM/Xpb5in+pjou37aeff2vxlP35yCd6l9ZH2xuqW81uIU3wW724EyMENFU9t8FQHpAGju6OTghQ
17QKdeisw2kHTITjDood+HoHZ3h3/Rz97/x7koTDuvVUDhEN9fMtc2ka68ze30UItdDC89Ih9f1T
polGV7VeB9p3QwPrjLKhDOYVddd2scwvXWH8WCOaZgMYTKBywsrTaPAJ/ugDqrIWukFnnegHDrUt
s9WiWqyr1TKH6Bz9AwAA//8DAAqTdRb+AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262a49b060f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:15 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '212'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999815'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_d8feff429e2cdb7feb7527929c2b83bb
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_PSGztI4EVGUKZBE3vsZKrn3B", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_jdSCmiuPXj8bngXIcOKeYN50",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_jdSCmiuPXj8bngXIcOKeYN50"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PSGztI4EVGUKZBE3vsZKrn3B",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PSGztI4EVGUKZBE3vsZKrn3B"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_LHiI1BVZzmtTbnWUwgEdqvhn",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_LHiI1BVZzmtTbnWUwgEdqvhn"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_rlPj578hIdy3xXFTzfiY4vDh",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_rlPj578hIdy3xXFTzfiY4vDh"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3286'
content-type:
- application/json
cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
_cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDNTsMwEITveYrF5wYlbdqkuSEkEOJWkDggVLnOpjF1bNfrUKqq746c
pj9cfJjPM5rZQwTAZMVKYKLhXrRWxQ+zTdI8buuPSZG8eLf/WT1vbNuoxetiu2Gj4DCrbxT+7LoX
prUKvTT6hIVD7jGkpvl4luZJOp/2oDUVqmBbWx9nJm6llvE4GWdxksdpMbgbIwUSK+EzAgA49G/o
qSv8ZSUko7PSIhFfIysvnwCYMyoojBNJ8lx7NrpCYbRH3Vd/bxB2yH2DDqSGN67hyXEtJAkDkoCr
Hd8TUKf1/u42w2HdEQ87dKfUoB8vpZRZW2dWNPCLXkstqVk65GR0KEDeWNbTYwTw1Y/v/u1h1pnW
+qU3G9QhcFJkpzx2vfmVpsNlmDeeqxvXPIuGhoz25LFd1lKv0VknT7eo7TIrJtVkXhXTnEXH6A8A
AP//AwACn/9rGQIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262a79ee10f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:15 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '192'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999807'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_3d7f7c720b4f651c8e83310c50c1a250
status:
code: 200
message: OK
version: 1
@@ -1,264 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_UzmVGh2hG0zqcbZkoAbooMEv", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_UzmVGh2hG0zqcbZkoAbooMEv"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_uUKipZLGXeZaIhdDNw3Xwu3F", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_uUKipZLGXeZaIhdDNw3Xwu3F"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2957'
content-type:
- application/json
cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
_cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFJNb6MwFLzzK6x3DisIJCTctof2sopW7aqKdlMhYx7Ejb9kG3XTKP99
BSGBRuuDZb3xvBnP8ykgBHgFOQG2p55JI8Lvy0P0/vulTLJfm8/yJd7ERm4fZflsNqmFWcfQ5Tsy
f2V9Y1oagZ5rdYGZReqx6xpn82WcRfE66wGpKxQdrTE+THUoueLhPJqnYZSF8Wpg7zVn6CAnfwJC
CDn1e+dTVfgXchLNrhWJztEGIb9dIgSsFl0FqHPceao8zEaQaeVRddZVK8QE8FqLglEhRuHLOk3O
Y1hUiGK7eJ2nh2RbRo8/Px8+nn4Yha8Wnyd6l9ZH0xuqW8VuIU3wWz2/EyMEFJU9t0FffCD1e7R3
dEKA2qaVqHxnHU47YNwfd5DvQB3ZDs7w5f45+N/5bRKFxbp1VAwZDfXzLXShG2N16e4yhJor7vaF
Rer6t0wjDa5qvQ60X6YGxmppfOH1AVXXNsmWl64w/qwRjRcD6LWnYsJax8HgE9zReZRFzVWD1lje
TxxqU6SrpErW1WqRQXAO/gEAAP//AwCP4uOh/wIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262b7890d0cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:18 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '230'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999824'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_ec0535b98028fe3c2adca360b45565f4
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_UzmVGh2hG0zqcbZkoAbooMEv", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_UzmVGh2hG0zqcbZkoAbooMEv"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_BWxJ6A5QHKUMwF8zDPN9MIbh"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_uUKipZLGXeZaIhdDNw3Xwu3F", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_uUKipZLGXeZaIhdDNw3Xwu3F"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_X5V24k3Xb0FPzBwGLpneVreR", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_X5V24k3Xb0FPzBwGLpneVreR"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3254'
content-type:
- application/json
cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
_cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDNbsIwEITveYqVzwQlEAjkVnpo1Uqoh6pqVVWRSTaxi2Nb9qIWId69
cgg/vfgw3854dg8RAJM1K4BVglPVWRXfzbfJ9n314t4en7JnarbvG7cWQk/EQ7Nio+Awm2+s6Owa
V6azCkkafcKVQ04YUtN8Mk/zJF0uetCZGlWwtZbizMSd1DKeJJMsTvI4XQxuYWSFnhXwGQEAHPo3
9NQ1/rICktFZ6dB73iIrLkMAzBkVFMa9l564Jja6wspoQt1XfxUIP8hJoAOpYf1xD51sBcEGoVJm
V+/Ht06Hzc7z0F7vlBr046WKMq11ZuMHftEbqaUXpUPujQ7fejKW9fQYAXz1K+/+bcGsM52lkswW
dQjMkvkpj10vfaXLgZEhrm5M6SwaCjK/94Rd2UjdorNOng7Q2DJbTOvpsl7MchYdoz8AAAD//wMA
8+OmpQ4CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262baabaf0cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:18 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '167'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999816'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_d7bbd5af643ec64bc1d86334e85e265f
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_TBpzb3i8qRFNfPoUBi1tggQz", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_GJxsSolf6ImXvRKSNDacx8GK", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_GJxsSolf6ImXvRKSNDacx8GK"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_fEExLtpe9IeWvWkyABl8gbcE", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_fEExLtpe9IeWvWkyABl8gbcE"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2957'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSTY+bMBC98yusOYcKkmxIuG2rpFK62vbS9tBUyDEDuOsPag9tUZT/voKQwEb1
wbLm+c17fuNTwBjIHFIGouIkdK3Cx9VLJO1HV3/6nC/4tv2Ov9vnD7vd85e8LWDWMezxFwq6st4J
q2uFJK25wMIhJ+y6xsl8FSdRvFn1gLY5qo5W1hQubailkeE8mi/DKAnj9cCurBToIWU/AsYYO/V7
59Pk+A9SFs2uFY3e8xIhvV1iDJxVXQW499ITNwSzERTWEJrOummUmgBkrcoEV2oUvqzT5DyGxZXK
vopkR++rP+32cWue9senKPqm93sz0bu0buveUNEYcQtpgt/q6Z0YY2C47rklUvYXOVXo7uiMAXdl
o9FQZx1OBxCS2gOkBzCtOMAZ3tw/B/87/5xE4bBoPFdDRkP9fAtd2bJ29ujvMoRCGumrzCH3/Vum
kQZXtV4HmjdTg9pZXVNG9gVN13aRrC5dYfxZIxo/DCBZ4mrC2sTB4BN86wl1VkhToqud7CcORZ0t
14t8scnXDwkE5+AVAAD//wMAw4lrXv8CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262b11aa20cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:17 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
path=/; expires=Thu, 12-Sep-24 20:13:17 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '233'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999824'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_40a44b68cfa729ab8ed707820423e1ac
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_TBpzb3i8qRFNfPoUBi1tggQz", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_GJxsSolf6ImXvRKSNDacx8GK", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_GJxsSolf6ImXvRKSNDacx8GK"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_TBpzb3i8qRFNfPoUBi1tggQz", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_TBpzb3i8qRFNfPoUBi1tggQz"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_fEExLtpe9IeWvWkyABl8gbcE", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_fEExLtpe9IeWvWkyABl8gbcE"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_Uc7FtBhvyEAEnLJbL00VmJJn", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_Uc7FtBhvyEAEnLJbL00VmJJn"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3254'
content-type:
- application/json
cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
_cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDNbsIwEITveYqVzwQlIRCSW9VDq0ptLxyKqgoZZ5MYHNvYiwpCvHuV
EH568WG+nfHsngIAJktWABMNJ9FaFT7NttFG6Hr5mb9/RS/l2+4wOS5eXTalZMdGncOsNyjo6hoL
01qFJI2+YOGQE3apcZbM4iyK86wHrSlRdbbaUpiasJVahkmUpGGUhfF8cDdGCvSsgO8AAODUv11P
XeKBFRCNrkqL3vMaWXEbAmDOqE5h3HvpiWtiozsURhPqvvqiQfhFTg06kBo+ls/QyrohWCMIZfbl
cfzodFjtPe/a671Sg36+VVGmts6s/cBveiW19M3KIfdGd996Mpb19BwA/PQr7/9twawzraUVmS3q
LjCNZpc8dr/0neYDI0NcPZjiaTAUZP7oCdtVJXWNzjp5OUBlV+l8Uk7ycj7NWHAO/gAAAP//AwDG
shv4DgIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262b46e1d0cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:17 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '180'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999816'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_8b1e5b5a95f17810ac2f2c548b7f0d64
status:
code: 200
message: OK
version: 1
@@ -1,264 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_X96LtQlTyG7xqtf4E084eSpo", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_zauD5od8JcANPyCvwuJx05Bj",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_zauD5od8JcANPyCvwuJx05Bj"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PjGMecuG1M5iHs3la38VIzjx",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PjGMecuG1M5iHs3la38VIzjx"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}], "model": "gpt-4o-mini",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2992'
content-type:
- application/json
cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
_cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSwY6bMBC98xXWnEMFCQkJt1RqtYet1MN2pbZZIccM4I2xXXvYNo3y7xWEBDaq
D5Y1z2/e8xufAsZAFpAxEDUn0VgVbleHqH4uxd8DfzKPX/bPm186TR/e3vzq6QfMOobZv6KgK+uD
MI1VSNLoCywccsKua5zOV3EaxZtlDzSmQNXRKkthYsJGahnOo3kSRmkYrwd2baRADxn7GTDG2Knf
O5+6wD+QsWh2rTToPa8QstslxsAZ1VWAey89cU0wG0FhNKHurOtWqQlAxqhccKVG4cs6Tc5jWFyp
vE3KrRHbh4/EP8XJ1+/47fPj8XWJE71L66PtDZWtFreQJvitnt2JMQaaNz23Qsp/I6ca3R2dMeCu
ahvU1FmH0w6EpOMOsh34cgdneHf9HPzv/DJJwmHZeq6GiIb6+Za5MpV1Zu/vIoRSaunr3CH3/VOm
iQZXtV4H2ndDA+tMYyknc0DdtV0s00tXGD/WiMbJAJIhriasNA4Gn+CPnrDJS6krdNbJfuBQ2jxZ
L4rFplgvUwjOwT8AAAD//wMAIVFj7v4CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262aaba8a0f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:16 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '224'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999815'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_17b11117adbb3144a9aefa58966aada4
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_X96LtQlTyG7xqtf4E084eSpo", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_zauD5od8JcANPyCvwuJx05Bj",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_zauD5od8JcANPyCvwuJx05Bj"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_X96LtQlTyG7xqtf4E084eSpo",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_X96LtQlTyG7xqtf4E084eSpo"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_PjGMecuG1M5iHs3la38VIzjx",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_PjGMecuG1M5iHs3la38VIzjx"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_u4fAocAHBtaE14PYeUFLyj5e",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_u4fAocAHBtaE14PYeUFLyj5e"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3286'
content-type:
- application/json
cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
_cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJBLb8IwEITv+RVbn0mVQEqAW3toValSD32oUlUh42yIwfEarymliP9e
JYRHLz7M5xnN7C4CELoQExCqkkHVzsS3w2Wi09Xj0yJ/pveH37ckH5Yf3/nKp+FO9BoHzRaowtF1
rah2BoMme8DKowzYpKZ5f5jmSToetqCmAk1jm7sQZxTX2uq4n/SzOMnjdNS5K9IKWUzgMwIA2LVv
09MW+CMmkPSOSo3Mco5icvoEIDyZRhGSWXOQNojeGSqyAW1b/bVC2KAMFXrQFl6khXsvrdKsCDSD
NBu5ZeC1tdurywyP5Zpls8Oujen0/amUobnzNOOOn/RSW83V1KNksk0BDuRES/cRwFc7fv1vj3Ce
ahemgZZom8DBKDvkifPNzzTtLiMCBWkuXOMs6hoK3nLAelpqO0fvvD7conTTbDQoBuNidJOLaB/9
AQAA//8DACYMYHwZAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262ad8dc90f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:16 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '209'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999807'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_f2ddca730d6bcfee25aa299aae228b3b
status:
code: 200
message: OK
version: 1
@@ -1,264 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_QuoM3apXxdwPiRf1I05bXBGJ", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_QuoM3apXxdwPiRf1I05bXBGJ"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_QXehHFMaYWzCrzeLSfS9Um98", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_QXehHFMaYWzCrzeLSfS9Um98"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2957'
content-type:
- application/json
cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
_cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFLRitswEHz3V4h9joud5OzEb1cKpVxK2lI4rk0xOnnt6CJLqrTuJYT8
+2HHiX2hehBiR7MzmtUxYAxkARkDseUkaqvC+2QX7Rq9Xj2tPircF8vFy9fkm318+v4QRzBpGeb5
BQVdWB+Eqa1CkkafYeGQE7Zd43SaxGkULxcdUJsCVUurLIVzE9ZSy3AaTedhlIbxomdvjRToIWO/
A8YYO3Z761MXuIeMRZNLpUbveYWQXS8xBs6otgLce+mJa4LJAAqjCXVrXTdKjQAyRuWCKzUIn9dx
dB7C4krlv74k++Lhfv0v+rz68YlW6m/k168/H0d659YH2xkqGy2uIY3waz27EWMMNK87boWUvyKn
LbobOmPAXdXUqKm1DscNCEmHDWQb0AexgRO8u38K/nf+M4rCYdl4rvqM+vrpGroylXXm2d9kCKXU
0m9zh9x3bxlHGlzUOh1o3k0NrDO1pZzMDnXbdpYm564w/KwBje96kAxxNWIt46D3Cf7gCeu8lLpC
Z53sJg6lzeeLWTFbFou7FIJT8AYAAP//AwAAvj6a/wIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262bddec40cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:19 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '212'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999824'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_861daca9a813376b91b59cff5c985bf3
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_QuoM3apXxdwPiRf1I05bXBGJ", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_QuoM3apXxdwPiRf1I05bXBGJ"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_HcljZ01GavsCZjuc4Zr4D1Cw", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_HcljZ01GavsCZjuc4Zr4D1Cw"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_QXehHFMaYWzCrzeLSfS9Um98", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_QXehHFMaYWzCrzeLSfS9Um98"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_ZI6xdKAOv0GLRDtLlq0sOwTW", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_ZI6xdKAOv0GLRDtLlq0sOwTW"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3254'
content-type:
- application/json
cookie:
- __cf_bm=31dDELU3uW5lkL5N6ehwcUJ9X0m8Mg.jrNiyffPy2Bk-1726170197-1.0.1.1-Bt4Us9PF27Wwr..1ex38jp5DPUxAg_DmOlE7jrgj6u0wpZLgS.b.CAWIZpH4bSoLDxw95rLLBNavPBwBNpneWA;
_cfuvid=3r9E03O.tJf_FnY8ZF8e2QRK8EvC8apcXM_EKy7QPHE-1726170197129-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJBLb8IwEITv+RUrnwlKIBCSWx/HFoHKpaoqZJJN4uKX7IWWIv57lRAe
vfgw3854do8BABMly4EVDadCWRk+TLeRVMvJYzx/t6+/9dsqqWif7V8Wz8sFG7QOs/nCgi6uYWGU
lUjC6DMuHHLCNjVOR9M4jeIs64AyJcrWVlsKExMqoUU4ikZJGKVhPOvdjREFepbDRwAAcOzetqcu
8YflEA0uikLveY0svw4BMGdkqzDuvfDENbHBDRZGE+qu+qpB+EZODToQGubvT6BE3RBsEAppduVh
eO90WO08b9vrnZS9frpWkaa2zmx8z696JbTwzdoh90a333oylnX0FAB8divv/m3BrDPK0prMFnUb
mETTcx67XfpGs56RIS7vTPEk6Asyf/CEal0JXaOzTpwPUNl1MhuX46ycTVIWnII/AAAA//8DAAZX
X5YOAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262c10a000cc2-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:19 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '192'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999816'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_0a9e874dfc5c1e575da714cd63174e88
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_qQGgCY1TFXNSTEfTBFjEcw1U", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_WnhG8nD7Jzy3JH1HiInuP1Hi",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_WnhG8nD7Jzy3JH1HiInuP1Hi"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_jsMyLDXv2Wx3qU1Iik5yBgC9",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_jsMyLDXv2Wx3qU1Iik5yBgC9"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}], "model": "gpt-4o-mini",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2992'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//bFJdb5swFH3nV1j3OVRASKG8dVrWSXmYunVT1mVCrrkQN/6abbRlUf77
BCGBRvODZd3jc8/xuT4EhACvoCDAttQzaUR4f7uLapZqm9vn78v11+Uy+oxN++XDOnq/glnH0C+v
yPyZdcO0NAI91+oEM4vUY9c1zpLbOIviu3kPSF2h6GiN8WGqQ8kVD5MoScMoC+N8YG81Z+igID8C
Qgg59HvnU1X4BwoSzc4Vic7RBqG4XCIErBZdBahz3HmqPMxGkGnlUXXWVSvEBPBai5JRIUbh0zpM
zmNYVIhyuX73d/0kVsnT6nm3+PV4/5B/+vgtSiZ6p9Z70xuqW8UuIU3wS724EiMEFJU9t0Ff/kbq
t2iv6IQAtU0rUfnOOhw2wLjfb6DYgKs3cIQ314/B/84/J0lYrFtHxRDRUD9eMhe6MVa/uKsIoeaK
u21pkbr+KdNEg7NarwPtm6GBsVoaX3q9Q9W1nS+yU1cYP9aIxukAeu2pmLCyOBh8gts7j7KsuWrQ
Gsv7gUNtyjSfV/O7Kl9kEByDfwAAAP//AwBnIiBr/gIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22629e6b150f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:14 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
path=/; expires=Thu, 12-Sep-24 20:13:14 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '218'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999815'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_2cc1d72a91340c6bb06ccaeb4bdc064a
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_qQGgCY1TFXNSTEfTBFjEcw1U", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_WnhG8nD7Jzy3JH1HiInuP1Hi",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_WnhG8nD7Jzy3JH1HiInuP1Hi"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_qQGgCY1TFXNSTEfTBFjEcw1U",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_qQGgCY1TFXNSTEfTBFjEcw1U"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_jsMyLDXv2Wx3qU1Iik5yBgC9",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_jsMyLDXv2Wx3qU1Iik5yBgC9"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_EXBzXTlK2TKZk5qQAG8OHV02",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_EXBzXTlK2TKZk5qQAG8OHV02"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3286'
content-type:
- application/json
cookie:
- __cf_bm=dwdN0mbb1EDWrpS5Hmur9gPigr0ehEHVQGiVyw_u1gI-1726170194-1.0.1.1-nXVArwFWHv8rQ_t6qiXD_J_O4DBpKA6NuS4Glo1TKAehUQjm82n9XrkjwY1kjL7pGb8DC5ZghjRYni9vrliv5w;
_cfuvid=8lKgGHn8y6GdrqFCgX5T.8PsN32DH5d9pu0eSmiSjIQ-1726170194087-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDNTsMwEITveYrF5wYlbWia3CpQRQ8IqXBBCFWus0lMHdvyOpSq6ruj
pOkPFx/m84xm9hAAMFmwHJiouReNVeF8uo0q9/qyXD0v3xern6TEp+wReTX/mJZs1DnM5huFP7vu
hWmsQi+NPmHhkHvsUuN0PI3TKM6SHjSmQNXZKuvDxISN1DIcR+MkjNIwng3u2kiBxHL4DAAADv3b
9dQF/rIcotFZaZCIV8jyyycA5ozqFMaJJHmuPRtdoTDao+6rv9cIO+S+RgdSwxvXsHBcC0nCgCTg
asf3BNRqvb+7zXBYtsS7HbpVatCPl1LKVNaZDQ38opdSS6rXDjkZ3RUgbyzr6TEA+OrHt//2MOtM
Y/3amy3qLnAyS0557HrzK42HyzBvPFc3riwJhoaM9uSxWZdSV+isk6dblHadzCbFJCtmDykLjsEf
AAAA//8DAEzoHmkZAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2262a17ef90f6d-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:43:14 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '170'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999807'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_9668cbd4179b1b57f5caec2914a9d39f
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_uWyOwF0jTIvnGHkNMlS1R76a", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_MLgoAu9AhXcdbwTZPi8vbTNM",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_MLgoAu9AhXcdbwTZPi8vbTNM"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_aDj0DplD82uTGDY3tXUAPmm3",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_aDj0DplD82uTGDY3tXUAPmm3"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}], "model": "gpt-4o-mini",
"n": 1, "stream": false, "temperature": 0.0, "tools": [{"type": "function",
"function": {"name": "get_weather", "description": "Use this to get weather
information.", "parameters": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2992'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSTY+bMBC98yusOYcqELJkuW3bw6pfanvYijYr5DUD8a6xLXtog6L89wpCAhut
D5Y1z2/e8xsfAsZAlpAxEDtOorEqvLt5iX7vff75/oP8tfYfvfy6d9/Lbz8futzBomeYp2cUdGa9
E6axCkkafYKFQ07Yd43S+CZKl3FyOwCNKVH1tNpSmJiwkVqG8TJOwmUaRpuRvTNSoIeM/QkYY+ww
7L1PXeIeMrZcnCsNes9rhOxyiTFwRvUV4N5LT1wTLCZQGE2oe+u6VWoGkDGqEFypSfi0DrPzFBZX
qhA/3ts71X2KNw/r+y9R+TdPnnUu8pneqXVnB0NVq8UlpBl+qWdXYoyB5s3ArZGKf8hph+6Kzhhw
V7cNauqtw2ELQlK3hWwLvtrCEV5dPwZvnR9nSTisWs/VGNFYP14yV6a2zjz5qwihklr6XeGQ++Ep
80SDs9qgA+2roYF1prFUkHlB3bddrdNTV5g+1oRGyQiSIa5mrDQKRp/gO0/YFJXUNTrr5DBwqGyR
bFbl6rbcrFMIjsF/AAAA//8DAHl6BCf+AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2263f72b788cca-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:09 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=laYJqhfXA0uPVQ.UjD9idqf2oyzNZmHW95rmP4fewCQ-1726170249-1.0.1.1-a6cClkW7pKJ.BzuswNwYXH3QY.zrCIXxK3BiqSY6koeKkO7j.KtwvYquHtH8IV5cOxIKufPCCqzs.tq_XqEN7A;
path=/; expires=Thu, 12-Sep-24 20:14:09 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=mt86Lk_V0ZYXrkBf_4G443kPSJ5UxRrdv8Ku4P81f8w-1726170249225-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '203'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999815'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_ae9ee08968819cb0e5132aca38092f37
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in sf", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_uWyOwF0jTIvnGHkNMlS1R76a", "function": {"name": "get_weather", "arguments":
"{\"city\": \"sf\"}"}}]}, {"content": "It''s always sunny in sf", "role": "tool",
"tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"}, {"content": "The weather in
San Francisco is always sunny!", "role": "assistant"}, {"content": "what''s
the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a", "function":
{"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content": "It''s
always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_MLgoAu9AhXcdbwTZPi8vbTNM",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_MLgoAu9AhXcdbwTZPi8vbTNM"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_uWyOwF0jTIvnGHkNMlS1R76a",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_uWyOwF0jTIvnGHkNMlS1R76a"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_aDj0DplD82uTGDY3tXUAPmm3",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_aDj0DplD82uTGDY3tXUAPmm3"},
{"content": "The weather in San Francisco is always sunny!", "role": "assistant"},
{"content": "what''s the weather in sf", "role": "user"}, {"content": null,
"role": "assistant", "tool_calls": [{"type": "function", "id": "call_cQBpAlyJ28V5HL1dvY4jnYcY",
"function": {"name": "get_weather", "arguments": "{\"city\": \"sf\"}"}}]}, {"content":
"It''s always sunny in sf", "role": "tool", "tool_call_id": "call_cQBpAlyJ28V5HL1dvY4jnYcY"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3286'
content-type:
- application/json
cookie:
- __cf_bm=laYJqhfXA0uPVQ.UjD9idqf2oyzNZmHW95rmP4fewCQ-1726170249-1.0.1.1-a6cClkW7pKJ.BzuswNwYXH3QY.zrCIXxK3BiqSY6koeKkO7j.KtwvYquHtH8IV5cOxIKufPCCqzs.tq_XqEN7A;
_cfuvid=mt86Lk_V0ZYXrkBf_4G443kPSJ5UxRrdv8Ku4P81f8w-1726170249225-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJAxb8IwFIT3/IpXz6RKQpqEbF06VKqo1E5UFTLOI3FxbMvPCCLEf68c
UqCLh/t8p7t3igCYbFgNTHTci96q+LnYpavX/DC0y3merJbirXwv/NItCquObBYcZvODwv+5HoXp
rUIvjb5g4ZB7DKlpmRVpmWT5YgS9aVAFW2t9nJu4l1rGWZLlcVLGaTW5OyMFEqvhKwIAOI1v6Kkb
PLIaktmf0iMRb5HV108AzBkVFMaJJHmuPZvdoDDaox6rf3YIB+S+QwdSwwfX8OK4FpKEAUnA1YEP
BLTXeni4z3C43RMPO/ReqUk/X0sp01pnNjTxq76VWlK3dsjJ6FCAvLFspOcI4Hscv/+3h1lneuvX
3uxQh8B5lV/y2O3mN5pOl2HeeK7uXIs8mhoyGshjv95K3aKzTl5usbXrvJo380VTPZUsOke/AAAA
//8DAMv4hlgZAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2263fa3f598cca-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:09 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '200'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999807'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_c8b12a2db14a1ecd780ecf974928e002
status:
code: 200
message: OK
version: 1
@@ -1,267 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_JIDC1chH9QrCYCIOkiWIXYYH", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_zjiAU6CXeKixZD11tbK6Ubqa", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_zjiAU6CXeKixZD11tbK6Ubqa"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_clPdm0Uq6NgvEPVRS43UEPb6", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_clPdm0Uq6NgvEPVRS43UEPb6"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.0, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Use this to get weather information.",
"parameters": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '2957'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSy46bMBTd8xXWXQ8VkAcJu6qq1FYazbRVF52mQo65gGf8kn3TBkX59wrCBCaq
F8i6x+fBsU8RYyArKBiIlpPQTsXv1y8plz+Oj9v7tkNePzyk+58f7P06CBJw1zPs/hkFvbLeCaud
QpLWXGDhkRP2qmmerdM8yVbJAGhboeppjaN4aWMtjYyzJFvGSR6nm5HdWikwQMF+RYwxdhq+fU5T
4REKNmgNE40h8AahuB5iDLxV/QR4CDIQNwR3EyisITR9dHNQagaQtaoUXKnJ+LJOs/1UFleqTJTm
j0cevn/89OVz9vVbcE/4/CfkM7+LdOeGQPXBiGtJM/w6L27MGAPD9cBtkMq/yKlFf0NnDLhvDhoN
9dHhtAMhqdtBsQPTiR2c4c35c/S//e9ZFR7rQ+Bq7Gicn6+lK9s4b/fhpkOopZGhLT3yMPzLvNLo
1W3wgcObWwPnrXZUkn1B08su8vVFFaaXNaHpagTJElcz1jaNxpwQukCoy1qaBr3zcrhxqF253Cyq
xbbarHKIztE/AAAA//8DAMdBXhf/AgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2263fe583942da-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:10 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=2Fq3jwwFTAuvC1LLZvFgLoE24SNbmLjTZk7dfhar99Q-1726170250-1.0.1.1-6kKTQxUT.2ywXiUzPzC5xfIZ8vIzJkN8BkplaTsELIJagpQJ650IYo1GS1bz_TK7yU29CNP0zxEzS26c0FCNXA;
path=/; expires=Thu, 12-Sep-24 20:14:10 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=sUCh2VGPIKoIJeI5yWEyrCujEwRqKzR5Ry2DiGVP.G8-1726170250532-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '319'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999824'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_659379cfed10b64d55ab8a3e46df81f3
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "what''s the weather in nyc", "role": "user"},
{"content": null, "role": "assistant", "tool_calls": [{"type": "function", "id":
"call_JIDC1chH9QrCYCIOkiWIXYYH", "function": {"name": "get_weather", "arguments":
"{\"city\": \"nyc\"}"}}]}, {"content": "It might be cloudy in nyc", "role":
"tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"}, {"content": "The weather
in NYC might be cloudy.", "role": "assistant"}, {"content": "what''s the weather
in nyc", "role": "user"}, {"content": null, "role": "assistant", "tool_calls":
[{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function": {"name":
"get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content": "It might
be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_zjiAU6CXeKixZD11tbK6Ubqa", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_zjiAU6CXeKixZD11tbK6Ubqa"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_JIDC1chH9QrCYCIOkiWIXYYH", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_JIDC1chH9QrCYCIOkiWIXYYH"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_clPdm0Uq6NgvEPVRS43UEPb6", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_clPdm0Uq6NgvEPVRS43UEPb6"},
{"content": "The weather in NYC might be cloudy.", "role": "assistant"}, {"content":
"what''s the weather in nyc", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_0lmaPxasSEHJI2QRspZejvs7", "function":
{"name": "get_weather", "arguments": "{\"city\": \"nyc\"}"}}]}, {"content":
"It might be cloudy in nyc", "role": "tool", "tool_call_id": "call_0lmaPxasSEHJI2QRspZejvs7"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.0, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Use
this to get weather information.", "parameters": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '3254'
content-type:
- application/json
cookie:
- __cf_bm=2Fq3jwwFTAuvC1LLZvFgLoE24SNbmLjTZk7dfhar99Q-1726170250-1.0.1.1-6kKTQxUT.2ywXiUzPzC5xfIZ8vIzJkN8BkplaTsELIJagpQJ650IYo1GS1bz_TK7yU29CNP0zxEzS26c0FCNXA;
_cfuvid=sUCh2VGPIKoIJeI5yWEyrCujEwRqKzR5Ry2DiGVP.G8-1726170250532-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- AsyncOpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- async:asyncio
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJDBbsIwEETv+YqVzwQlAQLkVnHgRJGqlqqtKmScTeLi2K69lEYV/14l
pEAvPszbGc/uTwDAZM4yYKLiJGqrwrt0H/PVk23SFX0u1sev59dk02zWy2L5sGeD1mF2HyjozzUU
prYKSRp9xsIhJ2xT42mSxtMomUQdqE2OqrWVlsKxCWupZZhEyTiMpmE8692VkQI9y+AtAAD46d62
p87xm2XQZXVKjd7zEll2GQJgzqhWYdx76YlrYoMrFEYT6q76Y4VwRE4VOpAa7l8WUMuyItghCGUO
eTO8dTosDp637fVBqV4/XaooU1pndr7nF72QWvpq65B7o9tvPRnLOnoKAN67lQ//tmDWmdrSlswe
dRs4jtJzHrte+krnPSNDXN2Y4knQF2S+8YT1tpC6RGedPB+gsNvxbJSP5vlsMmXBKfgFAAD//wMA
1tsr+w4CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264022cda42da-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:11 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '208'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999816'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_78d4dcbb31b84704d7b716327bc71a62
status:
code: 200
message: OK
version: 1
@@ -1,220 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWFnZW50KGFnZW50KQoJdG9vbHModG9vbHMpCglfX2VuZF9fKFs8cD5fX2VuZF9fPC9wPl0pOjo6bGFzdAoJX19zdGFydF9fIC0tPiBhZ2VudDsKCXRvb2xzIC0tPiBhZ2VudDsKCWFnZW50IC0uICZuYnNwO2NvbnRpbnVlJm5ic3A7IC4tPiB0b29sczsKCWFnZW50IC0uICZuYnNwO2VuZCZuYnNwOyAuLT4gX19lbmRfXzsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104461'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225d358af643b1-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '9441'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:39:32 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:38:31 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=rvnOo4hD616r%2B8byCB2bAMIbhJ3rVOxny%2BDprlrySWN7DlX62zd05wP3T%2F%2BMe8%2BD6BVisIo%2B8ot%2BALAUfmCwiHp3VsnUfrnG03wcwyMx4lv6sve%2Bg8cEIyaERruXXA%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,211 +0,0 @@
interactions:
- request:
body: '{"messages": [{"content": "You are a helpful AI assistant, please respond
to the users query to the best of your ability!", "role": "system"}, {"content":
"what is the weather in sf", "role": "user"}], "model": "gpt-4o-mini", "n":
1, "stream": false, "temperature": 0.7, "tools": [{"type": "function", "function":
{"name": "get_weather", "description": "Call to get the weather from a specific
location.", "parameters": {"type": "object", "properties": {"location": {"type":
"string"}}, "required": ["location"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '516'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSXW/aMBR9z6+w7jOpgFACeUPVVqldtGpMqrYxRa5zE0z9VdvZqBD/fXIIJEXz
Q2Sd43PuybEPESHAS8gIsC31TBoRr+a7/fzr0yf1nN/WjdBv6/wxTxLefPuyeoRRUOiXHTJ/Vt0w
LY1Az7U60cwi9RhcJ+l0Ppkvl+m0JaQuUQRZbXw807HkisfT8XQWj9N4sujUW80ZOsjIr4gQQg7t
N+RUJe4hI+PRGZHoHK0RssshQsBqERCgznHnqfIw6kmmlUcVoqtGiAHhtRYFo0L0g0/rMNj3ZVEh
ivs1VeatuvuJ+Y+H/fd851ny5z6fDeadrN9NG6hqFLuUNOAveHY1jBBQVLbaGn3xF6nfor2SEwLU
1o1E5UN0OGxAaEaD4QayDaypIp8tVYw7pkfkbrWBI3xwOEb/2/8elGOxahwVXWsdfrxcg9C1sfrF
XbUKFVfcbQuL1LV/Nyw5Ok9r50Dz4R7BWC2NL7x+RRVs0+RkCv1T68lJ2pFeeyp6fDmOupTg3p1H
WVRc1WiN5e0LgMoUs0VSJstycZtCdIz+AQAA//8DAMiR9d4PAwAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225d360d540cc4-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:39:32 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=8vzRAb.wAdDeflq64jIqrV9LqOesVFgQa4y3jffqi2w-1726169972-1.0.1.1-p1H3dAq03ThXUN5213eYmBl_JJTPm2CrUbk.R9u13wtMQsADekWytxvvUycHQ9LPoGgPpXXqCZFIdnVlWI4uyg;
path=/; expires=Thu, 12-Sep-24 20:09:32 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=Wq5dLc7R8BI6ubL_20WsgA4pcax5aYm.HjryZ0EkNuk-1726169972592-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '233'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999951'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_5fdb6f0dd8c560ec9d0a2e62c31b5552
status:
code: 200
message: OK
- request:
body: '{"messages": [{"content": "You are a helpful AI assistant, please respond
to the users query to the best of your ability!", "role": "system"}, {"content":
"what is the weather in sf", "role": "user"}, {"content": null, "role": "assistant",
"tool_calls": [{"type": "function", "id": "call_GSanpqfCZeMYJxTMjtc3vGM4", "function":
{"name": "get_weather", "arguments": "{\"location\": \"San Francisco, CA\"}"}}]},
{"content": "\"It''s sunny in San Francisco, but you better look out if you''re
a Gemini \\ud83d\\ude08.\"", "role": "tool", "tool_call_id": "call_GSanpqfCZeMYJxTMjtc3vGM4"}],
"model": "gpt-4o-mini", "n": 1, "stream": false, "temperature": 0.7, "tools":
[{"type": "function", "function": {"name": "get_weather", "description": "Call
to get the weather from a specific location.", "parameters": {"type": "object",
"properties": {"location": {"type": "string"}}, "required": ["location"]}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '897'
content-type:
- application/json
cookie:
- __cf_bm=8vzRAb.wAdDeflq64jIqrV9LqOesVFgQa4y3jffqi2w-1726169972-1.0.1.1-p1H3dAq03ThXUN5213eYmBl_JJTPm2CrUbk.R9u13wtMQsADekWytxvvUycHQ9LPoGgPpXXqCZFIdnVlWI4uyg;
_cfuvid=Wq5dLc7R8BI6ubL_20WsgA4pcax5aYm.HjryZ0EkNuk-1726169972592-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.45.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.45.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAAwAAAP//VJFPb6MwEMXvfIqpL72EKpAUktyqqn/2tmp7W60ixwzg1Hgsj2mKqnz3
lQlNuhcO7zdvePP8lQAIXYkNCNXKoDpn0rti/1m8Pvhc3t0//ioZ25e3J1//XoRKfohZdNBujyp8
u24Udc5g0GRPWHmUAePWrMyLrFivy3wEHVVooq1xIV1S2mmr03yeL9N5mWaryd2SVshiA38SAICv
8Rtz2go/xQbms2+lQ2bZoNichwCEJxMVIZk1B2mDmF2gIhvQjtHfWoQDytCiB23hVVp49NIqzYpA
M3Bv7XAFz3TAD/Qz0AEYsWOIDrxmkOCMHOrewEF6q20DNXl4wngV38CD3dMQh2GHsg86DlZyuPoZ
x2Pds4yV2N6YST+e7zPUOE87nvhZr+Mf2q1HyWTjLRzIiZEeE4C/Y4/9f9UI56lzYRvoHW1cmOXZ
aZ+4PN+F5sUEAwVpfriWZTIlFDxwwG5ba9ugd16faq3ddrlaVIt1tbotRXJM/gEAAP//AwC1tUbi
ZAIAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225d3969410cc4-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:39:33 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- langchain
openai-processing-ms:
- '235'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15552000; includeSubDomains; preload
x-ratelimit-limit-requests:
- '30000'
x-ratelimit-limit-tokens:
- '150000000'
x-ratelimit-remaining-requests:
- '29999'
x-ratelimit-remaining-tokens:
- '149999927'
x-ratelimit-reset-requests:
- 2ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_79abdce764361067cefbdb59249d15d2
status:
code: 200
message: OK
version: 1
@@ -1,245 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in SF?"}], "model": "claude-3-opus-20240229", "tools": [{"name":
"get_weather", "description": "Use this to get weather information.", "input_schema":
{"type": "object", "properties": {"city": {"enum": ["nyc", "sf"], "type": "string"}},
"required": ["city"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '343'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2RSS2/aQBD+K6M5tZKhQF7Cinppy4G2UqOk7aGu0Go94A32rLMzCyGI/x6teZQq
J8vfzveYxxZdiTk2spgNhuOrz4/jy7tq88P/fpna+PI4mWxuMEPdtJSqSMQsCDMMvk6AEXGihhUz
bHxJNeZoaxNL6l30fBulNxqMLgej0RgztJ6VWDH/sz0KKj0navfJ8VYrx0vHi48FP1QEUSiAEzCS
QJj7AGsyWiWU5z40Rp3nDteKwDrdgJ/DvWGYBMPWifXw7n7yvl9wwQ8eDMuaUrGTrKMEqmllWEG9
r5PVgnR28MhgXTlbgZolCRgI9BRdoBIKTE4FQmuCaUgp9KEzOEaujEDpAlmtN9AGv3IllZ3fytSR
oECZF3jK/VbvaN0YtRUJeKbU2EHBlUAcm72YHGSMnsVJae4dWzo0eQh+KkidtoGEWDNYE1jDKacl
KmHttAJr6jqNPNHPRrIfk/qEnaRJNNHeLqZf8O2H00pxl/1bu/f1LEo6pO760n+cDYa/7ibPX715
ku/TT82Xu2/P0+XNz2vMkE2TeGdREpXbqJhvu/FhjjLH3e5vhqK+nQUy4vl/r+5BUmS2hDnHus4w
dhedb/dyM/VLYsH8ejjM0Ec9x4ZXF7vdKwAAAP//AwCP1rr6MQMAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22648a185b7d06-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:39 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01E1pN6DnnrP3Vbcq2kYTJgT
via:
- 1.1 google
x-cloud-trace-context:
- a6e5488deb930ba4e14e5ed009197a3d
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in SF?"}, {"role": "assistant", "content": [{"text": "<thinking>\nThe
user is asking for weather information for the city of San Francisco (SF).\n\nTo
answer this, the relevant tool is get_weather, which takes a required \"city\"
parameter. \n\nThe user has directly provided the value \"sf\" for the \"city\"
parameter, which matches one of the valid enum values for that parameter.\n\nSince
the required parameter is present, we can proceed with calling the get_weather
tool to get the requested weather information.\n</thinking>", "type": "text"},
{"type": "tool_use", "name": "get_weather", "input": {"city": "sf"}, "id": "toolu_01VQFxKoaqsMJCmEQLxJk7U6"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "It is 75 degrees
and sunny in SF, with 3 mph winds in the South-East direction", "tool_use_id":
"toolu_01VQFxKoaqsMJCmEQLxJk7U6", "is_error": false}]}], "model": "claude-3-opus-20240229",
"tools": [{"name": "get_weather", "description": "Use this to get weather information.",
"input_schema": {"type": "object", "properties": {"city": {"enum": ["nyc", "sf"],
"type": "string"}}, "required": ["city"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1213'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yPT0vDQBDFv8ow543URK3ds7UX9VJFUCRss9NkdTObZmaJpfS7S4uCpwe/9wfe
AYNHi7209ezydbvs3/wTlauXzY3o3ePuUx5WaFD3A51SJOJaQoNjiifgRIKoY0WDffIU0WITXfZU
VEUashTlrLyaleUCDTaJlVjRvh/+BpW+T9WzWHzuCCZy2tEIgWHtGO5Hx02QJkEQmF+Dp3YkEnDs
QTLz3sAUtIMY2k6hgn7oYArsBTYxTYFb2I6pB+0I1ilrVyyd6AUePwyKpqEeyUlitEjsa80j468h
tMvEDaHlHKPBfD5uDxh4yFpr+iIWtPPFrcGU9T+ryuPxBwAA//8DAP2JyKlXAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264b8aa637d06-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:42 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01CmsSA5mU3WZSeaTGKzL5fd
via:
- 1.1 google
x-cloud-trace-context:
- f4d0be7af3be79ddae47c9e72363513f
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "It is 75
degrees and sunny in SF, with 3 mph winds in the South-East direction"}], "model":
"claude-3-opus-20240229", "tool_choice": {"type": "tool", "name": "WeatherResponse"},
"tools": [{"name": "WeatherResponse", "description": "Respond to the user with
this", "input_schema": {"properties": {"temperature": {"description": "The temperature
in fahrenheit", "type": "number"}, "wind_directon": {"description": "The direction
of the wind in abbreviated form", "type": "string"}, "wind_speed": {"description":
"The speed of the wind in km/h", "type": "number"}}, "required": ["temperature",
"wind_directon", "wind_speed"], "type": "object"}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '706'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQUUvDQBCE/8s8XyG5ttTcm1SxCD6kCiIi4UjWNDS5O7N7Vg3575JUoY/77czs
sAOaCgYd10WSZqfduj58hY1uru+uPp9+lg/UHKEg34EmFTHbmqDQ+3YClrlhsU6g0PmKWhiUrY0V
LZYLHyIvdKJXidYZFErvhJzAvA7/geJ9W0SeEuca0xyLJE3rF6abbX7PdbYt5V3n+3xXQsHZbvI9
k5UD9Xvi4N3Z7kIUmAFCXaDeSuwJZrNWODWuKqqmp1K8g8HjLf4gB6IKZjmObwosPhQ9WZ5FF8Xm
BdNHJFcSjIttqxDnP5jhfLcQfyTHMKt1puCjXLKNHsdfAAAA//8DAJRNampmAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264c73fef7d06-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:45 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01C1x1bsAcyCfAKcFpDd27Db
via:
- 1.1 google
x-cloud-trace-context:
- afc392315587743db45fe451a075be88
status:
code: 200
message: OK
version: 1
@@ -1,168 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in SF?"}], "model": "claude-3-opus-20240229", "tool_choice": {"type":
"any"}, "tools": [{"name": "get_weather", "description": "Use this to get weather
information.", "input_schema": {"type": "object", "properties": {"city": {"enum":
["nyc", "sf"], "type": "string"}}, "required": ["city"]}}, {"name": "WeatherResponse",
"description": "Respond to the user with this", "input_schema": {"properties":
{"temperature": {"description": "The temperature in fahrenheit", "type": "number"},
"wind_directon": {"description": "The direction of the wind in abbreviated form",
"type": "string"}, "wind_speed": {"description": "The speed of the wind in km/h",
"type": "number"}}, "required": ["temperature", "wind_directon", "wind_speed"],
"type": "object"}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '830'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SPQUvDQBCF/8s7byDdtqB7NEUF6aEHQSoS1mSahCa7a2YWiSH/XTYi6HHem/ne
mxldDYOBmzLf6HN3eg9TWxxt2zSXs3uQ/dcIBZkCpS1itg1BYfR9Eixzx2KdQGHwNfUwqHoba8q2
mQ+RM53rXa71LRQq74ScwLzOv0Dxvi8jJ+JaI82xzDePzck9xZch3B2uu6Lj53A8FPdQcHZIdw1J
+UlWWkrtOheiwMyoOplgwBcsy5sCiw/lSJa9+5+1GkwfkVxFMC72vUJcXzPzD64UfyXHMPtcK/go
f7XtzbJ8AwAA//8DAJo93fU5AQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c22646588cf7d06-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:28 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_018FcoLAnhiqc6JjEhkteWxi
via:
- 1.1 google
x-cloud-trace-context:
- 63d7590271838e6a0463c0abeeb6e130
status:
code: 200
message: OK
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in SF?"}, {"role": "assistant", "content": [{"type": "tool_use",
"name": "get_weather", "input": {"city": "sf"}, "id": "toolu_01HgQnKuXmpBDk4CisUpMDCF"}]},
{"role": "user", "content": [{"type": "tool_result", "content": "It is 75 degrees
and sunny in SF, with 3 mph winds in the South-East direction", "tool_use_id":
"toolu_01HgQnKuXmpBDk4CisUpMDCF", "is_error": false}]}], "model": "claude-3-opus-20240229",
"tool_choice": {"type": "any"}, "tools": [{"name": "get_weather", "description":
"Use this to get weather information.", "input_schema": {"type": "object", "properties":
{"city": {"enum": ["nyc", "sf"], "type": "string"}}, "required": ["city"]}},
{"name": "WeatherResponse", "description": "Respond to the user with this",
"input_schema": {"properties": {"temperature": {"description": "The temperature
in fahrenheit", "type": "number"}, "wind_directon": {"description": "The direction
of the wind in abbreviated form", "type": "string"}, "wind_speed": {"description":
"The speed of the wind in km/h", "type": "number"}}, "required": ["temperature",
"wind_directon", "wind_speed"], "type": "object"}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '1193'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA0yQUUvDQBCE/8s8XyFJU2rvtfoiVbBSVETCednWYHJ33u61aMh/l6QKfdxvZ2aH
7dHU0Oj4UGX5Om+u36PdyLE7rs32Kty6+FJCQb4DjSpiNgeCQvTtCAxzw2KcQKHzNbXQsK1JNc3m
Mx8Sz4qsKLOiWEHBeifkBPq1/w8U79sq8Zg41RjnVGX5Yi/xeWfs/d1+t/mh04Mtm90cCs50o++J
jHxQ3BIH7852F5JA9xDqAkUjKRL0cqFwalxd1U0kK95B4/EGf5ADUQ09H4Y3BRYfqkiGJ9FFsWnB
9JXIWYJ2qW0V0vQH3Z/vVuI/yTH0YpUr+CSXbLkchl8AAAD//wMA5b12uWYBAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c2264741f497d06-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:44:32 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
request-id:
- req_01GpcMvrnN9EKVSEq7TgPouw
via:
- 1.1 google
x-cloud-trace-context:
- 2119484aea548993e14d33ff509b9c3b
status:
code: 200
message: OK
version: 1
-208
View File
@@ -1,208 +0,0 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.32.3
method: GET
uri: https://mermaid.ink/img/JSV7aW5pdDogeydmbG93Y2hhcnQnOiB7J2N1cnZlJzogJ2xpbmVhcid9fX0lJQpncmFwaCBURDsKCV9fc3RhcnRfXyhbPHA+X19zdGFydF9fPC9wPl0pOjo6Zmlyc3QKCWEoYSkKCWIoYikKCWMoYykKCWQoZCkKCV9fZW5kX18oWzxwPl9fZW5kX188L3A+XSk6OjpsYXN0CglfX3N0YXJ0X18gLS0+IGE7CglhIC0tPiBiOwoJYSAtLT4gYzsKCWIgLS0+IGQ7CgljIC0tPiBkOwoJZCAtLT4gX19lbmRfXzsKCWNsYXNzRGVmIGRlZmF1bHQgZmlsbDojZjJmMGZmLGxpbmUtaGVpZ2h0OjEuMgoJY2xhc3NEZWYgZmlyc3QgZmlsbC1vcGFjaXR5OjAKCWNsYXNzRGVmIGxhc3QgZmlsbDojYmZiNmZjCg==?bgColor=!white
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Access-Control-Allow-Origin:
- '*'
Age:
- '104456'
CF-Cache-Status:
- HIT
CF-RAY:
- 8c225d798edd8ccc-EWR
Cache-Control:
- max-age=2678400
Connection:
- keep-alive
Content-Length:
- '8753'
Content-Type:
- image/jpeg
Date:
- Thu, 12 Sep 2024 19:39:42 GMT
Last-Modified:
- Wed, 11 Sep 2024 14:38:46 GMT
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=jN%2FFRzSIqDz2xJ9Z1IXR0y1NhklCtu2oHxwbfI%2FsxIu7bK%2B6YqcFkYTf0IJHxwr0n98mAGWBimDbWL3iEojzP7iV8nD7%2FnfeeWTDXvNoUeH4Xu93th%2B437%2Fbmd17qw%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Vary:
- Origin, Accept-Encoding
alt-svc:
- h3=":443"; ma=86400
status:
code: 200
message: OK
version: 1
@@ -1,88 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "hi!"}],
"model": "claude-3-5-sonnet-20240620", "tools": [{"name": "weather_search",
"description": "Search for the weather", "input_schema": {"type": "object",
"properties": {"city": {"type": "string"}}, "required": ["city"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '291'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQwU4CQRBEf6XtC5dds4AQMxcOJgSMB+EkGrOZzDQwYehZt3uCK+HfzaIePFXy
qro6qTMGjwaPsqur4cv89f5r9aib7XT9sLer9mm+WT9jgdo11KdIxO4IC2xT7IEVCaKWFQs8Jk8R
Dbpos6dyXE5KScyk5aga3VXTUYUFusRKrGjezn+lSp/9+VUMLijGdANLHQhwcASa4Eik0KV8C4t0
AmcZlvDzuaegydtuBksB3VNLYLnTfeAdSEMubIPrUwMPMRyudQdOJ0gt+CAui8zw8l6gaGrqlqwk
RoPEvtbcMv4aQh+Z2BEazjEWmK8zmDMGbrLWmg7EgmY8mRSYsv5jw8vlGwAA//8DAFl+cjplAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225e2d2de85e7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:13 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:40:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:40:13Z'
request-id:
- req_01F78VJ5HAfKN2od67QNLfp9
via:
- 1.1 google
x-cloud-trace-context:
- 5c4ee115b609f5edeac288346e757944
status:
code: 200
message: OK
version: 1
@@ -1,89 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in sf?"}], "model": "claude-3-5-sonnet-20240620", "tools": [{"name":
"weather_search", "description": "Search for the weather", "input_schema": {"type":
"object", "properties": {"city": {"type": "string"}}, "required": ["city"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '313'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQ22oCQQyGX2XI9SirtiJzr/ZgL+oJpJRlOht16W6imwwqsu9edkupXoUcvv9P
coU8Awel7NKkt3xZrDez9aucVtPxSU6b85hXC7CglwM2UyjidwgWKi6aghfJRT0pWCg5wwIchMLH
DDuDzmNHmAi100/6D8mwn4CFwKRICu7j+ieqeG7wNjhYstmhGt2jOaHXPVYmpy1XpdecyWy5MgtP
ZlJ5CrkEtubZBE8mCt5CqaCvwt5sI4UG7JoZqinRZGx077UVunDsQm3/N2Eu0ijNfe1TmjymSW86
eH+qjtN5OZj13iajuc+yr+kELJAvG+7es6HpEBXcFUKuF3BwtzHU9acFUT6kFXphunduG4LHiBQQ
HMWisBDbt7vrr3Kq/I0k4AbDxAJHva2Nkrr+AQAA//8DAELPQY3VAQAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225e361bf75e7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:14 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:40:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:40:14Z'
request-id:
- req_01Pownf33ocuNoBeaqRQmD6k
via:
- 1.1 google
x-cloud-trace-context:
- b30491d30cd22027d0c7d233a3d540c1
status:
code: 200
message: OK
version: 1
@@ -1,98 +0,0 @@
interactions:
- request:
body: '{"max_tokens": 1024, "messages": [{"role": "user", "content": "what''s
the weather in sf?"}, {"role": "assistant", "content": [{"text": "Certainly!
I can help you find out the weather in San Francisco. To get this information,
I''ll use the weather search tool. Let me do that for you right away.", "type":
"text"}, {"type": "tool_use", "name": "weather_search", "input": {"city": "San
Francisco"}, "id": "toolu_012fytK8zFBbxb1wNnVdVza8"}]}, {"role": "user", "content":
[{"type": "tool_result", "content": "User requested changes: pass in the country
as well", "tool_use_id": "toolu_012fytK8zFBbxb1wNnVdVza8", "is_error": false}]}],
"model": "claude-3-5-sonnet-20240620", "tools": [{"name": "weather_search",
"description": "Search for the weather", "input_schema": {"type": "object",
"properties": {"city": {"type": "string"}}, "required": ["city"]}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '851'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.34.2
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.34.2
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.9
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: !!binary |
H4sIAAAAAAAAA2ySQW8TQQyF/4rlSy+bKCQtlL1wQLSKhLhUFUK0ioZZbzJk1t7anoQQ9b+j3TbQ
SpxGemP7fc/yEVODNXa2Xs3eLOzy+senr99YL+ZXP+W6u9Uvux1W6IeehioyC2vCClXyIASzZB7Y
scJOGspYY8yhNDRZTC4mJszkk/lsfj57O59hhVHYiR3r78fTUKdfQ/v41LiE0EuWdfpN0IqCbwhk
R2ppvfEpLB2MqLNR31PwDSkYBY0bcJEMSg8lKRl0ogTWU0xtipC4Fe2CJ+EpfCaHjiDY9q8FUxyy
6QEa8pCygQv0KrvUEBykwD75BkKMRYP/c3459o7v+KOU3Iz1faZgBFG4TdpBagf1TAmUWlJNvB4c
bgLDlQaOyaJA4pHllpNTAzcenOwDLFswqWB5lvMp6Yn6hBHWIfET4iC/jp4lPude/h8iQJPalpTY
XwNVpxT5aWFblv1oEKWw6wGCwZ5ynuLjfYXm0q+UggljjcTNyosyPn8YPRTiSFhzybnCMh5SfcTE
ffGVy5bYsD5/t6hQir/ULt8/Pv4BAAD//wMAatf7IqcCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8c225e6fe9995e7a-EWR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 12 Sep 2024 19:40:25 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
X-Robots-Tag:
- none
anthropic-ratelimit-requests-limit:
- '4000'
anthropic-ratelimit-requests-remaining:
- '3999'
anthropic-ratelimit-requests-reset:
- '2024-09-12T19:40:54Z'
anthropic-ratelimit-tokens-limit:
- '400000'
anthropic-ratelimit-tokens-remaining:
- '400000'
anthropic-ratelimit-tokens-reset:
- '2024-09-12T19:40:25Z'
request-id:
- req_01WjrYnc1dAYz7McZ7MLCeRL
via:
- 1.1 google
x-cloud-trace-context:
- 8a391a37d0a53a995e9bd2ce18631c5e
status:
code: 200
message: OK
version: 1

Some files were not shown because too many files have changed in this diff Show More