From f27d8e16ad24468d697e90c59a74d71d643887dc Mon Sep 17 00:00:00 2001 From: Andrew Nguonly Date: Thu, 20 Jun 2024 13:38:54 -0700 Subject: [PATCH] docs: Add initial LangGraph Cloud docs (#725) * Create Deploy docs. * Add LangGraph CLI docs. * Update API concepts page. * Create quick start page. * first draft (#695) * first draft * fmt * fmt * Revert "fmt" This reverts commit e599030ab50c658c437d8a05cc5383afe6614407. * Revert "fmt" This reverts commit ec8fca977ecd9de9259addd68f65f2f2fcdfdb70. * var change * import lint * changed locations * second draft * fmt * Revert "fmt" This reverts commit 68a1c5c87254fbebf4132b997bd2bd9c5e347668. * double texting lint * concepts (#704) * concepts * python sdk * docs structure * fmt * fmt * Small touch ups, rename Hosted LangGraph API to LangGraph Cloud. (#724) * Fix small typos. * Fix broken links in quick start page. * Add LangGraph Cloud reference docs. --------- Co-authored-by: Isaac Francisco <78627776+isahers1@users.noreply.github.com> --- docs/_scripts/copy_notebooks.py | 9 +- docs/docs/deploy/api_concepts.md | 24 + docs/docs/deploy/deployment/img/api_page.png | Bin 0 -> 127068 bytes .../deployment/img/deploy_filled_out.png | Bin 0 -> 113429 bytes .../deploy/deployment/img/deployed_page.png | Bin 0 -> 131416 bytes .../deploy/deployment/img/deployment_page.png | Bin 0 -> 97058 bytes .../deployment/img/graph_visualization.png | Bin 0 -> 62877 bytes docs/docs/deploy/deployment/managed.md | 157 ++ docs/docs/deploy/deployment/self_hosted.md | 9 + docs/docs/deploy/index.md | 11 + docs/docs/deploy/quick_start.md | 70 + docs/docs/deploy/reference/api_ref.md | 2 + docs/docs/deploy/reference/cli.md | 142 ++ .../deploy/reference/sdk/js_ts_sdk_ref.md | 2 + .../deploy/reference/sdk/python_sdk_ref.md | 2 + docs/docs/deploy/sdk/img/graph_diagram.png | Bin 0 -> 56102 bytes docs/docs/deploy/sdk/img/thread_diagram.png | Bin 0 -> 110865 bytes docs/mkdocs.yml | 36 +- examples/cloud_examples/background_run.ipynb | 625 ++++++++ .../cloud_examples/configuration_cloud.ipynb | 200 +++ .../cloud_examples/enqueue_concurrent.ipynb | 184 +++ .../human-in-the-loop_cloud.ipynb | 685 ++++++++ .../cloud_examples/interrupt_concurrent.ipynb | 175 ++ .../cloud_examples/reject_concurrent.ipynb | 172 ++ .../cloud_examples/rollback_concurrent.ipynb | 155 ++ examples/cloud_examples/same-thread.ipynb | 184 +++ examples/cloud_examples/stream_messages.ipynb | 1402 +++++++++++++++++ examples/cloud_examples/stream_updates.ipynb | 219 +++ examples/cloud_examples/stream_values.ipynb | 258 +++ examples/sdk/img/graph_diagram.png | Bin 0 -> 56102 bytes examples/sdk/img/thread_diagram.png | Bin 0 -> 110865 bytes examples/sdk/js_sdk.ipynb | 24 + examples/sdk/python_sdk.ipynb | 617 ++++++++ 33 files changed, 5360 insertions(+), 4 deletions(-) create mode 100644 docs/docs/deploy/api_concepts.md create mode 100644 docs/docs/deploy/deployment/img/api_page.png create mode 100644 docs/docs/deploy/deployment/img/deploy_filled_out.png create mode 100644 docs/docs/deploy/deployment/img/deployed_page.png create mode 100644 docs/docs/deploy/deployment/img/deployment_page.png create mode 100644 docs/docs/deploy/deployment/img/graph_visualization.png create mode 100644 docs/docs/deploy/deployment/managed.md create mode 100644 docs/docs/deploy/deployment/self_hosted.md create mode 100644 docs/docs/deploy/index.md create mode 100644 docs/docs/deploy/quick_start.md create mode 100644 docs/docs/deploy/reference/api_ref.md create mode 100644 docs/docs/deploy/reference/cli.md create mode 100644 docs/docs/deploy/reference/sdk/js_ts_sdk_ref.md create mode 100644 docs/docs/deploy/reference/sdk/python_sdk_ref.md create mode 100644 docs/docs/deploy/sdk/img/graph_diagram.png create mode 100644 docs/docs/deploy/sdk/img/thread_diagram.png create mode 100644 examples/cloud_examples/background_run.ipynb create mode 100644 examples/cloud_examples/configuration_cloud.ipynb create mode 100644 examples/cloud_examples/enqueue_concurrent.ipynb create mode 100644 examples/cloud_examples/human-in-the-loop_cloud.ipynb create mode 100644 examples/cloud_examples/interrupt_concurrent.ipynb create mode 100644 examples/cloud_examples/reject_concurrent.ipynb create mode 100644 examples/cloud_examples/rollback_concurrent.ipynb create mode 100644 examples/cloud_examples/same-thread.ipynb create mode 100644 examples/cloud_examples/stream_messages.ipynb create mode 100644 examples/cloud_examples/stream_updates.ipynb create mode 100644 examples/cloud_examples/stream_values.ipynb create mode 100644 examples/sdk/img/graph_diagram.png create mode 100644 examples/sdk/img/thread_diagram.png create mode 100644 examples/sdk/js_sdk.ipynb create mode 100644 examples/sdk/python_sdk.ipynb diff --git a/docs/_scripts/copy_notebooks.py b/docs/_scripts/copy_notebooks.py index 0aae600bf..ff156f0e7 100644 --- a/docs/_scripts/copy_notebooks.py +++ b/docs/_scripts/copy_notebooks.py @@ -8,6 +8,8 @@ examples_dir = root_dir / "examples" docs_dir = root_dir / "docs/docs" how_tos_dir = docs_dir / "how-tos" tutorials_dir = docs_dir / "tutorials" +cloud_how_tos_dir = docs_dir / "deploy/how-tos" +cloud_sdk_dir = docs_dir / "deploy" _MANUAL = { "how-tos": [ @@ -96,6 +98,10 @@ def copy_notebooks(): continue if any(path in _HOW_TOS for path in root.split(os.sep)): dst_dir = how_tos_dir + elif 'sdk' in root.split(os.sep): + dst_dir = cloud_sdk_dir + elif 'cloud_examples' in root.split(os.sep): + dst_dir = cloud_how_tos_dir else: dst_dir = tutorials_dir for file in files: @@ -118,7 +124,6 @@ def copy_notebooks(): ) print(f"Overriding: {src_path} to {dst_path}") break - # Avoid double nesting. dst_path = dst_path.replace("tutorials/tutorials", "tutorials").replace( "how-tos/how-tos", "how-tos" @@ -135,6 +140,7 @@ def copy_notebooks(): with open(dst_path, "w") as f: f.write(content) dst_dir = dst_dir_ + # Top level notebooks are "how-to's" # for file in examples_dir.iterdir(): # if file.suffix.endswith(".ipynb") and not os.path.isdir( @@ -144,7 +150,6 @@ def copy_notebooks(): # dst_path = os.path.join(docs_dir, "how-tos", file.name) # shutil.copy(src_path, dst_path) - if __name__ == "__main__": clean_notebooks() copy_notebooks() diff --git a/docs/docs/deploy/api_concepts.md b/docs/docs/deploy/api_concepts.md new file mode 100644 index 000000000..030251396 --- /dev/null +++ b/docs/docs/deploy/api_concepts.md @@ -0,0 +1,24 @@ +# API Concepts +This page discusses high-level concepts of the LangGraph Cloud. + +## Assistant +An assistant is a configured instance of a [`CompiledGraph`](../../reference/graphs/#compiledgraph). It abstracts the cognitive architecture of the graph and contains instance specific configuration and metadata. Multiple assistants can reference the same graph but can contain different configuration and metadata, which may differentiate the behavior of the assistants. + +An assistant (i.e. the graph) is invoked as part of a [run](#run). + +## Thread +A thread contains the accumulated state of a group of [runs](#run). If a run is executed on a thread, then the [state](../../concepts/#state-management) of the underlying graph of the [assistant](#assistant) will be persisted to the thread. A thread's current and historical state can be retrieved. + +To persist state, a thread must be created prior to executing a run. + +## Run +A run is an invocation of an [assistant](#assistant). Each run may have its own input, configuration, and metadata, which may affect execution and output of the underlying graph. A run can optionally be executed on a [thread](#thread). + +## Streaming +Streaming is critical in making applications based on LLMs feel responsive to end-users. There are three different ways to stream with graphs: by [values](../how_tos/cloud_examples/stream_values/), by [messages](../how_tos/cloud_examples/stream_messages/), and by [updates](../how_tos/cloud_examples/stream_updates/). + +## Human-in-the-Loop +There are many occasions where the graph cannot run completely autonomously. For instance, the user might need to input some additional arguments to a function call, or select the next edge for the graph to continue on. In these instances, we need to insert some human in the loop interaction, which you can learn about in [this how-to](../how_tos/cloud_examples/human-in-the-loop_cloud). + +## Multi-Tasking +Many times users might interact with your graph in unintended ways. For instance, a user interacting with a graph that has chat output could send one message and before the graph has finished running send a second message. To solve this issue of "double-texting" (i.e. prompting the graph a second time before the first run has finished), Langgraph has provided four different solutions, all of which are covered in the [Double Texting how-tos](../how_tos/cloud_examples/interrupt_concurrent/). diff --git a/docs/docs/deploy/deployment/img/api_page.png b/docs/docs/deploy/deployment/img/api_page.png new file mode 100644 index 0000000000000000000000000000000000000000..589f565d28bcb4fc22134eafa3318a979d7d5e83 GIT binary patch literal 127068 zcmd43by!qe`#z3{QYuJ@A|(tAjdX`d4Jn{>h=7Qs^pJuep)`oJv~+hVAf3`JFmw;y z-!z|0jylH*rXD(9qCs!ek^=(9kgK(a^44 z!@3TBiEg>jKtsEtYx?-{6WHU&R8MTIUYeR4qoL7<+J`)nLpQ*GKh3Qw^Wm$X-z{-F zEM}ugLz4c0Z;i8e)XMEAhs1`1Cj*xjzH6&5LnZp~wx0O9H;6yM$B0jUSN@8PcHC7f zQ&K9!!;O13~WJbezs<#2l8kK>ABi$Q%%%@)Xbhp3XU3k{@l0maO?Ao;3!x}-X znrYVU@*8RHMHH_GC(C!!?mzGGIJ?TOGGGySj2W5A-f_hnqtF%cu$z09;ln3tOKYAg z*Y3*R`PCp3rYJfG|CZ7)Er>gH5XrG!N-)#><8?F4I=831<-{wTPi&-G<%?{StPV>oHxBF-YMViG7^a z0}Vzep?jEnP~vmvp`2sY>xY9X9;{4Gk6c6<9Qc1?yjOC&;KuVN@!YT7tmk#Bce{Q= z7>#!dnk#R(;(?*<2>M&iSOfM_K>>{sY-6Ea@ij%m09#kUA1U}lL%SOG9t{)xO91{P zzM%hSFNXb>tN+=)b`5plBh|++82DG!(8k!<()N{=-6N&>2ym$p)2AAC8Vd3PhE^7= z21Zsdj9Hy5tWl?+2{{RXO$%c?11cvAb4yzRCt>Qpjt~IbsGr%Wss1{|&Pj;xNHtX4KAZ0!8} z{A>?7*f=;?z!5CAa7#M_Cl*Uvn!hjdpX*2%+Zx)KTHBdgSyG{{Yw*I#-cFdB8g--p z{`Yq~jh#&YcPC5Re;x}wARB5A8$0Vmw*OumoGOI+Rp5!Kld-v`gsBDS9&is4b`Cyn zp}$V}*RKEF^0!kpemj+&i~aXgf7|uvsn2YUZ5~@$fScNh{O{fTbMo&y|2a{J4fX85 z^~K*E{nxLcr$umt*#7(0L~!26K<&`b#L!?8kDfYRS&PSvdpfw+f>(PmmCEQxrJE(I z9zebp5GZpV!197O<|~Yg=LPkC-tz)#EI%xIsykv5Ps9Y!f2JNFJ?hOiwj4gk$FEnf z9k_}VZ+5L82nuFzw(u`5FsbKFJZPjsyMkpz<(c&?du*)KjMG};y%!n=>PIm&bo{rd zP0v^8M=7{Yc)$Jhzs-;xY^oK+X^$VV_FFah^vd{eNsoQa4>l$@N=#=ZLW#`_VeF8 z(|Q|&;Ep{asn~3ob-d6}I!J@>19%M_QExFOShUMD{0V4tUiBsW2}FO0?R)V1d%A*^ z8Y9-gZ@>Els*L##4Fh@SirePiS<9uD32s7Va$81Ype>3mkzB~>p-FDSAZS9gqS&;H z+XefdFRE1&)f}6lBF&qZN5wy_9mgQ(&I~VSFLc2&Vz~luUh=LyJ=&>Of7z24o_C9k z@0VWHzZ|$bT!Y(mt`BI4VsJ!@IruY;a$C{O89Dv& zOwzPhB;r$$hQ_LYTmaQkWa}6lET+Cl+krgYaZ;{V&t3M{3V(bc8E30MZ75ulKCvP? z0e$Po9oGn>Al9i1NiisMX8fE9V}&TCl28i zJK$MHHzup&r6-8hb!OW4gyDOG>XQXsvApH42eTw4$oJ~^$IL9o%Pe>-#!3d{6}10& zL-?%*7#u| zi?hvc!6eBKcVNeio!R0(IO#OeDGD%sCbgVb&LKCow`YIEFNPdH%~YX<>6Z>R+St(L zr~FKlgQ_d=V{k-@ogMF4tdEuMAI=4jzrT4u?sE#ZcDbd6VM~zxJhEZCCES-JWqQ){ zDrVK@94=eUbC-jSo9ecIOn(p}K8n3}S!v}Idm+zkMe5_jtXb6LFEC>r^6Djl;qDVg zJPfPV;rw#Zvt=cRrQQeXkVgy2A6RYhihXd1Z4w?K6?+eh)N-{nFV4>t(1XUh6NJa% zY%cK?xA$g%t_n_piQ@d}Y!p_uQ= z(-mR`dfvNiRJLGq;@k`Ov)imah^g@+DoVCyw<1-qgbkeMmQUH>_4MgIu47ThGP>hA z?S9hb!^X(0?3LVfFS2b_${@gYp|fx?(c|22nHB@K6^ftPD|6#=7y$u7)bj?3z5Cgo zx~iWHb9l=~Asix+urSyF{BXuMzNIJHB*7F7RUiJ(P1VZYiy; zchu}3Ib*-c%1Wnf8OJKIpU2?7<4xsbR^xC z5tx+4Zmw+O}RYyQv#KI+XNs~+Ni^)n`_pTnd(`jtf2DFkTq zbl~%m4(CUUf}7F2Q%;TkTm-HN$}5G7?gI{#|Fy?*Aqng z>MhCn4=OTA4Yz1h8TpI66@9SUwV|%ZkxHz2n+s<7wF`>gf+uUm#l~myIR8z4|0JY) z(o~JY_9a}j*5ty@C2ptNEgRkxJ}gK54hVLt?-C8&>*doFwoqq{XEuiOy_NHyv~@-X z$}Gms2fiw^mPo`mf4n#6O-iex)=d`wa<5x(v%;wG!yOhIyy_Tfyb=LZxg^cDXo)Wd zjqmyK-dAr_b#SZB8s}2J6H}!AqVt5{;l+M=eYB9Z`}vVcxzPNGa*>sPB97-rk+b&A zM-4qEoAsOCYJq!a2h%5vdH;$o9asq5up1ZdQcgIy>LcNJs_{a?S8@Gq2Y`++kTT`x8ye2z9WJ4S3o6=55D^=Y|^=10VDSbk@uYLz9uPVy+ zrFoSypEXXfy)H_fv*p*+M{8dN2nP#KiW3L9V~*j?hA4?^rQisW?K^5Dfm%$$E* zmd_c>NKP?61(Qp)4C!Q$^9u8Pbh^ft3sbfWI;mZ>+ZW zV?c@^j?D0c>x~Ql>KAdUnJuO>+`5|U4*_bly4`y~ftOIT7hQZgUsE~a%V?za70&($ zAnqWqei4cPR_r}ESZ~_n-y!&pr*~t%!}^#pt=y*)uWPtt-SL9()(*`?nru(8_k{FM zzlIRA=}p*8mRV@O5AJ#UXD5b;pksd!0HEv*=d%7f2)Sn0aEN54J9poM_|A1@es8qa zr5rWi_ctbEQ-<4T|9E(WBX=Vtm)8&5!%x_1~L;Bn9}jX5YV9AB)Tf!;UmjkHC&&yykgo z$kZbL>Z`ReIdz$`Uj!wQO4njD;y!`*K>-yZ7cvR+iV^yH1y36()lr0v(s&R^Y(&kxA)Gff@%z5n?u8LG35|>t=H;!R7gN$L%8Lhlb(Le`Y8pLRPb% zW`+qLOxW&&1VhJgU`0UQQa;Q*6!Ri7(_(LBFn()y%q)M@WwX`8O&r$Y?%ai(JcqTBJ>7WWeh*k2npB!nv3t!tN= z--||q;aEmMD_gO}qH9dxyU-nf-*nE3$erh9=iS9Yn$5WV_3>Eod;t9CV=Gp-W*T+j zVGX_a-#qmj0m)e>Q@o)`%Rr+|)8UIg_@I5EJ!e-f^M>%B?my?t~Dv`wzvw+?ullaw}^q4&y;(|xu!vg;ZNkoA2qR9{+U)7)6CqjMO1Z%XIp`lzj*A&EWt*P z@a4YaLHE{A3%p+oNG@|a{MA$jmbS!OwA+o^xmu;v^L5N=W?IeurRf^RG1^J`IGSNp z1Z9MZeBa?)^y)!)rD2Of$VGa`K=~;Fj>zRErqTTR^A#jkTkIkzA{~uqC}X5yNqB$* z!AJpn#;_lQ+WIE1+_s($gz6}@7uldp@VYB8j<$uWazElSX7;}gI_)E2E@&8;6czs_ z9(=Jgj=!H)PEDqly@kw>fVJ)vDOdguysOXRAupnlOY{-2BXbo}sM>{wS-`XOI=N5G zh1YQJjC}LFsvsVOk&qzlq6Ox=&c^*x<)uNyucz50dQRW(5^UsM$CiS3=g(=_4r6ot~$Ffqn zLLwP)HUVZS_=N~&{_Aa}8Dy8RkIYB38Fl|R$;22`A&pov8XWfKcskG0kRSXgU zfo8IBfj|aQP_x~9e;-uARS%i4g=KZfc;K_BK<#79kXh6e!<1Li;4gsOP_7LVla39O zTs6u$KRXd*mx6^wx@xY^V-JA3DT->;h2G~x+7^DcH#}LTB)s=D>R=JnoJF9{WSO9~ zNhFJsxoUX{CU|lYwyNjpRMLctrNa3HP~7LkMSB7!Y-_1vWvmdzD%oyCEp>3L^bEA&`J9NLf^CTaw{cz4~4=PKg@^obYbZM zrJL68H1-Ocu@Cy(gjoA5;Fp<()F8A3fy_BcGXOa-Z-@9%KYHx-F0b#797LJ^NsaXv zjRyIgH>WzJa&9m7b}Ur1GRA(yHU@`JJTu$!j}JE^WDUM!_msrytZlG`w52B;i)8u} z)1OnrPr!6eiVfVr7r)nEjQ}6A)`at;z0>%(H#q|1cJ2eg;ppfaF9PF9SqqOoIzZR<^LzxMu?;P2~=)9Hf;MH$NWWU zqmY`aMErxt?==!d+-z=4j$2lD<<;(wkrgLI+_3?XZyb!N1QpJeKS43LQ)?pzhvdLL zew);In|1~iu2{e-X)g|KUFOnSlVhtj0@Rq)`&>bmIs5go!8@!vpAF1p?7je=W6a~? zL_hmUl6bQ2E6htB_7@2(#&f%sNZDkx$aue#vqu9kDgBVOC5%|D($|^*rWn3pP)_!K zmi3fjrV2H8r9R#bO?As*hrBESd=4p(xl_{wU@FT6>{m4Uk|k+Cy-&W!pi%HeP_`0W z0;V|O&#M>7_zcBshZdd&He2;2`zR!eOp;WZ0j4nrP-C$6fg#Q;oysD>Pz$K&0~$LU zz@<)_1jB6>fXoL0Ckk16ny)w61T~M*XZsht2jMF25$IWR3seL)C2&CTi+~j^Ei`PY z%5DgO#I!=ZZjcKM)EzC{KS6{mt)&Eu*r3bH+OO;^ieB*lUFJ;vU zfXCzd7su+ni%WeefGji}%GVcFhu)SntDOyC(m66obbCqqcs7`M$O*8hMSvg}1yq4f zVn%{1NGN zklXeT62(_x8YC>NlGhinUy6Kx%O}hK>G0cTS94w(}Zo0@a-g+MM*t~ZsU?9x<+G-_QSdvFUp&jwjrN#w9C84$}G$# ztL!=9Xt37pp`^!{C&#P#x)q;=UMIM0@B=C~mI1Q5R@_r|ytgXdtWJq7^g4rE2J60% zQ-SG?T*(_yrGz!)PHQ%lLcjDrpY<1Qsh$Mk^-Yh9>ig!$Cefr9w zr|Xp9v>xHuvN*lX@AR@K!2;}2VJq=*MWG~J-7~GLAZQ9b}Az&E9 z=r_oN_Z_zwSmV_|_vq!})=b`4KulV8Yg<{NqB)_Ob-uUAZCr-$u4KOn7TnW1-*vL-}y+fSgHqipSZ- zL}A>AkHp#ig!Oe1xaap~0}^N&5N~;n!#UlbPT2Lwb&Lm*4cxZj3_YLE_d5VR{tM%HqQrgZcLL3G z4YE~@D}Oy-%-?H1DV+3?v|I@N1Jw+RVy09$0P>=4Me1B@k@nag@lL5uYE!SXUpwO`F8XE=YABMfFdlBrhqs3JZW2% zHc*^G=n{(Ty$01wxArnXLJkH`1R~|6Q(FWX-A@m&A4W~1B9@Y)PV=F|A z>ldOIM@mI0G+V(!Fj?@uszm&y2Q{IWyeLF$4 zeoir;iuJw8O~A5YnXn+<@P}?|iBwKr5#wT5h?Oew1*l)r2oKpzC9M@=m9Kr0Ii2QeXjhAkw%kS;S6adw(>6&ax3P46`t ze6I(plO%9~3EAp>jeKthJFL+V;!J5)vm~4q*bo;s9;J998wf)Spj~?Paj7z;C6Jcv z$fy$qH$784-x7S3dk7Swce$FybpBtK51_{jyNwFQ3JecZsf6D1rq~c}Y z$k#VKDP>fO+7|^x2V~|8sf61K#!Lx;KW)qr;l*jqIVpv?4nHkkCzbq@xP#KaRti} z(D|w`G=zeeG^$9Xgcmn)?5WN=MGKkNj1Xq$deizC9P!uiD%)wpF&O%a8bngot5)+k z;|Mr z_cp{cf!8V_fA&)J6;c8WCx{@W7Eotv*Ho^lLCV14Fw+{ z9_-r&Q?Oy5L*62Rw#bhs2ya;;f<_CO*&Qbe>DFY*Cwr4h8g}fl*U7y(->rOTVN%qr1p8CihsWx#1H{J8+)hbuK zy9U%7LJJU{MOMd3vng5Ip1FiFR94r7K**N8S$%@rcBK4=PWDz!>VX;`=I)#leuk*! zdeMXx6`^Ol#2Gr0@+9y3J50ecX}i=*H3~ce2muslzeag5kc?O0?lRw$WkQ4;AWsf! zI0+OWBCRwMLpAW7&&feTCU$WZiiP2|Alo_sz%T-2s|lC*36e5ZMSfap>NXcCH}xEi znHZS~%}N{NqA7L*WvH4)R6|8XtMI3`j-_FJ58-54uOP+Ba3=yDY$$;ZWMc`Vp+G(4 zbKAI-o-81@Y}WuyO0u!B!M%^t(IFYTZd>0mgHnVXn$)LYV~!>M*+|Tzt)jnlFL{C) zBc%6b_~Y4#fp34S_}48EhOc5oq)1ZBGl%~wwwkV!c?M7?&B4t5`Ff;R5E~`0rH;fv zC_YW$52)ZRUuxLbEw7+WCN>IM9T74s}M0A!2!*vtD&B%ydcj`q|oNW3+wE2w~I6lE|egLW1ET^5VFC!k0!)sZ_5oRx5kjzxn6*3BZkDjJ&Mgr z)4nJsG4WDqYr_HP^SIOH0v=EV_G8hfN+$_-#cN(BtCF|Wi~H(-ZWX-x6p*lX1|y$K@|u6uVt{nI7BDDw8FIP1BVPm4;xFQF^* zxyC^#_95Q(2jem69Q?wqx<;V}!>0C9nk(`d=!_7>g~uZeXBED`=?-Fgv~RzLtBb<- zZ+Z&J|7s#sDv_pi8;B<$4m1F?rCOEU^3p71bAFxBqWxNU9E@oD4ilNIeOsh&twF>? zzA;Ge5)qq~EJsfNSEDxaYZPW@ui5$*0In|tVm5UIF?PE~of>d#_L3hyTc$ z#h(v26dcTStL!ob({+;!LDl7IR}R^1L|3aw1`2yD}My2&xcw^rL=J3>p+VZWYF;;Y%j&FoXzP$dy}8a=3Deo^Cxhk|&2wfd_1LiNCYA z)rbeZKa|>=0@Ap^Pd%vE*&OACHS~!j&bwFuCq}aK>sFA{Uv;G4dm!7OGjwk@BWa`! zTe&i7Y#ZqC;t@604eLO(h=h>I+Y98KHQ=&+)5jo(q)<)-t~zga$SwTqOC5C9oIEME4=@*Eje4>3&%$z3X7 zA$Q43X^f z`HSOL_1yC#*p&Gcd3e)u-&7Kk{RyE`;^UA7dLr}QFOTRpsW10q>s|CCFAs9XbF!(A z(eIQ25hEl;b?luUS9JzdzN#%M+CAMm*GgDOD=UEM8jzY5R92&ow%M&J*$22(6Cfqs zrB4m1$vami4`5v`@dW8)0yt4B?g>tGp=+Su>=h8pkbLUsAklo_1R=EHu(7bTcK@qf z{BJCiIwY6Kl2#~wjYRKGO)IieSlM{ z)MYLDRq72IulF+vm$@8RYL~oHc7Feb?b7_i_XYWqj1OhP#Baqy7r4EW?{StbcPGcY z=_V*)oV z?q|o9>bnI3D<=!FRwC5;igtoim+5$X{3{aV?s%v`X>`RCl?KV<-8)#yHGp7A(-Orb zVG0U49=Bt=lY{yTiy1_hW!{{ z&zFr`76Vt?NO6xytawM9vK!zawRaY}6!1LmV%X4lPK43(3yv~Eg}VQC^}Yxn${MmfD!uYInop-!$L5SGG~|ak$h>T^lfa?{hspQGA`W z7zInVTCR9+8=Uec)9>bAu{_Y!A++%=nO)H~HO$#WcUpAbdSmZe?}zK2OO~l^jqrF3=tHuNB+afP(F^Yue1_)IM*BTMC}d;pmwhV7s!B@ z2EJi_0@Y^v`(P>XxaT!D90HnX410f{x3(uJteAs338S}TtQ*y-2xG}Nvr+@{5Vw3DhQ%t)ZOa}cx(St3^cpiuER>w0{p~J$$ zW(t}4NP^5R<0##i&_vgw!5q#0_D?LUQ5JxnbCBlz;3-lKjIps8m9LZ%WH2wwFn^DK z84^!2`{PJOw@@eQo=EUEJ`?z7<>=KqTZYH-SQG&-D8I4+z-AkM&+AVBR}q-EJ;tyZ z)KfoayVVH{mfZrY%!{tURa*54>V758#~41^(Cl zL3RCT6tj561Tc#;)ZrnJ2TQ=0&xtLFe4$lj1Vhl?mehN+tZ7zL2kK$RsYk#kmkvT+ zNA5acv=zf#mQbamc+eprc)N19!{k`sBs>MRFRX}i>T)pstG)xk<2OoCJdl7NTkb`W zkT{@e7lmHlVbMZJ+(}H7Oi}{U!gT!KlwuP)pcJ_P8FyDTdEGS;2<_v*{)^{G8u>p; zv9C>Q3bHHXB-@?fiiDliUz~`RTh6yB%S7#?yopgXixqQ0wl3HQQE%rJ#6ug3Yhb%b zGgyz-+}_|~@-esB(4pz1^I2a?(t+-mPGgCOq2?OEdUfdN3U)GOmswI5i1j4!0fTQ!5!Kn4}!LC z_uX1`zEGjp5HgVAy7Ov~vcypHzPZ}N*$?}zG{F@*0?1>2r>*Bk%a`y^3lw zg@C)ZEIy!3DaU~lg+MlPnf`2o=N&rFM;w74buFU-HTRR0*U}uNyJiQeFP^N%s0hMm z>9@B4?9(j=Cg4#}VtomFRpPWgyJgKVB^{ix#WcUrcT5}6`5*EwoI)A;SCfYhLA9a* zB+Gc-K_Ehy02VB0O+Uj4sNwP5X*Gh#BIn&c>2U9KNmAQ?S=<0nsKQ3z)+pUdbBVY? zA%-0`e=lV#OM|W_8l;vcq8qb=J}m*miu^C^UWY5@A=Q9)n^&KYtaCWcE|5Dx3BA^& zhhkW_Eu7Yi0fQwj1)5f9IGACQ+qO4I@wD7wU5hu(W^HK+i6Z_HX>$rkZiqez9xd}G z!B-IX5RSB)D$f`H7^@snVnIaq9F86Qwst-_%LB~tO@xGMcRc9L0Ynl_;W|Lm4&eFx z4iQb|aTRz&5!|5kEqc#ce0lQ1V*y~9IzJ_xsui*)QgZ|-zdB{Xo?~>UM>LpMssUq1 z?J;n1?ZN*v)42ekVua`T(&wA90#&v|JZTqe5stl5P{BmCZOU2MY{##?$Yl|z=9#Kx zsct<>`Jk;w&v4|ZS@uLhRHR^fJj-Wm{Q%X-oPkzG?xmOWt8wPl<#|OnKR`#DX;sZH zrq&tuyRxqP1bix;Q@V(?&^fL=<1lHu-Tx`aDQ zn`z7M83*GD>#NlBeZ1Fj?v!ff<`r;oYiZ8R&YQ1}Rem=)$g?=v^Ib}>xm4Dc-ENJL zXd5lNPY29!NFvW7Zf(spLzl6ncPA6sMnB#U?dDu)3~PH7Rgqs`q`won;&>Co>yBnw zx=Q4I?a24Fs&V-*KXl~uQ)Y~@TjXI&1eL1Q=-}fxPwfny$0*5*%PJOTLF0@Em4v2) z)?K9wQeCB)v#s0O^XkNsUTio%vdD_JE{o@S9>Kk~9VO#3o%cLcCA4TMmioKKdLF5n z{n$m{{`%Of@u9O<#P53Y&j#mmU(XdM$L?IB6Gx@KJTL3&Y(fnbjnmv1H

I9(xfw6RBRYO+e856v*pg>YgG>1? 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 Ms*Va-*~0(-0KTZJ#sB~S literal 0 HcmV?d00001 diff --git a/docs/docs/deploy/deployment/img/deploy_filled_out.png b/docs/docs/deploy/deployment/img/deploy_filled_out.png new file mode 100644 index 0000000000000000000000000000000000000000..e43b9e19f8fbe0f5a576db428a4dc12eeba23a0c GIT binary patch literal 113429 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%0DDap zc|T(2^-?0=8#ih#pC5$hLL$VRd42z}F2C0Exw?9XCGX`Q<^Bs3Wy$)?i@(>m@BhcN z{|iiq0Hk2Z^B08wgorojNb~`?mbD3SuKpi9qzB~H{@s$~Ka<;E-+b5Z0@Q^*BBes& zKi2u{8{Gns7lVR=|Nmr_0HCoo_*^RIpA_6L0Cq42u+m66~71G?K*)&Kwi literal 0 HcmV?d00001 diff --git a/docs/docs/deploy/deployment/img/deployed_page.png b/docs/docs/deploy/deployment/img/deployed_page.png new file mode 100644 index 0000000000000000000000000000000000000000..ccae96a1dc6d78b143c0be16f41c1d7943aa8617 GIT binary patch literal 131416 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 literal 0 HcmV?d00001 diff --git a/docs/docs/deploy/deployment/img/deployment_page.png b/docs/docs/deploy/deployment/img/deployment_page.png new file mode 100644 index 0000000000000000000000000000000000000000..606436ac81c83d0ac39276cd73d4261d3adafe83 GIT binary patch literal 97058 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 literal 0 HcmV?d00001 diff --git a/docs/docs/deploy/deployment/img/graph_visualization.png b/docs/docs/deploy/deployment/img/graph_visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..6a4190bec8171f2ef1c77ecfbddd7602b7c4fd6e GIT binary patch literal 62877 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 kwSauR4porf7ezjS$DD|T6 create a directory with the following structure + +``` +/ +|-- agent.py # code for your LangGraph agent +|-- requirements.txt # python packages required for your graph +|-- langgraph.json # configuration file for langgraph +|-- .env # environment files with API keys +``` + +### Agent File + +In your agent file, you can define as many graphs (agents) as you would like. For our example we are going to create the simplest graph possible: a one node graph. You can read about adding more complexity to your graphs in the [docs](https://langchain-ai.github.io/langgraph/tutorials/introduction/). + +Here is what our `agent.py` file looks like for this example: + +```python +from langchain_openai import ChatOpenAI +from langgraph.graph import END, MessageGraph + +model = ChatOpenAI(temperature=0) + +graph_workflow = MessageGraph() + +graph_workflow.add_node("oracle", model) +graph_workflow.add_edge("oracle", END) + +graph_workflow.set_entry_point("oracle") +graph = graph_workflow.compile() +``` + +### Configuration file + +- `langgraph.json` is a configuration file with three parts: + - `graphs` + - Pass in the graphs you want to host on your deployment, using the graph_id as the key and the path to the agent (a CompiledGraph) as the value. In our example we only use one graph, so the json looks like so: + + ```json + "graphs": { + "agent": "./agent.py:graph" + }, + ``` + + - `dependencies` + - Pass in a list of the dependencies you would like to be installed in order to host your app. In our case, we don’t need any additional dependencies besides our `requirements.txt` file, but if we did we could append them to the dependencies list using the names of the additional packages we want installed. + + ```json + "dependencies": ["."], + ``` + + - `env` + - This is simply a path to our environment file containing all variables/files to load. + + ```json + "env": ".env" + ``` + + +Putting it all together, our `langgraph.json` file should look like this: + +```json +{ + "dependencies": ["."], + "graphs": { + "agent": "./agent.py:agent" + }, + "env": ".env" +} +``` + +### Environment and Package Requirement files + +- The `.env` contains any environment variables that are needed to run your code. In our example the file looks like follows: + +```python +OPENAI_API_KEY= ... +LANGCHAIN_API_KEY= ... +LANGCHAIN_TRACING_V2=true +``` + +- The `requirements.txt` file lists python package dependencies for your project (along with the associated versions if necessary). In our example the file looks like this: + + ``` + langgraph + langchain_openai + ``` + +### Push your code to GitHub + +Create a git repo in the `` directory, and verify it’s existence. You can use the GitHub CLI if you like, or just create a repo manually. + +## Host your code on LangGraph Cloud + +### Deploy from GitHub with LangGraph Cloud + +Head to LangSmith and click on the 🚀 icon on the left navbar to create a new deployment. Click the `+ New Deployment` button. + +***If you have not deployed to LangGraph Cloud before:*** there will be a button that shows up saying Import from GitHub. You’ll need to follow that flow to connect LangGraph Cloud to GitHub. + +***Once you have set up your GitHub connection:*** the new deployment page will look as follows + +![Screenshot 2024-06-11 at 1.17.03 PM.png](./img/deployment_page.png) + +To deploy your application, you should do the following: + +1. Select your GitHub username or organization from the selector +2. Search for your repo to deploy in the search bar and select it +3. Choose any name +4. In the `LangGraph API config file` field, enter the path to your `langgraph.json` file (if left blank langsmith will automatically search for it on deployment) +5. For Git Reference, you can select either the git branch for the code you want to deploy, or the exact commit SHA. +6. If your chain relies on environment variables (for example, an OPENAI_API_KEY), add those in. They will be propagated to the underlying server so your code can access them. + +Putting this all together, you should have something as follows for your deployment details: + +![Screenshot 2024-06-11 at 1.21.52 PM.png](./img/deploy_filled_out.png) + +Hit `Submit` and your application will start deploying! + +## Inspect Traces + Monitor Service + +### Deployments View + +After your deployment is complete, your deployments page should look as follows: + +![Screenshot 2024-06-11 at 2.03.34 PM.png](./img/deployed_page.png) + +You can see that by default, you get access to the `Trace Count` monitoring chart and `Recent Traces` run view. These are powered by LangSmith. + +You can click on `All Charts` to view all monitoring info for your server, or click on `See tracing project` to get more information on an individual trace. + +### Access the Docs + +You can access the docs by clicking on the API DOCS link, which should send you to a page that looks like this: + +![Screenshot 2024-06-19 at 2.27.24 PM.png](./img/api_page.png) + +You won’t actually be able to test any of the API endpoints without authorizing first. To do so, click on the Authorize button in the top right corner, input your `LANGCHAIN_API_KEY` in the `API Key` box, and then click `Authorize` to finish the process. You should now be able to select any of the API endpoints, click `Try it out` , enter the parameters you would like to pass, and then click `Execute` to view the results of the API call. + +## Interact with your deployment via LangGraph Studio + +### Access Studio + +If you click on your deployment you should see a blue button in the top right that says `LangGraph Studio`. Clicking on this button will take you to a page that looks like this: + +![Screenshot 2024-06-11 at 2.51.51 PM.png](./img/graph_visualiztion) + +On this page you can test out your graph by passing in starting states and clicking `Start Run` (this should behave identically to calling `.invoke`). You will then be able to look into the execution thread for each run and explore the steps your graph is taking to produce its output. + +## Deploy new code + +To deploy new code that you push to GitHub, simply navigate to the deployments page, and hit `+ New Revision`. LangGraph Cloud releases what it calls a new “revision” every time you deploy code. Therefore, your first deployment automatically showed revisions. A Revision always corresponds to a new piece of code being deployed. A modal will pop up to enter new revision info. This can be thought of as a partial update on the last revision, so you do not need to enter any fields that didn’t change (*note: environment variables are not saved between revisions, you must re-enter them for each new revision)*. \ No newline at end of file diff --git a/docs/docs/deploy/deployment/self_hosted.md b/docs/docs/deploy/deployment/self_hosted.md new file mode 100644 index 000000000..4a9fe33d9 --- /dev/null +++ b/docs/docs/deploy/deployment/self_hosted.md @@ -0,0 +1,9 @@ +### Run your server locally + +First, make sure that Docker is up and running. Test that your server works by running: + +```python +langgraph up -c langgraph.json +``` + +This will bring up a local server with your graph! Access the auto-generated server for your playground to confirm everything works as planned at [http://localhost:8124](http://localhost:8124) . \ No newline at end of file diff --git a/docs/docs/deploy/index.md b/docs/docs/deploy/index.md new file mode 100644 index 000000000..6b88bac7d --- /dev/null +++ b/docs/docs/deploy/index.md @@ -0,0 +1,11 @@ +# LangGraph Cloud (alpha) + +!!! danger "Important" + LangGraph Cloud is a closed source, paid product in closed alpha stage. Self-hosting LangGraph Cloud applications is only permitted with explicit approval from LangChain. + +!!! warning "Under Construction" + LangGraph Cloud documentation is under construction. Contents may change until general availability. + +LangGraph Cloud is a managed service for deploying and hosting LangGraph applications. Deploying your application with LangGraph Cloud shortens the time-to-market for developers. With one click, start a production-ready HTTP microservice with built-in persistence for your LangGraph application. + +LangGraph Cloud is seamlessly integrated with [LangSmith](https://www.langchain.com/langsmith) and is accessible from within the LangSmith UI. diff --git a/docs/docs/deploy/quick_start.md b/docs/docs/deploy/quick_start.md new file mode 100644 index 000000000..e22304361 --- /dev/null +++ b/docs/docs/deploy/quick_start.md @@ -0,0 +1,70 @@ +# Quick Start +This quick start guide will cover how to develop an application for LangGraph Cloud, run it locally in Docker, and call the APIs to invoke a graph. + +Alternatively, clone or fork the [`langgraph/example`](https://github.com/langchain-ai/langgraph-example) GitHub repository and follow the instructions in the `README`. + +## Develop +1. Create a new application with the following directory and files: + + / + |-- agent.py # code for your LangGraph agent + |-- requirements.txt # Python packages required for your graph + |-- langgraph.json # configuration file for LangGraph + |-- .env # environment files with API keys + +2. The `agent.py` file should contain the following Python code for defining a simple graph: + + ```python + from langchain_openai import ChatOpenAI + from langgraph.graph import END, MessageGraph + + model = ChatOpenAI(temperature=0) + + graph_workflow = MessageGraph() + + graph_workflow.add_node("agent", model) + graph_workflow.add_edge("agent", END) + graph_workflow.set_entry_point("agent") + + graph = graph_workflow.compile() + ``` + +3. The `requirements.txt` file should contain the following dependencies: + + langgraph + langchain_openai + +4. The `langgraph.json` file should contain the following JSON object: + + ```json + { + "dependencies": ["."], + "graphs": { + "agent": "./agent.py:graph" + }, + "env": ".env" + } + ``` + + Learn more about the LangGraph CLI configuration file [here](./reference/cli.md#configuration-file). + +5. The `.env` file should contain the environment variables: + + OPENAI_API_KEY= + LANGGRAPH_AUTH_TYPE=noop + + !!! warning "Disable Authentication" + When testing locally, set `LANGGRAPH_AUTH_TYPE` to `noop` to disable authentication. + +## Run Locally +1. Install the [LangGraph CLI](./reference/cli.md#installation). + +2. Run the following command to start the API server in Docker: + + langgraph up -c langgraph.json + +3. The API server is now running at `http://localhost:8123`. Navigate to [`http://localhost:8123/docs`](http://localhost:8123/docs) to view the API docs. + +## Deploy to Cloud + +Follow [these instructions](./deployment/managed.md#deploy-from-github-with-hosted-langgraph) to deploy to LangGraph Cloud. diff --git a/docs/docs/deploy/reference/api_ref.md b/docs/docs/deploy/reference/api_ref.md new file mode 100644 index 000000000..70ad43dce --- /dev/null +++ b/docs/docs/deploy/reference/api_ref.md @@ -0,0 +1,2 @@ +# API Reference +Coming soon diff --git a/docs/docs/deploy/reference/cli.md b/docs/docs/deploy/reference/cli.md new file mode 100644 index 000000000..52c2551d4 --- /dev/null +++ b/docs/docs/deploy/reference/cli.md @@ -0,0 +1,142 @@ +# LangGraph CLI +The LangGraph CLI includes commands to build and run a LangGraph Cloud server locally in [Docker](https://www.docker.com/). For development and testing, use the CLI to deploy a local API server. + +## Installation +1. Ensure that Docker is installed (e.g. `docker --version`). +1. Install the `langgraph-cli` Python package (e.g. `pip install langgraph-cli`). +1. Run the command `langgraph --help` to confirm that the CLI is installed. + +## Configuration File +The LangGraph CLI requires a JSON configuration file with the following keys: + +| Key | Description | +| --- | ----------- | +| `dependencies` | **Required**. Array of dependencies for LangGraph Deploy API server. Dependencies can be one of the following: (1) `"."`, which will look for local Python packages, (2) `pyproject.toml`, `setup.py` or `requirements.txt` in the app directory `"./local_package"`, or (3) a package name. | +| `graphs` | **Required**. Mapping from graph ID to path where the compiled graph is defined. Example: `./your_package/your_file.py:variable`, where `variable` is an instance of `langgraph.graph.graph.CompiledGraph`. | +| `env` | Path to `.env` file or a mapping from environment variable to its value. | +| `python_version` | `3.11` or `3.12`. Defaults to `3.11`. | +| `pip_config_file`| Path to `pip` config file. | +| `dockerfile_lines` | Array of additional lines to add to Dockerfile following the import from parent image. | + +

+ +Example: +```json +{ + "dependencies": [ + "langchain_openai", + "./your_package" + ], + "graphs": { + "my_graph_id": "./your_package/your_file.py:variable" + }, + "env": "./.env" +} +``` + +Example: +```json +{ + "python_version": "3.11", + "dependencies": [ + "langchain_openai", + "." + ], + "graphs": { + "my_graph_id": "./your_package/your_file.py:variable" + }, + "env": { + "OPENAI_API_KEY": "secret-key" + } +} +``` + +## Commands +The base command for the LangGraph CLI is `langgraph`. + +**Usage** +``` +langgraph [OPTIONS] COMMAND [ARGS] +``` + +### `build` +Build LangGraph Deploy API server Docker image. + +**Usage** +``` +langgraph build [OPTIONS] +``` + +**Options** + +| Option | Default | Description | +| ------ | ------- | ----------- | +| `--platform TEXT` | | Target platform(s) to build the Docker image for. Example: `langgraph build --platform linux/amd64,linux/arm64` | +| `-t, --tag TEXT` | | **Required**. Tag for the Docker image. Example: `langgraph build -t my-image` | +| `--pull / --no-pull` | `--pull` | Build with latest remote Docker image. Use `--no-pull` for running the LangGraph Deploy API server with locally built images. | +| `-c, --config FILE` | `langgraph.json` | Path to configuration file declaring dependencies, graphs and environment variables. | +| `--help` | | Display command documentation. | + +### `down` +Stop LangGraph Deploy API server. + +**Usage** +``` +langgraph down [OPTIONS] +``` + +**Options** + +| Option | Default | Description | +| ------ | ------- | ----------- | +| `--debugger-port INTEGER` | | Pull the debugger image locally and serve the UI on specified port. | +| `--verbose` | | Show more output from the server logs. | +| `-c, --config FILE` | `langgraph.json` | Path to configuration file declaring dependencies, graphs and environment variables. | +| `-d, --docker-compose FILE` | | Advanced. Path to `docker-compose.yml` file with additional services to launch. | +| `-p, --port INTEGER` | `8123` | Port to expose. Example: `langgraph up --port 8000` | +| `--help` | | Display command documentation. | + +### `logs` +Show LangGraph Deploy API server logs. + +**Usage** +``` +langgraph logs [OPTIONS] +``` + +**Options** + +| Option | Default | Description | +| ------ | ------- | ----------- | +| `-f, --follow` | | Follow logs. | +| `-c, --config FILE` | `langgraph.json` | Path to configuration file declaring dependencies, graphs and environment variables. | +| `-d, --docker-compose FILE` | | Advanced. Path to `docker-compose.yml` file with additional services to launch. | +| `--help` | | Display command documentation. | + +### `up` +Start LangGraph Deploy API server. + +**Usage** +``` +langgraph up [OPTIONS] +``` + +**Options** + +| Option | Default | Description | +| ------ | ------- | ----------- | +| `--wait` | | Wait for services to start before returning. Implies `--detach`. | +| `--watch` | | Restart on file changes. | +| `--debugger-port INTEGER` | | Pull the debugger image locally and serve the UI on specified port. | +| `--verbose` | | Show more output from the server logs. | +| `-c, --config FILE` | `langgraph.json` | Path to configuration file declaring dependencies, graphs and environment variables. | +| `-d, --docker-compose FILE` | | Advanced. Path to `docker-compose.yml` file with additional services to launch. | +| `-p, --port INTEGER` | `8123` | Port to expose. Example: `langgraph up --port 8000` | +| `--pull / --no-pull` | `--pull` | Build with latest remote Docker image. Use `--no-pull` for running the LangGraph Deploy API server with locally built images. | +| `--recreate / --no-recreate` | `--no-recreate` | Recreate containers even if their configuration and image haven't changed. | +| `--help` | | Display command documentation. | diff --git a/docs/docs/deploy/reference/sdk/js_ts_sdk_ref.md b/docs/docs/deploy/reference/sdk/js_ts_sdk_ref.md new file mode 100644 index 000000000..4da25075a --- /dev/null +++ b/docs/docs/deploy/reference/sdk/js_ts_sdk_ref.md @@ -0,0 +1,2 @@ +# JS/TS SDK Reference +Coming soon diff --git a/docs/docs/deploy/reference/sdk/python_sdk_ref.md b/docs/docs/deploy/reference/sdk/python_sdk_ref.md new file mode 100644 index 000000000..83d274d98 --- /dev/null +++ b/docs/docs/deploy/reference/sdk/python_sdk_ref.md @@ -0,0 +1,2 @@ +# Python SDK Reference +Coming soon diff --git a/docs/docs/deploy/sdk/img/graph_diagram.png b/docs/docs/deploy/sdk/img/graph_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2105cde69ceccea35dc433a48f5f535ac1663299 GIT binary patch literal 56102 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

gs4kcFUCZQ4M`Y^$bDXs3&|lW~!h@>FOaVAK~Rn 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 literal 0 HcmV?d00001 diff --git a/examples/sdk/js_sdk.ipynb b/examples/sdk/js_sdk.ipynb new file mode 100644 index 000000000..4110ebb1b --- /dev/null +++ b/examples/sdk/js_sdk.ipynb @@ -0,0 +1,24 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## JS SDK\n", + "Coming soon" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/sdk/python_sdk.ipynb b/examples/sdk/python_sdk.ipynb new file mode 100644 index 000000000..98e0fc283 --- /dev/null +++ b/examples/sdk/python_sdk.ipynb @@ -0,0 +1,617 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "### Initializing client\n", + "\n", + "To get started we need to initialize our client. The process for initializing our client is almost identical for both the local deployment and cloud deployment using Langsmith." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client\n", + "\n", + "# If you deployed using Langsmith use this option\n", + "# Find this url on your Langsmith deployment page\n", + "example_deployed_url = (\n", + " \"https://ht-unhealthy-buffalo25-39d00f953458585aa9f7b5a4fa-g3ps4aazkq-uc.a.run.app\"\n", + ")\n", + "\n", + "# If you deployed locally using langgraph up -c langgraph.json use this option\n", + "# This is the default URL, and you can just call get_client() to use it\n", + "example_local_url = \"http://localhost:8123\"\n", + "\n", + "client = get_client(url=\"whatever-your-url-is\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Selecting an Assistant\n", + "\n", + "To select an assistant we can search the assistants that are hosted on our client, and then select the one we want," + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "assistants = await client.assistants.search()\n", + "assistants = [a for a in assistants if not a[\"config\"]]\n", + "assistant = assistants[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In our example we are only hosting a single assistant, but you have the option to host many, in which case you will most likely want to do more filtering than just selecting the first one. Each assistant is a JSON object with the following format, allowing you to select based on a variety of parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'created_at': '2024-06-11T20:12:45.862108+00:00',\n", + " 'updated_at': '2024-06-11T20:12:45.862108+00:00',\n", + " 'config': {},\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating a thread\n", + "\n", + "Threads are what we will actually use to run our graphs (assistants). Each thread will update the same state for the graph, meaning we can run the graph multiple times while the state will persist. We can also look back at our thread history, add meta data to different steps of our thread, and update the thread state manually if we wish. We will dive into all of those topics later in this article, but for now let’s just see how to start a thread:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can examine the structure of our thread, which similar to the assistants object provides us with some information about the thread itself, including its id, timestamps, and metadata:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'thread_id': '6c2e8002-5712-4388-bed6-0747e9a86e31',\n", + " 'created_at': '2024-06-19T15:58:59.243657+00:00',\n", + " 'updated_at': '2024-06-19T15:58:59.243657+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "thread" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we are ready to actually use our graph!\n", + "\n", + "## Invoking the graph\n", + "\n", + "The graph used in this example is a simple example of a StateGraph, but it allows us to show most of the API functionality. The state of our graph is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Annotated, TypedDict\n", + "\n", + "from langchain_core.messages import AnyMessage\n", + "\n", + "from langgraph.graph import add_messages\n", + "\n", + "\n", + "def update_user_info(old_info, new_info):\n", + " if \"name\" not in new_info or new_info[\"age\"] == -1:\n", + " return old_info\n", + " return new_info\n", + "\n", + "\n", + "class UserInformation(TypedDict):\n", + " age: int\n", + " name: str\n", + "\n", + "\n", + "class AgentState(TypedDict):\n", + " messages: Annotated[list[AnyMessage], add_messages]\n", + " user_info: Annotated[UserInformation, update_user_info]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is important to note that our member variables can be updated by using the `Annotated` class. This is especially important when we make API calls that will update our variables. This is also a good example that your graph can hold much more information than just messages. In our example we use a very simple `UserInformation` class, but you can imagine holding much richer information in your state.\n", + "\n", + "Our graph looks like follows:\n", + "\n", + "

\n", + "\n", + "The workflow is as follows: first the user inputs some message, our llm decides how to configure the call to our tool `get_user_info` , and after getting the results of the tool call we respond to our user using another LLM.\n", + "\n", + "### Simple Invocation\n", + "\n", + "Ok, now that we have set up our client, assistant, and thread we can actually invoke the graph above. Let’s first define the function we will use to invoke the graph, since we don’t want to have to rewrite this code every single run." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "async def run_input(client, thread, assistant, input, metadata={}):\n", + " # client.runs.stream will stream the results of running our graph\n", + " async for chunk in client.runs.stream(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input=input,\n", + " config={\"configurable\": metadata},\n", + " stream_mode=\"updates\",\n", + " ):\n", + " if chunk.data and \"run_id\" not in chunk.data:\n", + " print(chunk.data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s now see what happens to our graph when we run it with a simple sentence:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'llm': {'messages': [{'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_ioeUDw39bXQ2nap5f593xZMW', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-75a0d9db-df99-4b0c-b356-f24e76f5ca5a', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_ioeUDw39bXQ2nap5f593xZMW'}], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n", + "{'get_user_info': {'messages': [{'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'abafa365-1280-439d-b2ac-d4c547284ff9', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_E6NK18NXOHFkp8CeIuF7iI3K', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-c018c6a2-b93a-4787-aae3-46df0ef24c5b', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_E6NK18NXOHFkp8CeIuF7iI3K'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-fb1ac0ca-b1f8-454b-ba3f-849c266dcc05', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! What is my name?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '8bf0637b-8214-4c85-85ff-873ec193a7b8', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_6EFvGDGWHuoOKm4p7dq3qazN', 'function': {'arguments': '{\"age\":-1,\"name\":\"John Doe\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-30a91dfa-4526-4bb7-b4a2-017e5c530ed2', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1, 'name': 'John Doe'}, 'id': 'call_6EFvGDGWHuoOKm4p7dq3qazN'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Your name is Bagatur. How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-f3dcd3ad-b438-4011-9353-83978758ee81', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '88e7bb12-552d-4607-8bc5-ce2b342f0604', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_ioeUDw39bXQ2nap5f593xZMW', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-75a0d9db-df99-4b0c-b356-f24e76f5ca5a', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_ioeUDw39bXQ2nap5f593xZMW'}], 'invalid_tool_calls': [], 'usage_metadata': None}], 'user_info': {'age': 26, 'name': 'Bagatur'}}}\n", + "{'respond_to_user': {'messages': [{'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-49176b69-aae5-41ac-8c1e-7bab373b2b9b', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n" + ] + } + ], + "source": [ + "input = {\n", + " \"messages\": [\n", + " {\"role\": \"user\", \"content\": \"Hello! My name is Bagatur and I am 26 years old.\"}\n", + " ]\n", + "}\n", + "\n", + "await run_input(client, thread, assistant, input)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see our graph ran as expected, by calling our three nodes sequentially. Let’s now examine the state to take a further look under the hood. We can get the state by using the following command: " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['values', 'next', 'config', 'metadata', 'created_at', 'parent_config'])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state = await client.threads.get_state(thread_id=thread[\"thread_id\"])\n", + "state.keys()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our state variable contains a variety of important information. Here is a quick summary of the keys and what they represent:\n", + "\n", + "- `values` contains the actual state values, so in our case you could call `state['values']['messages']` or `state['values']['user_info']` and get the actual values of each of the state variables.\n", + "- `next` tells us what action in the graph is next at the current state. Since we just finished running our graph and reached the end node, it is currently empty because there is no next action to take. However, if you go through the state at each point of the run you will see that the `next` value goes from `__start__` → `llm` → `get_user_info` →`respond_to_user` .\n", + "- `metadata` stores the metadata associated with our state. This is data that is outside of the agent state, but is important to keep track of across multiple runs. An example of this is shown in the next section.\n", + "- `config` tells us what the configuration of the state is. This is important for when we want to run a query starting at a previous state instead of the one we are at. An example of this is shown in the Invoking from a previous checkpoint section\n", + "\n", + "### Invoking with Metadata\n", + "\n", + "Let’s create a new thread to reset our state and start fresh." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let’s add some metadata to our request. In this example we are going to treat each run of our assistant as a separate “node”. For each run, we will pass in a “node_id” as well as a “parent_node” in the metadata. This way we can easily go “back in time” and rerun our graph from a previous checkpoint. \n", + "\n", + "> NOTE: The reason we add this metadata instead of using the `parent_config` attribute is because `parent_config` tracks every individual step of a run, not the entire run itself.\n", + ">" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'llm': {'messages': [{'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-067609c1-4f1a-4d6d-bc1c-224a29153d37', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk'}], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n", + "{'get_user_info': {'messages': [{'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '05faf88c-9f85-462e-84ee-4667de35625d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-067609c1-4f1a-4d6d-bc1c-224a29153d37', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk'}], 'invalid_tool_calls': [], 'usage_metadata': None}], 'user_info': {'age': 26, 'name': 'Bagatur'}}}\n", + "{'respond_to_user': {'messages': [{'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-48041247-fe04-419f-9f12-511e28c5f8aa', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n" + ] + } + ], + "source": [ + "input = {\n", + " \"messages\": [\n", + " {\"role\": \"user\", \"content\": \"Hello! My name is Bagatur and I am 26 years old.\"}\n", + " ]\n", + "}\n", + "\n", + "metadata = {\"node_id\": 1, \"parent_node\": None}\n", + "\n", + "await run_input(client, thread, assistant, input, metadata)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using our `run_input` function makes it easy to pass in metadata and you can inspect the function as well as the API docs to see exactly how metadata gets passed.\n", + "\n", + "We can continue our thread by creating a second node as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'llm': {'messages': [{'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_b2T2e0doVrh6uB1aHLIQglYR', 'function': {'arguments': '{\"age\":-1,\"name\":\"John Doe\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-808dca3a-0188-4c6b-9fc7-0037949fd820', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1, 'name': 'John Doe'}, 'id': 'call_b2T2e0doVrh6uB1aHLIQglYR'}], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n", + "{'get_user_info': {'messages': [{'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '05faf88c-9f85-462e-84ee-4667de35625d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-067609c1-4f1a-4d6d-bc1c-224a29153d37', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-48041247-fe04-419f-9f12-511e28c5f8aa', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! What is my name?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '0970d6dd-e071-49bf-bf71-5345185b8291', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_b2T2e0doVrh6uB1aHLIQglYR', 'function': {'arguments': '{\"age\":-1,\"name\":\"John Doe\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-808dca3a-0188-4c6b-9fc7-0037949fd820', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1, 'name': 'John Doe'}, 'id': 'call_b2T2e0doVrh6uB1aHLIQglYR'}], 'invalid_tool_calls': [], 'usage_metadata': None}], 'user_info': {'age': -1, 'name': 'John Doe'}}}\n", + "{'respond_to_user': {'messages': [{'content': 'Your name is Bagatur. How can I assist you today, Bagatur?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-9ada26f0-951e-4dd5-a2c5-4357bdeeac9d', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"Hello! What is my name?\"}]}\n", + "metadata = {\"node_id\": 2, \"parent_node\": 1}\n", + "\n", + "await run_input(client, thread, assistant, input, metadata)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Perfect! The state persisted across separate runs, and the LLM remembers the name of our user. In a future we will explore non-sequential runs, i.e. not having each run just follow the last one but choosing which checkpoint we start our run from.\n", + "\n", + "## Querying and Updating the thread\n", + "\n", + "### Getting checkpoints by metadata\n", + "\n", + "Let’s say we want to start a new run from a previous state (not the current state). This state lives somewhere in our history, so we can utilize the `get_history` function to try and find it." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "history = await client.threads.get_history(thread_id=thread[\"thread_id\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is helpful for inspecting the specifics of our current thread, but remember that the history contains all the intermediate steps a graph takes. In our case, where the graph has 5 nodes (remember that Start and End both count as nodes), our history array grows quickly. Luckily, there is a way to query by using metadata. For example if we wanted to start a run from Node 1(from the example from above) we need to find the state from the end of run with metadata node_id:1 , which we can do like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "node_1_history = await client.threads.get_history(\n", + " thread_id=thread[\"thread_id\"], metadata={\"node_id\": 1}\n", + ")\n", + "# At the end of the run there will be no 'next' for the graph to execute\n", + "node_1_end_of_run = [h for h in node_1_history if h[\"next\"] == []][0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let’s explore how we could use this information to create a new branch in our thread.\n", + "\n", + "### Invoking from a previous checkpoint\n", + "\n", + "The following diagram describes what we would like to happen:\n", + "\n", + "
\n", + " \n", + "
\n", + "Basically, we want to have 3 runs of our graph, but instead of having them sequentially - we want both the second and third run to originate from the same state. We can do this by utilizing the code we used above, and passing additional metadata to our run." + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'llm': {'messages': [{'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR', 'function': {'arguments': '{\"age\":-1}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-b6a653e2-11ea-4f82-aa6a-ef321deed9ce', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1}, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR'}], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n", + "{'get_user_info': {'messages': [{'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '05faf88c-9f85-462e-84ee-4667de35625d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-067609c1-4f1a-4d6d-bc1c-224a29153d37', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-48041247-fe04-419f-9f12-511e28c5f8aa', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! What is my age?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'e94fa535-f821-4bfb-9d96-68c414adad8d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR', 'function': {'arguments': '{\"age\":-1}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-b6a653e2-11ea-4f82-aa6a-ef321deed9ce', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1}, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR'}], 'invalid_tool_calls': [], 'usage_metadata': None}], 'user_info': {'age': -1}}}\n", + "{'respond_to_user': {'messages': [{'content': 'You are 26 years old, Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-e3b6e627-b4b1-4249-a1bc-a6359ad7b961', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"Hello! What is my age?\"}]}\n", + "metadata = {\n", + " **{\"node_id\": 3, \"parent_node\": 1},\n", + " **{\n", + " \"thread_ts\": node_1_end_of_run[\"checkpoint_id\"],\n", + " \"thread_id\": thread[\"thread_id\"],\n", + " },\n", + "}\n", + "\n", + "await run_input(client, thread, assistant, input, metadata)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check that everything actually worked as planned, let’s check our current state and check that message history to ensure that the message we passed to Node 2 is nowhere to be found." + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"Hello! What is my name?\" in [\n", + " message[\"content\"] for message in state[\"values\"][\"messages\"]\n", + "]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Great! This has worked as expected. Being able to go back to previous states and execute new graph runs from those checkpoints is a great way to develop flexible applications that don’t require reloading or restarting everything when an error is detected or a user changes their mind.\n", + "\n", + "### Updating/Patching the thread state\n", + "\n", + "Lastly, let’s discuss the ability to manually change both the thread state as well as the metadata for a given state. Let’s say we incorrectly inputted data to the LLM and we want to rectify it. \n", + "\n", + "Continuing our previous example, let’s say the user mistyped their age and we want to let the graph know that without actually running it. In this case we can rectify this by using `update_state`" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "new_state = await client.threads.update_state(\n", + " thread_id=thread[\"thread_id\"], values={\"user_info\": {\"name\": \"Bagatur\", \"age\": 35}}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s make sure that the state did in fact update and ask our LLM again how old we are by invoking the graph again:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'llm': {'messages': [{'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_Ph3tYdt2UNdwqAF3kVL198Bg', 'function': {'arguments': '{\"age\":-1}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-373f3e22-8549-4f77-9ff2-05133099bb09', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1}, 'id': 'call_Ph3tYdt2UNdwqAF3kVL198Bg'}], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n", + "{'get_user_info': {'messages': [{'content': 'Hello! My name is Bagatur and I am 26 years old.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '05faf88c-9f85-462e-84ee-4667de35625d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk', 'function': {'arguments': '{\"age\":26,\"name\":\"Bagatur\"}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-067609c1-4f1a-4d6d-bc1c-224a29153d37', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': 26, 'name': 'Bagatur'}, 'id': 'call_VrA7UKg2w99BvIpsqrwjoawk'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-48041247-fe04-419f-9f12-511e28c5f8aa', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! What is my age?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'e94fa535-f821-4bfb-9d96-68c414adad8d', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR', 'function': {'arguments': '{\"age\":-1}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-b6a653e2-11ea-4f82-aa6a-ef321deed9ce', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1}, 'id': 'call_yC7HUAQfcLzheepMD8SnAojR'}], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'You are 26 years old, Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-e3b6e627-b4b1-4249-a1bc-a6359ad7b961', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}, {'content': 'Hello! What is my age?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': '24ac02be-7b08-4e91-9d20-90507ed25391', 'example': False}, {'content': '', 'additional_kwargs': {'tool_calls': [{'index': 0, 'id': 'call_Ph3tYdt2UNdwqAF3kVL198Bg', 'function': {'arguments': '{\"age\":-1}', 'name': 'PersonalInfo'}, 'type': 'function'}]}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-373f3e22-8549-4f77-9ff2-05133099bb09', 'example': False, 'tool_calls': [{'name': 'PersonalInfo', 'args': {'age': -1}, 'id': 'call_Ph3tYdt2UNdwqAF3kVL198Bg'}], 'invalid_tool_calls': [], 'usage_metadata': None}], 'user_info': {'age': -1}}}\n", + "{'respond_to_user': {'messages': [{'content': 'My apologies for the confusion earlier. You are 35 years old, Bagatur! How can I assist you today?', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-298306df-34a5-459a-a8c3-a0f16440c429', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"Hello! What is my age?\"}]}\n", + "\n", + "await run_input(client, thread, assistant, input)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voila! The LLM knows our users age updated without us having to prompt it at all.\n", + "\n", + "The last thing we will talk about is patching the thread, which is used when we want to update the metadata of a state. For example, say we actually wanted to update our last state to have `node_id:4` instead of `node_id:3`. To do this, we can call:" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'configurable': {'thread_id': '4f044e5a-6f6e-4663-923e-6333c052ce9f',\n", + " 'thread_ts': '1ef2e5d6-e39f-6d26-800e-22245f8220a7'}}" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "await client.threads.patch_state(thread_id=thread[\"thread_id\"], metadata={\"node_id\": 4})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check that this worked by checking the metadata of our state" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current node id is 4\n" + ] + } + ], + "source": [ + "state = await client.threads.get_state(thread_id=thread[\"thread_id\"])\n", + "print(f\"Current node id is {state['metadata']['node_id']}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Perfect! The patch worked as expected." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}

gs4kcFUCZQ4M`Y^$bDXs3&|lW~!h@>FOaVAK~Rn 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 literal 0 HcmV?d00001 diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7699f0694..423537a48 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -164,8 +164,40 @@ nav: - Graphs: reference/graphs.md - Checkpointing: reference/checkpoints.md - Prebuilt Components: reference/prebuilt.md - - Errors: reference/errors.md - + - Errors: reference/errors.md + - 'Cloud (alpha)': + - 'deploy/index.md' + - Tutorials: + - Quick Start: 'deploy/quick_start.md' + - SDK: + - Python: 'deploy/sdk/python_sdk.ipynb' + - JS/TS: 'deploy/sdk/js_sdk.ipynb' + - Deployment: + - Self-Hosted: 'deploy/deployment/self_hosted.md' + - Managed: 'deploy/deployment/managed.md' + - How-to Guides: + - Streaming: + - Stream Messaages: 'deploy/how-tos/cloud_examples/stream_messages.ipynb' + - Stream Values: 'deploy/how-tos/cloud_examples/stream_values.ipynb' + - Stream Updates: 'deploy/how-tos/cloud_examples/stream_updates.ipynb' + - Double Texting: + - Interrupt: 'deploy/how-tos/cloud_examples/interrupt_concurrent.ipynb' + - Rollback: 'deploy/how-tos/cloud_examples/rollback_concurrent.ipynb' + - Reject: 'deploy/how-tos/cloud_examples/reject_concurrent.ipynb' + - Enqueue: 'deploy/how-tos/cloud_examples/enqueue_concurrent.ipynb' + - Run Agent in Background: 'deploy/how-tos/cloud_examples/background_run.ipynb' + - Run Multiple Agents in Thread: 'deploy/how-tos/cloud_examples/same-thread.ipynb' + - Human in the loop: 'deploy/how-tos/cloud_examples/human-in-the-loop_cloud.ipynb' + - Create Agents with Configuration: 'deploy/how-tos/cloud_examples/configuration_cloud.ipynb' + - Conceptual Guides: + - API Concepts: 'deploy/api_concepts.md' + - Reference: + - API: 'deploy/reference/api_ref.md' + - SDK: + - Python: 'deploy/reference/sdk/python_sdk_ref.md' + - JS/TS: 'deploy/reference/sdk/js_ts_sdk_ref.md' + - CLI: 'deploy/reference/cli.md' + markdown_extensions: - abbr diff --git a/examples/cloud_examples/background_run.ipynb b/examples/cloud_examples/background_run.ipynb new file mode 100644 index 000000000..87efa3a0b --- /dev/null +++ b/examples/cloud_examples/background_run.ipynb @@ -0,0 +1,625 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "51466c8d-8ce4-4b3d-be4e-18fdbeda5f53", + "metadata": {}, + "source": [ + "# How to kick off background runs\n", + "\n", + "This guide covers how to kick off background runs for your agent.\n", + "This can be useful for long running jobs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8e6408a-b37e-428f-9567-077fa55d58e8", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize the client\n", + "from langgraph_sdk import get_client\n", + "\n", + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4947e9bc-111f-4991-8c41-1041da9bf0ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# List available assistants\n", + "assistants = await client.assistants.search()\n", + "assistants" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "230c0464-a6e5-420f-9e38-ca514e5634ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get the first assistant, we will use this one\n", + "assistant = assistants[0]\n", + "assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "56aa5159-5583-4134-9210-709b969bda6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_at': '2024-05-18T00:50:26.367620+00:00',\n", + " 'updated_at': '2024-05-18T00:50:26.367620+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a new thread\n", + "thread = await client.threads.create()\n", + "thread" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "147c3f98-f889-4f05-a090-6b31f2a0b291", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# If we list runs on this thread, we can see it is empty\n", + "runs = await client.runs.list(thread['thread_id'])\n", + "runs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c7b44ef-4816-496d-88a1-2f7327cf576d", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's kick off a run\n", + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf\"}]}\n", + "run = await client.runs.create(thread['thread_id'], assistant[\"assistant_id\"], input=input)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d84b4d80-b0aa-4d9f-a05d-0744b2fe8f72", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'created_at': '2024-05-18T00:50:27.618761+00:00',\n", + " 'updated_at': '2024-05-18T00:50:27.618761+00:00',\n", + " 'status': 'pending',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# The first time we poll it, we can see `status=pending`\n", + "await client.runs.get(thread['thread_id'], run['run_id'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "ce124bd3-f197-4b73-9ff6-bb36730dd003", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'event_id': '3ac6d963-442f-481c-9fde-b8a27bc0e277',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.570649+00:00',\n", + " 'span_id': 'd4e4a6ee-da2f-4b5f-b656-1a1f73065161',\n", + " 'event': 'on_tool_start',\n", + " 'name': 'tavily_search_results_json',\n", + " 'data': {'input': {'query': 'weather in san francisco'}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['seq:step:1']},\n", + " {'event_id': 'f8961760-6f13-40e6-9eef-6d4d68e0ed19',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.569708+00:00',\n", + " 'span_id': '73295bb1-6cd3-403d-abc1-4f9d96a63894',\n", + " 'event': 'on_chain_start',\n", + " 'name': 'action',\n", + " 'data': {},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['graph:step:2']},\n", + " {'event_id': '44b5f815-f60c-468f-8d23-96dfdaa0ed20',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.568202+00:00',\n", + " 'span_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'event': 'on_chain_stream',\n", + " 'name': 'LangGraph',\n", + " 'data': {'chunk': {'messages': [{'id': '46b31c3a-01bf-4946-bd5a-fa6a7f6c97ce',\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}},\n", + " {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': []},\n", + " {'event_id': '0917b31d-f49d-43d4-a8ed-a9eebd8904e8',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.566761+00:00',\n", + " 'span_id': 'f469ac2e-17a3-491c-bc03-0c56aa30a68b',\n", + " 'event': 'on_chain_end',\n", + " 'name': 'agent',\n", + " 'data': {'input': {'messages': [{'role': 'human',\n", + " 'content': 'whats the weather in sf'}]},\n", + " 'output': {'messages': [{'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['graph:step:1']},\n", + " {'event_id': 'bbe33ebf-04ba-43d5-8718-e2da23295675',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.566076+00:00',\n", + " 'span_id': 'f469ac2e-17a3-491c-bc03-0c56aa30a68b',\n", + " 'event': 'on_chain_stream',\n", + " 'name': 'agent',\n", + " 'data': {'chunk': {'messages': [{'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['graph:step:1']},\n", + " {'event_id': '38333127-fa97-4830-8157-f76264778d81',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.564195+00:00',\n", + " 'span_id': 'ef55c681-be15-4f3d-9aee-3a9ff05d8746',\n", + " 'event': 'on_chain_end',\n", + " 'name': 'should_continue',\n", + " 'data': {'input': {'messages': [{'id': 'abc3581e-417b-4ca1-ab31-de7108e64b3b',\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}},\n", + " {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]},\n", + " 'output': 'continue'},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['seq:step:3']},\n", + " {'event_id': '408a7785-c715-4bcb-a5aa-950f414baa77',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.563289+00:00',\n", + " 'span_id': 'ef55c681-be15-4f3d-9aee-3a9ff05d8746',\n", + " 'event': 'on_chain_start',\n", + " 'name': 'should_continue',\n", + " 'data': {'input': {'messages': [{'id': 'abc3581e-417b-4ca1-ab31-de7108e64b3b',\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}},\n", + " {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': ['seq:step:3']},\n", + " {'event_id': '679c8ae7-5cd2-4462-936e-20f0ea45cfb8',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.560628+00:00',\n", + " 'span_id': '4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'event': 'on_chat_model_end',\n", + " 'name': 'ChatAnthropic',\n", + " 'data': {'input': {'messages': [[{'id': None,\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}}]]},\n", + " 'output': {'run': None,\n", + " 'llm_output': None,\n", + " 'generations': [[{'text': '',\n", + " 'type': 'ChatGeneration',\n", + " 'message': {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []},\n", + " 'generation_info': None}]]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'ls_model_type': 'chat'},\n", + " 'tags': ['seq:step:1']},\n", + " {'event_id': '055fcf73-36e7-444b-990d-6263ec50925c',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:29.559491+00:00',\n", + " 'span_id': '4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'event': 'on_chat_model_stream',\n", + " 'name': 'ChatAnthropic',\n", + " 'data': {'chunk': {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'AIMessageChunk',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'tool_call_chunks': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': '{\"query\": \"weather in san francisco\"}',\n", + " 'name': 'tavily_search_results_json',\n", + " 'index': 0}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'ls_model_type': 'chat'},\n", + " 'tags': ['seq:step:1']},\n", + " {'event_id': 'cf90f755-5a12-46bd-8f60-adc862388635',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:27.873602+00:00',\n", + " 'span_id': '4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'event': 'on_chat_model_start',\n", + " 'name': 'ChatAnthropic',\n", + " 'data': {'input': {'messages': [[{'id': None,\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}}]]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'ls_model_type': 'chat'},\n", + " 'tags': ['seq:step:1']}]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We can list events for the run\n", + "await client.runs.list_events(thread['thread_id'], run['run_id'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8fa206ed-515e-4607-9a80-bebafe76cc24", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'created_at': '2024-05-18T00:50:27.618761+00:00',\n", + " 'updated_at': '2024-05-18T00:50:27.618761+00:00',\n", + " 'status': 'success',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Eventually, it should finish and we should see `status=success`\n", + "await client.runs.get(thread['thread_id'], run['run_id'])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8de4495f-7873-487c-b1a8-ad2a78a1ff35", + "metadata": {}, + "outputs": [], + "source": [ + "# We can get the final results\n", + "results = await client.runs.list_events(thread['thread_id'], run['run_id'])" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "9da76fce-66e4-4f1b-8c24-09759889e50e", + "metadata": {}, + "outputs": [], + "source": [ + "# The results are sorted by time, so the most recent (final) step is the 0 index\n", + "final_result = results[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "02279ff3-c153-4ec4-be4d-1613a0dff4ee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'event_id': '1af2076e-8ec7-4f2e-bc2c-6fbbf586397c',\n", + " 'run_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'received_at': '2024-05-18T00:50:35.557925+00:00',\n", + " 'span_id': 'e843abcb-e478-421b-91e1-a8ae171b14f4',\n", + " 'event': 'on_chain_end',\n", + " 'name': 'LangGraph',\n", + " 'data': {'output': {'messages': [{'id': '46b31c3a-01bf-4946-bd5a-fa6a7f6c97ce',\n", + " 'name': None,\n", + " 'type': 'human',\n", + " 'content': 'whats the weather in sf',\n", + " 'example': False,\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}},\n", + " {'id': 'run-4885d5a0-cd89-4f00-8558-e85b542a710c',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use',\n", + " 'input': {'query': 'weather in san francisco'}}],\n", + " 'example': False,\n", + " 'tool_calls': [{'id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'args': {'query': 'weather in san francisco'},\n", + " 'name': 'tavily_search_results_json'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []},\n", + " {'id': '045e936d-ee47-4236-95ff-793b6b32b590',\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool',\n", + " 'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'San Francisco\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 37.78, \\'lon\\': -122.42, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1715993410, \\'localtime\\': \\'2024-05-17 17:50\\'}, \\'current\\': {\\'last_updated_epoch\\': 1715993100, \\'last_updated\\': \\'2024-05-17 17:45\\', \\'temp_c\\': 17.8, \\'temp_f\\': 64.0, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Partly cloudy\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/116.png\\', \\'code\\': 1003}, \\'wind_mph\\': 15.0, \\'wind_kph\\': 24.1, \\'wind_degree\\': 300, \\'wind_dir\\': \\'WNW\\', \\'pressure_mb\\': 1013.0, \\'pressure_in\\': 29.9, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 65, \\'cloud\\': 25, \\'feelslike_c\\': 17.8, \\'feelslike_f\\': 64.0, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 5.0, \\'gust_mph\\': 16.2, \\'gust_kph\\': 26.1}}\"}]',\n", + " 'tool_call_id': 'toolu_018yyEfJHihdVfWypRNLqDug',\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {}},\n", + " {'id': 'run-069f1ddd-64b3-451d-bb84-75dec23a7286',\n", + " 'name': None,\n", + " 'type': 'ai',\n", + " 'content': \"The search results provide the current weather conditions in San Francisco. According to the data, as of 5:45pm on May 17, 2024, the weather in San Francisco is partly cloudy with a temperature of around 64°F (17.8°C). The wind is blowing from the west-northwest at 15 mph (24 km/h) with gusts up to 16 mph (26 km/h). The humidity is 65% and visibility is 9 miles (16 km). The UV index is 5.\\n\\nSo in summary, it's a partly cloudy spring day in San Francisco with mild temperatures and moderate winds. The weather seems pleasant for being outdoors during the daytime hours.\",\n", + " 'example': False,\n", + " 'tool_calls': [],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'invalid_tool_calls': []}]}},\n", + " 'metadata': {'graph_id': 'agent',\n", + " 'thread_id': '6ada015b-b47a-4c4f-a5cd-580893cb6d0c',\n", + " 'created_by': 'system',\n", + " 'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca'},\n", + " 'tags': []}" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_result" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "ddd6e698-4609-4389-b84a-bb8939fff08b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"The search results provide the current weather conditions in San Francisco. According to the data, as of 5:45pm on May 17, 2024, the weather in San Francisco is partly cloudy with a temperature of around 64°F (17.8°C). The wind is blowing from the west-northwest at 15 mph (24 km/h) with gusts up to 16 mph (26 km/h). The humidity is 65% and visibility is 9 miles (16 km). The UV index is 5.\\n\\nSo in summary, it's a partly cloudy spring day in San Francisco with mild temperatures and moderate winds. The weather seems pleasant for being outdoors during the daytime hours.\"" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We can get the content of the final message\n", + "final_result['data']['output']['messages'][-1]['content']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "535638f7-48a9-49bb-9a0b-57a5b36d0696", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/configuration_cloud.ipynb b/examples/cloud_examples/configuration_cloud.ipynb new file mode 100644 index 000000000..3d427bd0d --- /dev/null +++ b/examples/cloud_examples/configuration_cloud.ipynb @@ -0,0 +1,200 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "68c0837d-c40a-4209-9f88-5d08c00c31b0", + "metadata": {}, + "source": [ + "# How to create agents with configuration\n", + "\n", + "One of the benefits of LangGraph API is that it lets you create agents with different configurations.\n", + "This is useful when you want to:\n", + "\n", + "- Define a cognitive architecture once as a LangGraph\n", + "- Let that LangGraph be configurable across some attributes (for example, system message or LLM to use)\n", + "- Let users create agents with arbitrary configurations, save them, and then use them in the future\n", + "\n", + "In this guide we will show how to do that for the default agent we have built in.\n", + "\n", + "If you look at the agent we defined, you can see that inside the `call_model` node we have created the model based on some configuration. That node looks like:\n", + "\n", + "```python\n", + "def call_model(state, config):\n", + " messages = state[\"messages\"]\n", + " model_name = config.get('configurable', {}).get(\"model_name\", \"anthropic\")\n", + " model = _get_model(model_name)\n", + " response = model.invoke(messages)\n", + " # We return a list, because this will get added to the existing list\n", + " return {\"messages\": [response]}\n", + "```\n", + "\n", + "We are looking inside the config for a `model_name` parameter (which defaults to `anthropic` if none is found).\n", + "That means that by default we are using Anthropic as our model provider.\n", + "In this example we will see an example of how to create an example agent that is configured to use OpenAI.\n", + "\n", + "We've also communicated to the graph that it should expect configuration with this key. \n", + "We've done this by passing `config_schema` when constructing the graph, eg:\n", + "\n", + "```python\n", + "class GraphConfig(TypedDict):\n", + " model_name: Literal[\"anthropic\", \"openai\"]\n", + "\n", + "\n", + "# Define a new graph\n", + "workflow = StateGraph(AgentState, config_schema=GraphConfig)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f69c9a4f-2ef9-4998-827b-fe86d12bfd76", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client\n", + "\n", + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9a37bfb5-7331-4004-8054-508838e54f18", + "metadata": {}, + "outputs": [], + "source": [ + "# First, let's check what valid configuration can be\n", + "# We can do this by getting the default assistant\n", + "# There should always be a default assistant with no configuration\n", + "assistants = await client.assistants.search()\n", + "assistants = [a for a in assistants if not a['config']]\n", + "base_assistant = assistants[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "70193a08-127c-44b3-a102-10db260d7e3b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'model_name': {'title': 'Model Name',\n", + " 'enum': ['anthropic', 'openai'],\n", + " 'type': 'string'}}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We can now call `.get_schemas` to get schemas associated with this graph\n", + "schemas = await client.assistants.get_schemas(assistant_id=base_assistant[\"assistant_id\"])\n", + "# There are multiple types of schemas\n", + "# We can get the `config_schema` to look at the the configurable parameters\n", + "schemas['config_schema']['definitions']['Configurable']['properties']" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "99be5aee-9a6b-4515-b72f-ba135a893c65", + "metadata": {}, + "outputs": [], + "source": [ + "assistant = await client.assistants.create(graph_id=\"agent\", config={\"configurable\": {\"model_name\": \"openai\"}})" + ] + }, + { + "cell_type": "markdown", + "id": "4f10d346-69e6-44f4-8ff0-ef539ba938df", + "metadata": {}, + "source": [ + "We can see that this assistant has saved the config" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "3898ca35-eb2c-4b12-97ea-e0cc6a7c6a2e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': '40a3a2bf-5319-4fae-a2ac-05e075615cdc',\n", + " 'graph_id': 'agent',\n", + " 'config': {'configurable': {'model_name': 'openai'}},\n", + " 'created_at': '2024-06-05T23:12:30.519458+00:00',\n", + " 'updated_at': '2024-06-05T23:12:30.519458+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "68ed7a1b-74be-4560-8c55-c76d49d3d348", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StreamPart(event='metadata', data={'run_id': '1ef23911-c23b-6d8c-b1dc-94bb982ca7b1'})\n", + "StreamPart(event='values', data={'messages': [{'role': 'user', 'content': 'who made you?'}]})\n", + "StreamPart(event='values', data={'messages': [{'content': 'who made you?', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'ed93c1c9-80d6-4f2b-a048-ef859ea533f9', 'example': False}, {'content': 'I was created by OpenAI, a research organization focused on developing and advancing artificial intelligence technology.', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-6560cd65-5c9c-434b-8835-0baadc684760', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]})\n", + "StreamPart(event='end', data=None)\n" + ] + } + ], + "source": [ + "thread = await client.threads.create()\n", + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"who made you?\"}]}\n", + "async for event in client.runs.stream(thread['thread_id'], assistant['assistant_id'], input=input):\n", + " print(event)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "666d78f1-019a-433e-839e-52d2ebb3d9c8", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/enqueue_concurrent.ipynb b/examples/cloud_examples/enqueue_concurrent.ipynb new file mode 100644 index 000000000..90b82c521 --- /dev/null +++ b/examples/cloud_examples/enqueue_concurrent.ipynb @@ -0,0 +1,184 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Enqueue\n", + "\n", + "There are several strategies for handling concurrent runs in your graph. This notebook covers how to use the `enqueue` option - please see the other how-to guides in the \"Double Texting\" directory to learn about the other methods.\n", + "\n", + "First, let's import our required packages and instantiate our client, assistant, and thread." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.messages import convert_to_messages\n", + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()\n", + "assistant = await client.assistants.create(\"agent\")\n", + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# this run will be interrupted\n", + "first_run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf?\"}]},\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "second_run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in nyc?\"}]},\n", + " multitask_strategy=\"enqueue\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the thread has data from both runs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# wait until the second run completes\n", + "await client.runs.join(thread[\"thread_id\"], second_run[\"run_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "state = await client.threads.get_state(thread[\"thread_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in sf?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'id': 'toolu_01Dez1sJre4oA2Y7NsKJV6VT', 'input': {'query': 'weather in san francisco'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01Dez1sJre4oA2Y7NsKJV6VT)\n", + " Call ID: toolu_01Dez1sJre4oA2Y7NsKJV6VT\n", + " Args:\n", + " query: weather in san francisco\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.accuweather.com/en/us/san-francisco/94103/weather-forecast/347629\", \"content\": \"Get the current and future weather conditions for San Francisco, CA, including temperature, precipitation, wind, air quality and more. See the hourly and 10-day outlook, radar maps, alerts and allergy information.\"}]\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "According to AccuWeather, the current weather conditions in San Francisco are:\n", + "\n", + "Temperature: 57°F (14°C)\n", + "Conditions: Mostly Sunny\n", + "Wind: WSW 10 mph\n", + "Humidity: 72%\n", + "\n", + "The forecast for the next few days shows partly sunny skies with highs in the upper 50s to mid 60s F (14-18°C) and lows in the upper 40s to low 50s F (9-11°C). Typical mild, dry weather for San Francisco this time of year.\n", + "\n", + "Some key details from the AccuWeather forecast:\n", + "\n", + "Today: Mostly sunny, high of 62°F (17°C)\n", + "Tonight: Partly cloudy, low of 49°F (9°C) \n", + "Tomorrow: Partly sunny, high of 59°F (15°C)\n", + "Saturday: Mostly sunny, high of 64°F (18°C)\n", + "Sunday: Partly sunny, high of 61°F (16°C)\n", + "\n", + "So in summary, expect seasonable spring weather in San Francisco over the next several days, with a mix of sun and clouds and temperatures ranging from the upper 40s at night to the low 60s during the days. Typical dry conditions with no rain in the forecast.\n", + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in nyc?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'text': 'Here are the current weather conditions and forecast for New York City:', 'type': 'text'}, {'id': 'toolu_01FFft5Sx9oS6AdVJuRWWcGp', 'input': {'query': 'weather in new york city'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01FFft5Sx9oS6AdVJuRWWcGp)\n", + " Call ID: toolu_01FFft5Sx9oS6AdVJuRWWcGp\n", + " Args:\n", + " query: weather in new york city\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{'location': {'name': 'New York', 'region': 'New York', 'country': 'United States of America', 'lat': 40.71, 'lon': -74.01, 'tz_id': 'America/New_York', 'localtime_epoch': 1718734479, 'localtime': '2024-06-18 14:14'}, 'current': {'last_updated_epoch': 1718733600, 'last_updated': '2024-06-18 14:00', 'temp_c': 29.4, 'temp_f': 84.9, 'is_day': 1, 'condition': {'text': 'Sunny', 'icon': '//cdn.weatherapi.com/weather/64x64/day/113.png', 'code': 1000}, 'wind_mph': 2.2, 'wind_kph': 3.6, 'wind_degree': 158, 'wind_dir': 'SSE', 'pressure_mb': 1025.0, 'pressure_in': 30.26, 'precip_mm': 0.0, 'precip_in': 0.0, 'humidity': 63, 'cloud': 0, 'feelslike_c': 31.3, 'feelslike_f': 88.3, 'windchill_c': 28.3, 'windchill_f': 82.9, 'heatindex_c': 29.6, 'heatindex_f': 85.3, 'dewpoint_c': 18.4, 'dewpoint_f': 65.2, 'vis_km': 16.0, 'vis_miles': 9.0, 'uv': 7.0, 'gust_mph': 16.5, 'gust_kph': 26.5}}\"}]\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "According to the weather data from WeatherAPI:\n", + "\n", + "Current Conditions in New York City (as of 2:00 PM local time):\n", + "- Temperature: 85°F (29°C)\n", + "- Conditions: Sunny\n", + "- Wind: 2 mph (4 km/h) from the SSE\n", + "- Humidity: 63%\n", + "- Heat Index: 85°F (30°C)\n", + "\n", + "The forecast shows sunny and warm conditions persisting over the next few days:\n", + "\n", + "Today: Sunny, high of 85°F (29°C)\n", + "Tonight: Clear, low of 68°F (20°C)\n", + "Tomorrow: Sunny, high of 88°F (31°C) \n", + "Thursday: Mostly sunny, high of 90°F (32°C)\n", + "Friday: Partly cloudy, high of 87°F (31°C)\n", + "\n", + "So New York City is experiencing beautiful sunny weather with seasonably warm temperatures in the mid-to-upper 80s Fahrenheit (around 30°C). Humidity is moderate in the 60% range. Overall, ideal late spring/early summer conditions for being outdoors in the city over the next several days.\n" + ] + } + ], + "source": [ + "for m in convert_to_messages(state[\"values\"][\"messages\"]):\n", + " m.pretty_print()" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/cloud_examples/human-in-the-loop_cloud.ipynb b/examples/cloud_examples/human-in-the-loop_cloud.ipynb new file mode 100644 index 000000000..9ab91a93f --- /dev/null +++ b/examples/cloud_examples/human-in-the-loop_cloud.ipynb @@ -0,0 +1,685 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "51466c8d-8ce4-4b3d-be4e-18fdbeda5f53", + "metadata": {}, + "source": [ + "# How to have a human in the loop\n", + "\n", + "With it's built in persistence layer, LangGraph API is perfect for human-in-the-loop workflows.\n", + "Here we cover a few such examples:\n", + "\n", + "1. Having a human in the loop to approve a tool call\n", + "2. Having a human in the loop to edit a tool call\n", + "3. Having a human in the loop to edit an old state and resume execution from there\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "521d975b-e94b-4c37-bfa1-82d969e2a4dc", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "27a1392b-86c3-464e-99a8-90ffc965f3ec", + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4947e9bc-111f-4991-8c41-1041da9bf0ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# There should always be a default assistant with no configuration\n", + "assistants = await client.assistants.search()\n", + "assistants = [a for a in assistants if not a['config']]\n", + "assistants" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "230c0464-a6e5-420f-9e38-ca514e5634ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant = assistants[0]\n", + "assistant" + ] + }, + { + "cell_type": "markdown", + "id": "e0209129-239b-452e-a59a-47be716bbf8c", + "metadata": {}, + "source": [ + "## Approve a tool call" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "56aa5159-5583-4134-9210-709b969bda6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'thread_id': '54ed0901-6767-46c9-a5f9-b65c1c5fd89c',\n", + " 'created_at': '2024-05-18T22:46:16.724701+00:00',\n", + " 'updated_at': '2024-05-18T22:46:16.724701+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "thread = await client.threads.create()\n", + "thread" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "147c3f98-f889-4f05-a090-6b31f2a0b291", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "runs = await client.runs.list(thread['thread_id'])\n", + "runs" + ] + }, + { + "cell_type": "markdown", + "id": "77dae6ad-bb7b-468d-b7fd-9b8a35f13ccb", + "metadata": {}, + "source": [ + "We now want to add a human-in-the-loop step before a tool is called.\n", + "We can do this by adding `interrupt_before=[\"action\"]`, which tells us to interrupt before calling the action node.\n", + "We can do this either when compiling the graph or when kicking off a run.\n", + "Here we will do it when kicking of a run." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7da70e20-1a4e-4df2-b996-1927f474c835", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': '3b77ef83-687a-4840-8858-0371f91a92c3'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': [{'id': 'toolu_01HwZqM1ptX6E15A5LAmyZTB', 'input': {'query': 'weather in san francisco'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-e5d17791-4d37-4ad2-815f-a0c4cba62585', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in san francisco'}, 'id': 'toolu_01HwZqM1ptX6E15A5LAmyZTB'}], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf\"}]}\n", + "async for chunk in client.runs.stream(\n", + " thread['thread_id'], assistant['assistant_id'], input=input, stream_mode=\"updates\", interrupt_before=['action']\n", + "):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "a36ac0d6-7843-4fab-909c-0b5b6e725a7f", + "metadata": {}, + "source": [ + "We can now kick off a new run on the same thread with `None` as the input in order to just continue the existing thread." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "bded66c7-b56e-4db5-809f-fa5a31d8a012", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': 'a46f733d-cf5b-4ee3-9e07-08612468c8df'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'action': {'messages': [{'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'San Francisco\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 37.78, \\'lon\\': -122.42, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716072201, \\'localtime\\': \\'2024-05-18 15:43\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716071400, \\'last_updated\\': \\'2024-05-18 15:30\\', \\'temp_c\\': 18.9, \\'temp_f\\': 66.0, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Partly cloudy\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/116.png\\', \\'code\\': 1003}, \\'wind_mph\\': 18.6, \\'wind_kph\\': 29.9, \\'wind_degree\\': 280, \\'wind_dir\\': \\'W\\', \\'pressure_mb\\': 1015.0, \\'pressure_in\\': 29.96, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 59, \\'cloud\\': 25, \\'feelslike_c\\': 18.9, \\'feelslike_f\\': 66.0, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 5.0, \\'gust_mph\\': 23.0, \\'gust_kph\\': 37.1}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': '8be98ff3-6d61-41c5-8384-8db6b7abdbfb', 'tool_call_id': 'toolu_01HwZqM1ptX6E15A5LAmyZTB'}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': \"The weather in San Francisco is currently partly cloudy with a temperature of around 66°F (18.9°C). There are westerly winds of 18.6 mph (29.9 km/h) with gusts up to 23 mph (37.1 km/h). The humidity is 59% and visibility is good at 9 miles (16 km). UV levels are moderate at 5.0.\\n\\nIn summary, it's a nice partly cloudy spring day in San Francisco with comfortable temperatures and a moderate breeze. The weather conditions seem ideal for being outdoors and enjoying the city.\", 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-7a8a2ff8-d0d6-4200-b0a5-926f2b6a4798', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = None\n", + "async for chunk in client.runs.stream(\n", + " thread['thread_id'], assistant['assistant_id'], input=input, stream_mode=\"updates\", interrupt_before=['action']\n", + "):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "2072ce5a-8771-42f9-b2de-5d3a7a9c817b", + "metadata": {}, + "source": [ + "## Edit a tool call\n", + "\n", + "What if we want to edit the tool call?\n", + "We can also do that.\n", + "Let's kick off another run, with the same `interrupt_before=['action']`" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b226b687-02da-4eef-9286-46dba92b17ba", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': 'c7c8e313-dad9-47d9-bd03-e112c94eff9e'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': [{'id': 'toolu_01NGhKmeciaT7TfhBSwUT3mi', 'input': {'query': 'weather in los angeles'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-3d417aa5-e9c1-4b76-90f8-597519c28af9', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles'}, 'id': 'toolu_01NGhKmeciaT7TfhBSwUT3mi'}], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in la?\"}]}\n", + "async for chunk in client.runs.stream(\n", + " thread['thread_id'], assistant['assistant_id'], input=input, stream_mode=\"updates\", interrupt_before=['action']\n", + "):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "ab338423-c18d-446c-9aa3-3ad2f16d742a", + "metadata": {}, + "source": [ + "We can now inspect the state of the thread" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "bd9ca1f4-c3b0-4fa3-8c91-233a9129a142", + "metadata": {}, + "outputs": [], + "source": [ + "thread_state = await client.threads.get_state(thread['thread_id'])" + ] + }, + { + "cell_type": "markdown", + "id": "31e82414-afd2-46c4-a605-ce3eb46df485", + "metadata": {}, + "source": [ + "Let's get the last message of the thread - this is the one we want to update" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "fe832ec1-7ae0-4d11-8408-d4da88d4dced", + "metadata": {}, + "outputs": [], + "source": [ + "last_message = thread_state['values']['messages'][-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "434253fe-7397-45e2-8be8-91d002088a96", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'id': 'toolu_01NGhKmeciaT7TfhBSwUT3mi',\n", + " 'input': {'query': 'weather in los angeles'},\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use'}]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "last_message['content']" + ] + }, + { + "cell_type": "markdown", + "id": "6d007b31-c8a2-465c-bc78-a5909ca7931c", + "metadata": {}, + "source": [ + "Let's now modify the tool call to say Louisiana" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "55fcb316-450b-4b8c-9ae9-e7ee395acc55", + "metadata": {}, + "outputs": [], + "source": [ + "last_message['tool_calls'] = [{\n", + " 'id': last_message['tool_calls'][0]['id'],\n", + " 'name': 'tavily_search_results_json',\n", + " # We change the query to say temperature\n", + " 'args': {'query': 'weather in Louisiana'}\n", + "}]\n", + "# last_message['content'] = [{\n", + "# 'id': last_message['content'][0]['id'],\n", + "# 'name': 'tavily_search_results_json',\n", + "# # We change the query to say temperature\n", + "# 'input': {'query': 'weather in Louisiana'},\n", + "# 'type': 'tool_use'\n", + "# }]" + ] + }, + { + "cell_type": "markdown", + "id": "d49be54e-5334-47be-8dfb-78b8a8155e98", + "metadata": {}, + "source": [ + "We can now update the state - we only need to pass in the last updated message because our graph will handle the update." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0438f997-bad3-48f6-b532-9ac3a95263c2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'configurable': {'thread_id': '54ed0901-6767-46c9-a5f9-b65c1c5fd89c',\n", + " 'thread_ts': '1ef15688-1dbd-68f5-8007-75dc0e110124'}}" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "await client.threads.update_state(thread['thread_id'], values={\"messages\": [last_message]})" + ] + }, + { + "cell_type": "markdown", + "id": "c96668ab-80fa-4ae6-a90b-773a943ba331", + "metadata": {}, + "source": [ + "Let's now check the state of the thread again, and in particular the final message" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "31936711-4af4-4bd1-ac10-9ce52922dd2f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'name': 'tavily_search_results_json',\n", + " 'args': {'query': 'weather in Louisiana'},\n", + " 'id': 'toolu_01NGhKmeciaT7TfhBSwUT3mi'}]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "thread_state = await client.threads.get_state(thread['thread_id'])\n", + "thread_state['values']['messages'][-1]['tool_calls']" + ] + }, + { + "cell_type": "markdown", + "id": "20aa8ff3-7876-4db2-9333-c5396cd637ac", + "metadata": {}, + "source": [ + "Great! We changed it. If we now resume execution (by kicking off a new run with null inputs on the same thread) it should use that new tool call." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8e2c4eeb-2888-4979-9877-aa4a53dec5ea", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': '1a1ebed1-3581-418a-81be-e834b40c5c82'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'action': {'messages': [{'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Louisiana\\', \\'region\\': \\'Missouri\\', \\'country\\': \\'USA United States of America\\', \\'lat\\': 39.44, \\'lon\\': -91.06, \\'tz_id\\': \\'America/Chicago\\', \\'localtime_epoch\\': 1716072393, \\'localtime\\': \\'2024-05-18 17:46\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716072300, \\'last_updated\\': \\'2024-05-18 17:45\\', \\'temp_c\\': 29.0, \\'temp_f\\': 84.2, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Partly cloudy\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/116.png\\', \\'code\\': 1003}, \\'wind_mph\\': 6.9, \\'wind_kph\\': 11.2, \\'wind_degree\\': 220, \\'wind_dir\\': \\'SW\\', \\'pressure_mb\\': 1011.0, \\'pressure_in\\': 29.86, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 46, \\'cloud\\': 50, \\'feelslike_c\\': 31.4, \\'feelslike_f\\': 88.6, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 7.0, \\'gust_mph\\': 7.4, \\'gust_kph\\': 11.9}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': '728f8ac9-729e-4bf7-b560-b332a73c8f47', 'tool_call_id': 'toolu_01NGhKmeciaT7TfhBSwUT3mi'}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': [{'text': 'The search results seem to be for the weather in Louisiana, Missouri rather than Los Angeles, California. Let me try the search again:', 'type': 'text'}, {'id': 'toolu_019YAXWMK33tG9DaxMzrowc8', 'input': {'query': 'weather in los angeles california'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-c42a3b14-2611-4a1d-8907-95dcdb18f07f', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles california'}, 'id': 'toolu_019YAXWMK33tG9DaxMzrowc8'}], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = None\n", + "async for chunk in client.runs.stream(\n", + " thread['thread_id'], assistant['assistant_id'], input=input, stream_mode=\"updates\", interrupt_before=['action']\n", + "):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "065f8165-43d8-4876-86af-0cfffd712fee", + "metadata": {}, + "source": [ + "## Edit an old state\n", + "\n", + "Let's now imagine we want to go back in time and edit the tool call after we had already made it.\n", + "In order to do this, we can get first get the full history of the thread." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "de050efd-73a4-441e-91e0-18e08f773a42", + "metadata": {}, + "outputs": [], + "source": [ + "thread_history = await client.threads.get_history(thread['thread_id'], limit=100)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "07e15435-4a5f-4c2a-b748-0e0f7ab02a28", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "11" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(thread_history)" + ] + }, + { + "cell_type": "markdown", + "id": "a292e721-36c4-41b8-85e4-378f0770652a", + "metadata": {}, + "source": [ + "After that, we can get the correct state we want to be in. The 0th index state is the most recent one, while the -1 index state is the first.\n", + "In this case, we want to go to the state where the last message had the tool calls for `weather in los angeles`" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "132d207c-11cb-4efb-a330-88ebdfc612c8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'name': 'tavily_search_results_json',\n", + " 'args': {'query': 'weather in los angeles'},\n", + " 'id': 'toolu_01FnuDKhUfagwoqhNfiTYTfS'}]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rewind_state = thread_history[3]\n", + "rewind_state['values']['messages'][-1]['tool_calls']" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "45e01ddf-2ccf-4029-b431-e5fce2235b59", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'configurable': {'thread_id': 'df85453d-cb86-48c8-ae84-12081faa1bdf',\n", + " 'thread_ts': '1ef15582-3442-6db7-8006-9166bbb0e80f'}}" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rewind_state['config']" + ] + }, + { + "cell_type": "markdown", + "id": "d229468e-2f94-4b29-b56b-1d402554dcfb", + "metadata": {}, + "source": [ + "If we want to, we can now resume execution from that place in time" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "94ebc63e-f2cf-4da1-bc8d-52c4731ab0c6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': 'a1cc9263-ef0a-4c04-9194-6f01624d0ef0'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'action': {'messages': [{'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Los Angeles\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 34.05, \\'lon\\': -118.24, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716071728, \\'localtime\\': \\'2024-05-18 15:35\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716071400, \\'last_updated\\': \\'2024-05-18 15:30\\', \\'temp_c\\': 20.0, \\'temp_f\\': 68.0, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Partly cloudy\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/116.png\\', \\'code\\': 1003}, \\'wind_mph\\': 2.2, \\'wind_kph\\': 3.6, \\'wind_degree\\': 226, \\'wind_dir\\': \\'SW\\', \\'pressure_mb\\': 1016.0, \\'pressure_in\\': 29.99, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 61, \\'cloud\\': 50, \\'feelslike_c\\': 20.0, \\'feelslike_f\\': 68.0, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 6.0, \\'gust_mph\\': 12.6, \\'gust_kph\\': 20.3}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': '7137b2e5-566b-418b-b642-b3c6b64c5224', 'tool_call_id': 'toolu_01FnuDKhUfagwoqhNfiTYTfS'}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': 'The search results show the current weather conditions in Los Angeles. As of 3:30pm on May 18, 2024, the weather in Los Angeles is partly cloudy with a temperature around 68°F (20°C). Winds are light from the southwest around 2-3 mph. The humidity is 61% and visibility is good at 9 miles. Overall, it appears to be a nice spring day in LA with partly sunny skies and comfortable temperatures in the upper 60s.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-3966b68a-c381-4933-a852-e6a4697c962c', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = None\n", + "async for chunk in client.runs.stream(\n", + " thread['thread_id'], \n", + " assistant['assistant_id'], \n", + " input=input, \n", + " stream_mode=\"updates\", \n", + " interrupt_before=['action'],\n", + " config=rewind_state['config']\n", + "):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "492f1d37-0979-4210-8dd7-bc70cdc308f3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/interrupt_concurrent.ipynb b/examples/cloud_examples/interrupt_concurrent.ipynb new file mode 100644 index 000000000..0df7a6ff9 --- /dev/null +++ b/examples/cloud_examples/interrupt_concurrent.ipynb @@ -0,0 +1,175 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Interrupt\n", + "\n", + "There are several strategies for handling concurrent runs in your graph. This notebook covers how to use the `interrupt` option - please see the other how-to guides in the \"Double Texting\" directory to learn about the other methods.\n", + "\n", + "First, let's import our required packages and instantiate our client, assistant, and thread." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import asyncio\n", + "\n", + "from langchain_core.messages import convert_to_messages\n", + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()\n", + "assistant = await client.assistants.create(\"agent\")\n", + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# the first run will be interrupted\n", + "interrupted_run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf?\"}]},\n", + ")\n", + "await asyncio.sleep(2)\n", + "run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in nyc?\"}]},\n", + " multitask_strategy=\"interrupt\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# wait until the second run completes\n", + "await client.runs.join(thread[\"thread_id\"], run[\"run_id\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the thread has partial data from the first run + data from the second run" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "state = await client.threads.get_state(thread[\"thread_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in sf?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'id': 'toolu_01MjNtVJwEcpujRGrf3x6Pih', 'input': {'query': 'weather in san francisco'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01MjNtVJwEcpujRGrf3x6Pih)\n", + " Call ID: toolu_01MjNtVJwEcpujRGrf3x6Pih\n", + " Args:\n", + " query: weather in san francisco\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.wunderground.com/hourly/us/ca/san-francisco/KCASANFR2002/date/2024-6-18\", \"content\": \"High 64F. Winds W at 10 to 20 mph. A few clouds from time to time. Low 49F. Winds W at 10 to 20 mph. Temp. San Francisco Weather Forecasts. Weather Underground provides local & long-range weather ...\"}]\n", + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in nyc?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'id': 'toolu_01KtE1m1ifPLQAx4fQLyZL9Q', 'input': {'query': 'weather in new york city'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01KtE1m1ifPLQAx4fQLyZL9Q)\n", + " Call ID: toolu_01KtE1m1ifPLQAx4fQLyZL9Q\n", + " Args:\n", + " query: weather in new york city\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.accuweather.com/en/us/new-york/10021/june-weather/349727\", \"content\": \"Get the monthly weather forecast for New York, NY, including daily high/low, historical averages, to help you plan ahead.\"}]\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "The search results provide weather forecasts and information for New York City. Based on the top result from AccuWeather, here are some key details about the weather in NYC:\n", + "\n", + "- This is a monthly weather forecast for New York City for the month of June.\n", + "- It includes daily high and low temperatures to help plan ahead.\n", + "- Historical averages for June in NYC are also provided as a reference point.\n", + "- More detailed daily or hourly forecasts with precipitation chances, humidity, wind, etc. can be found by visiting the AccuWeather page.\n", + "\n", + "So in summary, the search provides a convenient overview of the expected weather conditions in New York City over the next month to give you an idea of what to prepare for if traveling or making plans there. Let me know if you need any other details!\n" + ] + } + ], + "source": [ + "for m in convert_to_messages(state[\"values\"][\"messages\"]):\n", + " m.pretty_print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the original, interrupted run was interrupted" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'interrupted'" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "(await client.runs.get(thread[\"thread_id\"], interrupted_run[\"run_id\"]))[\"status\"]" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/cloud_examples/reject_concurrent.ipynb b/examples/cloud_examples/reject_concurrent.ipynb new file mode 100644 index 000000000..9aa603b12 --- /dev/null +++ b/examples/cloud_examples/reject_concurrent.ipynb @@ -0,0 +1,172 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reject\n", + "\n", + "There are several strategies for handling concurrent runs in your graph. This notebook covers how to use the `reject` option - please see the other how-to guides in the \"Double Texting\" directory to learn about the other methods.\n", + "\n", + "First, let's import our required packages and instantiate our client, assistant, and thread." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import httpx\n", + "from langchain_core.messages import convert_to_messages\n", + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "assistant = await client.assistants.create(\"agent\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf?\"}]},\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Failed to start concurrent run Client error '409 Conflict' for url 'http://localhost:8123/threads/f9e7088b-8028-4e5c-88d2-9cc9a2870e50/runs'\n", + "For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409\n" + ] + } + ], + "source": [ + "try:\n", + " await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in nyc?\"}]},\n", + " multitask_strategy=\"reject\",\n", + " )\n", + "except httpx.HTTPStatusError as e:\n", + " print(\"Failed to start concurrent run\", e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can verify that the original thread finished executing:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# wait until the original run completes\n", + "await client.runs.join(thread[\"thread_id\"], run[\"run_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "state = await client.threads.get_state(thread[\"thread_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in sf?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'id': 'toolu_01CyewEifV2Kmi7EFKHbMDr1', 'input': {'query': 'weather in san francisco'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01CyewEifV2Kmi7EFKHbMDr1)\n", + " Call ID: toolu_01CyewEifV2Kmi7EFKHbMDr1\n", + " Args:\n", + " query: weather in san francisco\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.accuweather.com/en/us/san-francisco/94103/june-weather/347629\", \"content\": \"Get the monthly weather forecast for San Francisco, CA, including daily high/low, historical averages, to help you plan ahead.\"}]\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "According to the search results from Tavily, the current weather in San Francisco is:\n", + "\n", + "The average high temperature in San Francisco in June is around 65°F (18°C), with average lows around 54°F (12°C). June tends to be one of the cooler and foggier months in San Francisco due to the marine layer of fog that often blankets the city during the summer months.\n", + "\n", + "Some key points about the typical June weather in San Francisco:\n", + "\n", + "- Mild temperatures with highs in the 60s F and lows in the 50s F\n", + "- Foggy mornings that often burn off to sunny afternoons\n", + "- Little to no rainfall, as June falls in the dry season\n", + "- Breezy conditions, with winds off the Pacific Ocean\n", + "- Layers are recommended for changing weather conditions\n", + "\n", + "So in summary, you can expect mild, foggy mornings giving way to sunny but cool afternoons in San Francisco this time of year. The marine layer keeps temperatures moderate compared to other parts of California in June.\n" + ] + } + ], + "source": [ + "for m in convert_to_messages(state[\"values\"][\"messages\"]):\n", + " m.pretty_print()" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/cloud_examples/rollback_concurrent.ipynb b/examples/cloud_examples/rollback_concurrent.ipynb new file mode 100644 index 000000000..37d1ab9f5 --- /dev/null +++ b/examples/cloud_examples/rollback_concurrent.ipynb @@ -0,0 +1,155 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Rollback\n", + "\n", + "There are several strategies for handling concurrent runs in your graph. This notebook covers how to use the `rollback` option - please see the other how-to guides in the \"Double Texting\" directory to learn about the other methods.\n", + "\n", + "First, let's import our required packages and instantiate our client, assistant, and thread." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import asyncio\n", + "\n", + "import httpx\n", + "from langchain_core.messages import convert_to_messages\n", + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()\n", + "assistant = await client.assistants.create(\"agent\")\n", + "thread = await client.threads.create()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# the first run will be interrupted\n", + "rolled_back_run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in sf?\"}]},\n", + ")\n", + "await asyncio.sleep(2)\n", + "run = await client.runs.create(\n", + " thread[\"thread_id\"],\n", + " assistant[\"assistant_id\"],\n", + " input={\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in nyc?\"}]},\n", + " multitask_strategy=\"rollback\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# wait until the second run completes\n", + "await client.runs.join(thread[\"thread_id\"], run[\"run_id\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the thread has data only from the second run" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "state = await client.threads.get_state(thread[\"thread_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "================================\u001b[1m Human Message \u001b[0m=================================\n", + "\n", + "whats the weather in nyc?\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "[{'id': 'toolu_01JzPqefao1gxwajHQ3Yh3JD', 'input': {'query': 'weather in nyc'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}]\n", + "Tool Calls:\n", + " tavily_search_results_json (toolu_01JzPqefao1gxwajHQ3Yh3JD)\n", + " Call ID: toolu_01JzPqefao1gxwajHQ3Yh3JD\n", + " Args:\n", + " query: weather in nyc\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: tavily_search_results_json\n", + "\n", + "[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{'location': {'name': 'New York', 'region': 'New York', 'country': 'United States of America', 'lat': 40.71, 'lon': -74.01, 'tz_id': 'America/New_York', 'localtime_epoch': 1718734479, 'localtime': '2024-06-18 14:14'}, 'current': {'last_updated_epoch': 1718733600, 'last_updated': '2024-06-18 14:00', 'temp_c': 29.4, 'temp_f': 84.9, 'is_day': 1, 'condition': {'text': 'Sunny', 'icon': '//cdn.weatherapi.com/weather/64x64/day/113.png', 'code': 1000}, 'wind_mph': 2.2, 'wind_kph': 3.6, 'wind_degree': 158, 'wind_dir': 'SSE', 'pressure_mb': 1025.0, 'pressure_in': 30.26, 'precip_mm': 0.0, 'precip_in': 0.0, 'humidity': 63, 'cloud': 0, 'feelslike_c': 31.3, 'feelslike_f': 88.3, 'windchill_c': 28.3, 'windchill_f': 82.9, 'heatindex_c': 29.6, 'heatindex_f': 85.3, 'dewpoint_c': 18.4, 'dewpoint_f': 65.2, 'vis_km': 16.0, 'vis_miles': 9.0, 'uv': 7.0, 'gust_mph': 16.5, 'gust_kph': 26.5}}\"}]\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "The weather API results show that the current weather in New York City is sunny with a temperature of around 85°F (29°C). The wind is light at around 2-3 mph from the south-southeast. Overall it looks like a nice sunny summer day in NYC.\n" + ] + } + ], + "source": [ + "for m in convert_to_messages(state[\"values\"][\"messages\"]):\n", + " m.pretty_print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the original, rolled back run was deleted" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Original run was correctly deleted\n" + ] + } + ], + "source": [ + "try:\n", + " await client.runs.get(thread[\"thread_id\"], rolled_back_run[\"run_id\"])\n", + "except httpx.HTTPStatusError as _:\n", + " print(\"Original run was correctly deleted\")" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/cloud_examples/same-thread.ipynb b/examples/cloud_examples/same-thread.ipynb new file mode 100644 index 000000000..94d08a04e --- /dev/null +++ b/examples/cloud_examples/same-thread.ipynb @@ -0,0 +1,184 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "68c0837d-c40a-4209-9f88-5d08c00c31b0", + "metadata": {}, + "source": [ + "# How to run multiple agents on the same thread\n", + "\n", + "In LangGraph API, a thread is not explicitly associated with a particular agent.\n", + "This means that you can run multiple agents on the same thread.\n", + "In this example, we will create two agents and then call them both on the same thread." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e06be1f6-07a5-4e93-8497-02473fc65d4f", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client\n", + "\n", + "client = get_client()\n", + "\n", + "openai_assistant = await client.assistants.create(graph_id=\"agent\", config={\"configurable\": {\"model_name\": \"openai\"}})\n", + "\n", + "# There should always be a default assistant with no configuration\n", + "assistants = await client.assistants.search()\n", + "default_assistant = [a for a in assistants if not a['config']][0]" + ] + }, + { + "cell_type": "markdown", + "id": "4f10d346-69e6-44f4-8ff0-ef539ba938df", + "metadata": {}, + "source": [ + "We can see that these agents are different" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3898ca35-eb2c-4b12-97ea-e0cc6a7c6a2e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': '13ecc353-a9a9-474b-a824-b6a343cd74b1',\n", + " 'graph_id': 'agent',\n", + " 'config': {'configurable': {'model_name': 'openai'}},\n", + " 'created_at': '2024-05-21T16:22:59.258447+00:00',\n", + " 'updated_at': '2024-05-21T16:22:59.258447+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai_assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a8fa67b2-cb4f-43d3-a1fc-f8b3936c16b6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "default_assistant" + ] + }, + { + "cell_type": "markdown", + "id": "5e655e61-c2ee-488a-90f6-6189c84841da", + "metadata": {}, + "source": [ + "We can now run it on the OpenAI assistant first." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "68ed7a1b-74be-4560-8c55-c76d49d3d348", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StreamPart(event='metadata', data={'run_id': 'f90b3029-8669-4d70-976c-b70368e355d8'})\n", + "StreamPart(event='updates', data={'agent': {'messages': [{'content': 'I was created by OpenAI, a research organization focused on developing and advancing artificial intelligence technology.', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop'}, 'type': 'ai', 'name': None, 'id': 'run-9801a5ba-2f3c-43de-89cf-c740debf36fc', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}})\n", + "StreamPart(event='end', data=None)\n" + ] + } + ], + "source": [ + "thread = await client.threads.create()\n", + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"who made you?\"}]}\n", + "async for event in client.runs.stream(thread['thread_id'], openai_assistant['assistant_id'], input=input, stream_mode='updates'):\n", + " print(event)" + ] + }, + { + "cell_type": "markdown", + "id": "c53709e9-ddb2-4429-9042-456eb6c91244", + "metadata": {}, + "source": [ + "Now, we can run it on a different Anthropic-based assistant." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "666d78f1-019a-433e-839e-52d2ebb3d9c8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StreamPart(event='metadata', data={'run_id': 'c3521302-48ae-4c29-a0f2-5eb865cbc6d7'})\n", + "StreamPart(event='updates', data={'agent': {'messages': [{'content': \"I am an AI assistant created by Anthropic to be helpful, harmless, and honest. I don't actually have a physical form or visual representation - I exist as a language model trained to have natural conversations.\", 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-4d05ffd7-0505-43e1-a068-0207c56b7665', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}})\n", + "StreamPart(event='end', data=None)\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"and you?\"}]}\n", + "async for event in client.runs.stream(thread['thread_id'], default_assistant['assistant_id'], input=input, stream_mode='updates'):\n", + " print(event)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c26df68-c447-4a88-bc94-59df42b117b5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/stream_messages.ipynb b/examples/cloud_examples/stream_messages.ipynb new file mode 100644 index 000000000..60439088d --- /dev/null +++ b/examples/cloud_examples/stream_messages.ipynb @@ -0,0 +1,1402 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "51466c8d-8ce4-4b3d-be4e-18fdbeda5f53", + "metadata": {}, + "source": [ + "# How to stream messages from your graph\n", + "\n", + "There are multiple different streaming modes.\n", + "\n", + "- `values`: This streaming mode streams back values of the graph. This is the **full state of the graph** after each node is called.\n", + "- `updates`: This streaming mode streams back updates to the graph. This is the **update to the state of the graph** after each node is called.\n", + "- `messages`: This streaming mode streams back messages - both complete messages (at the end of a node) as well as **tokens** for any messages generated inside a node. This mode is primarily meant for powering chat applications.\n", + "\n", + "\n", + "This notebook covers `streaming_mode=\"messages\"`.\n", + "\n", + "In order to use this mode, the state of the graph you are interacting with MUST have a messages key that is a list of messages.\n", + "Eg, the state should look something like:\n", + "\n", + "```python\n", + "from typing import TypedDict, Annotated\n", + "from langgraph.graph import add_messages\n", + "from langchain_core.messages import AnyMessage\n", + "\n", + "class State(TypedDict):\n", + " messages: Annotated[list[AnyMessage], add_messages]\n", + "```\n", + "\n", + "OR it should be an instance or subclass of `from langgraph.graph import MessageState` (`MessageState` is just a helper type hint equivalent to the above).\n", + "\n", + "With `stream_mode=\"messages\"` two things will be streamed back:\n", + "\n", + "- It outputs messages produced by any chat model called inside (unless tagged in a special way)\n", + "- It outputs messages returned from nodes (to allow for nodes to return `ToolMessages` and the like" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "521d975b-e94b-4c37-bfa1-82d969e2a4dc", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "27a1392b-86c3-464e-99a8-90ffc965f3ec", + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "714e9f92-86b4-4cd8-9d68-cfc45d56ed2c", + "metadata": {}, + "outputs": [], + "source": [ + "assistant = await client.assistants.create(graph_id=\"agent\", config={\"configurable\": {\"model_name\": \"openai\"}})" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4947e9bc-111f-4991-8c41-1041da9bf0ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'e6de0bea-86b1-4902-a20b-1f60caf24ef9',\n", + " 'graph_id': 'agent',\n", + " 'config': {'configurable': {'model_name': 'openai'}},\n", + " 'created_at': '2024-05-18T19:58:45.145734+00:00',\n", + " 'updated_at': '2024-05-18T19:58:45.145734+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "56aa5159-5583-4134-9210-709b969bda6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'thread_id': 'd7d3507f-8242-4705-ae6a-2bf45aefe38c',\n", + " 'created_at': '2024-05-18T20:14:05.504749+00:00',\n", + " 'updated_at': '2024-05-18T20:14:05.504749+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "thread = await client.threads.create()\n", + "thread" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "147c3f98-f889-4f05-a090-6b31f2a0b291", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "runs = await client.runs.list(thread['thread_id'])\n", + "runs" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "040795c6-5d9f-4729-9132-f3b0f94d9e94", + "metadata": {}, + "outputs": [], + "source": [ + "# Helper function for formatting messages\n", + "\n", + "def format_tool_calls(tool_calls):\n", + " if tool_calls:\n", + " formatted_calls = []\n", + " for call in tool_calls:\n", + " formatted_calls.append(f\"Tool Call ID: {call['id']}, Function: {call['name']}, Arguments: {call['args']}\")\n", + " return \"\\n\".join(formatted_calls)\n", + " return \"No tool calls\"" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "7da70e20-1a4e-4df2-b996-1927f474c835", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Metadata: Run ID - c64b3e27-c7a4-4851-9618-07641fa24296\n", + "--------------------------------------------------\n", + "Human: whats the weather in sf\n", + "--------------------------------------------------\n", + "Invalid Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: \n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': ''}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in San'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in San Francisco'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in San Francisco'}\n", + "--------------------------------------------------\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in San Francisco'}\n", + "Response Metadata: Finish Reason - tool_calls\n", + "--------------------------------------------------\n", + "AI: whats the weather in sf\n", + "Tool Calls:\n", + "Tool Call ID: call_8XskpDf4mjpQOuIL8F9IzQR8, Function: tavily_search_results_json, Arguments: {'query': 'current weather in San Francisco'}\n", + "Response Metadata: Finish Reason - tool_calls\n", + "--------------------------------------------------\n", + "AI: [{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{'location': {'name': 'San Francisco', 'region': 'California', 'country': 'United States of America', 'lat': 37.78, 'lon': -122.42, 'tz_id': 'America/Los_Angeles', 'localtime_epoch': 1716063227, 'localtime': '2024-05-18 13:13'}, 'current': {'last_updated_epoch': 1716062400, 'last_updated': '2024-05-18 13:00', 'temp_c': 17.2, 'temp_f': 63.0, 'is_day': 1, 'condition': {'text': 'Partly cloudy', 'icon': '//cdn.weatherapi.com/weather/64x64/day/116.png', 'code': 1003}, 'wind_mph': 2.2, 'wind_kph': 3.6, 'wind_degree': 237, 'wind_dir': 'WSW', 'pressure_mb': 1015.0, 'pressure_in': 29.98, 'precip_mm': 0.0, 'precip_in': 0.0, 'humidity': 65, 'cloud': 50, 'feelslike_c': 17.2, 'feelslike_f': 63.0, 'vis_km': 16.0, 'vis_miles': 9.0, 'uv': 5.0, 'gust_mph': 13.8, 'gust_kph': 22.3}}\"}]\n", + "--------------------------------------------------\n", + "--------------------------------------------------\n", + "AI: The\n", + "--------------------------------------------------\n", + "AI: The current\n", + "--------------------------------------------------\n", + "AI: The current weather\n", + "--------------------------------------------------\n", + "AI: The current weather in\n", + "--------------------------------------------------\n", + "AI: The current weather in San\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Part\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 k\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph)\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the W\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 101\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "-\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **G\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gust\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:**\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to \n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 k\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Part\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weather\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/116\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/116.png\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/116.png)\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/116.png)\n", + "Response Metadata: Finish Reason - stop\n", + "--------------------------------------------------\n", + "AI: The current weather in San Francisco is as follows:\n", + "\n", + "- **Temperature:** 17.2°C (63.0°F)\n", + "- **Condition:** Partly cloudy\n", + "- **Wind:** 2.2 mph (3.6 kph) from the WSW\n", + "- **Humidity:** 65%\n", + "- **Visibility:** 16 km (9 miles)\n", + "- **Pressure:** 1015.0 mb (29.98 in)\n", + "- **UV Index:** 5\n", + "- **Gusts:** Up to 13.8 mph (22.3 kph)\n", + "\n", + "![Partly cloudy](//cdn.weatherapi.com/weather/64x64/day/116.png)\n", + "Response Metadata: Finish Reason - stop\n", + "--------------------------------------------------\n", + "--------------------------------------------------\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"user\", \"content\": \"whats the weather in sf\"}]}\n", + "\n", + "async for event in client.runs.stream(thread['thread_id'], assistant['assistant_id'], input=input, stream_mode='messages'):\n", + " if event.event == 'metadata':\n", + " print(f\"Metadata: Run ID - {event.data['run_id']}\")\n", + " elif event.event == 'data':\n", + " for data_item in event.data:\n", + " if 'role' in data_item and data_item['role'] == 'user':\n", + " print(f\"Human: {data_item['content']}\")\n", + " else:\n", + " tool_calls = data_item.get('tool_calls', [])\n", + " invalid_tool_calls = data_item.get('invalid_tool_calls', [])\n", + " content = data_item.get('content', \"\")\n", + " response_metadata = data_item.get('response_metadata', {})\n", + "\n", + " if content:\n", + " print(f\"AI: {content}\")\n", + " \n", + " if tool_calls:\n", + " print(\"Tool Calls:\")\n", + " print(format_tool_calls(tool_calls))\n", + " \n", + " if invalid_tool_calls:\n", + " print(\"Invalid Tool Calls:\")\n", + " print(format_tool_calls(invalid_tool_calls))\n", + "\n", + " if response_metadata:\n", + " finish_reason = response_metadata.get('finish_reason', 'N/A')\n", + " print(f\"Response Metadata: Finish Reason - {finish_reason}\")\n", + " print(\"-\" * 50)\n", + " " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/stream_updates.ipynb b/examples/cloud_examples/stream_updates.ipynb new file mode 100644 index 000000000..877194b53 --- /dev/null +++ b/examples/cloud_examples/stream_updates.ipynb @@ -0,0 +1,219 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "51466c8d-8ce4-4b3d-be4e-18fdbeda5f53", + "metadata": {}, + "source": [ + "# How to stream updates from your graph\n", + "\n", + "There are multiple different streaming modes.\n", + "\n", + "- `values`: This streaming mode streams back values of the graph. This is the **full state of the graph** after each node is called.\n", + "- `updates`: This streaming mode streams back updates to the graph. This is the **update to the state of the graph** after each node is called.\n", + "- `messages`: This streaming mode streams back messages - both complete messages (at the end of a node) as well as **tokens** for any messages generated inside a node. This mode is primarily meant for powering chat applications.\n", + "\n", + "\n", + "This notebook covers `streaming_mode=\"updates\"`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "521d975b-e94b-4c37-bfa1-82d969e2a4dc", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "27a1392b-86c3-464e-99a8-90ffc965f3ec", + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4947e9bc-111f-4991-8c41-1041da9bf0ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# There should always be a default assistant with no configuration\n", + "assistants = await client.assistants.search()\n", + "assistants = [a for a in assistants if not a['config']]\n", + "assistants" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "230c0464-a6e5-420f-9e38-ca514e5634ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant = assistants[0]\n", + "assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "56aa5159-5583-4134-9210-709b969bda6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'thread_id': '1eee9bd4-ec61-4300-a38a-2e13b8925d39',\n", + " 'created_at': '2024-05-18T19:57:36.509105+00:00',\n", + " 'updated_at': '2024-05-18T19:57:36.509105+00:00',\n", + " 'metadata': {}}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "thread = await client.threads.create()\n", + "thread" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "147c3f98-f889-4f05-a090-6b31f2a0b291", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "runs = await client.runs.list(thread['thread_id'])\n", + "runs" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7da70e20-1a4e-4df2-b996-1927f474c835", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': 'cfc96c16-ed9a-44bd-b5bb-c30e3c0725f0'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': [{'id': 'toolu_0148tMmDK51iLQfG1yaNwRHM', 'input': {'query': 'weather in los angeles'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-1a9d32b0-7007-4a36-abde-8df812a0ed94', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles'}, 'id': 'toolu_0148tMmDK51iLQfG1yaNwRHM'}], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'action': {'messages': [{'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Los Angeles\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 34.05, \\'lon\\': -118.24, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716062239, \\'localtime\\': \\'2024-05-18 12:57\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716061500, \\'last_updated\\': \\'2024-05-18 12:45\\', \\'temp_c\\': 18.9, \\'temp_f\\': 66.0, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Overcast\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/122.png\\', \\'code\\': 1009}, \\'wind_mph\\': 2.2, \\'wind_kph\\': 3.6, \\'wind_degree\\': 10, \\'wind_dir\\': \\'N\\', \\'pressure_mb\\': 1017.0, \\'pressure_in\\': 30.02, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 65, \\'cloud\\': 100, \\'feelslike_c\\': 18.9, \\'feelslike_f\\': 66.0, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 6.0, \\'gust_mph\\': 7.5, \\'gust_kph\\': 12.0}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': 'a36e8cd1-0e96-4417-9c15-f10a945d2b42', 'tool_call_id': 'toolu_0148tMmDK51iLQfG1yaNwRHM'}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: data...\n", + "{'agent': {'messages': [{'content': 'The weather in Los Angeles is currently overcast with a temperature of around 66°F (18.9°C). There are light winds from the north at around 2-3 mph. The humidity is 65% and visibility is good at 9 miles. Overall, mild spring weather conditions in LA.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-d5c1c2f0-b12d-41ce-990b-f36570e7483d', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in la\"}]}\n", + "async for chunk in client.runs.stream(thread['thread_id'], assistant['assistant_id'], input=input, stream_mode=\"updates\", ):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53800469-354a-4739-8e77-b88044c772d5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/cloud_examples/stream_values.ipynb b/examples/cloud_examples/stream_values.ipynb new file mode 100644 index 000000000..86493758c --- /dev/null +++ b/examples/cloud_examples/stream_values.ipynb @@ -0,0 +1,258 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "51466c8d-8ce4-4b3d-be4e-18fdbeda5f53", + "metadata": {}, + "source": [ + "# How to stream values from your graph\n", + "\n", + "There are multiple different streaming modes.\n", + "\n", + "- `values`: This streaming mode streams back values of the graph. This is the **full state of the graph** after each node is called.\n", + "- `updates`: This streaming mode streams back updates to the graph. This is the **update to the state of the graph** after each node is called.\n", + "- `messages`: This streaming mode streams back messages - both complete messages (at the end of a node) as well as **tokens** for any messages generated inside a node. This mode is primarily meant for powering chat applications.\n", + "\n", + "\n", + "This notebook covers `streaming_mode=\"values\"`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "521d975b-e94b-4c37-bfa1-82d969e2a4dc", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph_sdk import get_client" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "27a1392b-86c3-464e-99a8-90ffc965f3ec", + "metadata": {}, + "outputs": [], + "source": [ + "client = get_client()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4947e9bc-111f-4991-8c41-1041da9bf0ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# There should always be a default assistant with no configuration\n", + "assistants = await client.assistants.search()\n", + "assistants = [a for a in assistants if not a['config']]\n", + "assistants" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "230c0464-a6e5-420f-9e38-ca514e5634ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assistant_id': 'fe096781-5601-53d2-b2f6-0d3403f7e9ca',\n", + " 'graph_id': 'agent',\n", + " 'config': {},\n", + " 'created_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'updated_at': '2024-05-18T00:19:39.688822+00:00',\n", + " 'metadata': {'created_by': 'system'}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assistant = assistants[0]\n", + "assistant" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7da70e20-1a4e-4df2-b996-1927f474c835", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Receiving new event of type: metadata...\n", + "{'run_id': 'f08791ce-0a3d-44e0-836c-ff62cd2e2786'}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: values...\n", + "{'messages': [{'role': 'human', 'content': 'whats the weather in la'}]}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: values...\n", + "{'messages': [{'content': 'whats the weather in la', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'faa15565-8823-4aa1-87af-e21b40526fae', 'example': False}, {'content': [{'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g', 'input': {'query': 'weather in los angeles'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-3fe1db7a-6b8d-4d83-ba07-8657190ad811', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles'}, 'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g'}], 'invalid_tool_calls': []}]}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: values...\n", + "{'messages': [{'content': 'whats the weather in la', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'faa15565-8823-4aa1-87af-e21b40526fae', 'example': False}, {'content': [{'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g', 'input': {'query': 'weather in los angeles'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-3fe1db7a-6b8d-4d83-ba07-8657190ad811', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles'}, 'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g'}], 'invalid_tool_calls': []}, {'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Los Angeles\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 34.05, \\'lon\\': -118.24, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716310320, \\'localtime\\': \\'2024-05-21 9:52\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716309900, \\'last_updated\\': \\'2024-05-21 09:45\\', \\'temp_c\\': 16.7, \\'temp_f\\': 62.1, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Overcast\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/122.png\\', \\'code\\': 1009}, \\'wind_mph\\': 8.1, \\'wind_kph\\': 13.0, \\'wind_degree\\': 250, \\'wind_dir\\': \\'WSW\\', \\'pressure_mb\\': 1015.0, \\'pressure_in\\': 29.97, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 65, \\'cloud\\': 100, \\'feelslike_c\\': 16.7, \\'feelslike_f\\': 62.1, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 5.0, \\'gust_mph\\': 12.5, \\'gust_kph\\': 20.2}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': '0d5dab31-5ff8-4ae2-a560-bc4bcba7c9d7', 'tool_call_id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g'}]}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: values...\n", + "{'messages': [{'content': 'whats the weather in la', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'human', 'name': None, 'id': 'faa15565-8823-4aa1-87af-e21b40526fae', 'example': False}, {'content': [{'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g', 'input': {'query': 'weather in los angeles'}, 'name': 'tavily_search_results_json', 'type': 'tool_use'}], 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-3fe1db7a-6b8d-4d83-ba07-8657190ad811', 'example': False, 'tool_calls': [{'name': 'tavily_search_results_json', 'args': {'query': 'weather in los angeles'}, 'id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g'}], 'invalid_tool_calls': []}, {'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Los Angeles\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 34.05, \\'lon\\': -118.24, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716310320, \\'localtime\\': \\'2024-05-21 9:52\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716309900, \\'last_updated\\': \\'2024-05-21 09:45\\', \\'temp_c\\': 16.7, \\'temp_f\\': 62.1, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Overcast\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/122.png\\', \\'code\\': 1009}, \\'wind_mph\\': 8.1, \\'wind_kph\\': 13.0, \\'wind_degree\\': 250, \\'wind_dir\\': \\'WSW\\', \\'pressure_mb\\': 1015.0, \\'pressure_in\\': 29.97, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 65, \\'cloud\\': 100, \\'feelslike_c\\': 16.7, \\'feelslike_f\\': 62.1, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 5.0, \\'gust_mph\\': 12.5, \\'gust_kph\\': 20.2}}\"}]', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'tool', 'name': 'tavily_search_results_json', 'id': '0d5dab31-5ff8-4ae2-a560-bc4bcba7c9d7', 'tool_call_id': 'toolu_01E5mSaZWm5rWJnCqmt63v4g'}, {'content': 'Based on the weather API results, the current weather in Los Angeles is overcast with a temperature of around 62°F (17°C). There are light winds from the west-southwest around 8-13 mph. The humidity is 65% and visibility is good at 9 miles. Overall, mild spring weather conditions in LA.', 'additional_kwargs': {}, 'response_metadata': {}, 'type': 'ai', 'name': None, 'id': 'run-4d6d4c23-5aad-4042-b0d9-19407a9e08e3', 'example': False, 'tool_calls': [], 'invalid_tool_calls': []}]}\n", + "\n", + "\n", + "\n", + "Receiving new event of type: end...\n", + "None\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in la\"}]}\n", + "thread = await client.threads.create()\n", + "async for chunk in client.runs.stream(thread['thread_id'], assistant['assistant_id'], input=input):\n", + " print(f\"Receiving new event of type: {chunk.event}...\")\n", + " print(chunk.data)\n", + " print(\"\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "43e4432d-e96c-4ae4-8085-866fb57bbcb3", + "metadata": {}, + "source": [ + "If we want to just get the final result, we can use this endpoint and just keep track of the last value we received" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d2560481-d161-4d4f-b385-4977696c4aa1", + "metadata": {}, + "outputs": [], + "source": [ + "input = {\"messages\": [{\"role\": \"human\", \"content\": \"whats the weather in la\"}]}\n", + "thread = await client.threads.create()\n", + "final_answer = None\n", + "async for chunk in client.runs.stream(thread['thread_id'], assistant['assistant_id'], input=input):\n", + " if chunk.event == \"values\":\n", + " final_answer = chunk.data" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9c2d60ea-450f-45cd-b867-0cbb162528f6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'messages': [{'content': 'whats the weather in la',\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'type': 'human',\n", + " 'name': None,\n", + " 'id': 'e78c2f94-d810-42fc-a399-11f6bb1b1092',\n", + " 'example': False},\n", + " {'content': [{'id': 'toolu_01SBMoAGr4U9x3ibztm2UUom',\n", + " 'input': {'query': 'weather in los angeles'},\n", + " 'name': 'tavily_search_results_json',\n", + " 'type': 'tool_use'}],\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'type': 'ai',\n", + " 'name': None,\n", + " 'id': 'run-80767ab8-09fc-40ec-9e45-657ddef5e0b1',\n", + " 'example': False,\n", + " 'tool_calls': [{'name': 'tavily_search_results_json',\n", + " 'args': {'query': 'weather in los angeles'},\n", + " 'id': 'toolu_01SBMoAGr4U9x3ibztm2UUom'}],\n", + " 'invalid_tool_calls': []},\n", + " {'content': '[{\"url\": \"https://www.weatherapi.com/\", \"content\": \"{\\'location\\': {\\'name\\': \\'Los Angeles\\', \\'region\\': \\'California\\', \\'country\\': \\'United States of America\\', \\'lat\\': 34.05, \\'lon\\': -118.24, \\'tz_id\\': \\'America/Los_Angeles\\', \\'localtime_epoch\\': 1716310320, \\'localtime\\': \\'2024-05-21 9:52\\'}, \\'current\\': {\\'last_updated_epoch\\': 1716309900, \\'last_updated\\': \\'2024-05-21 09:45\\', \\'temp_c\\': 16.7, \\'temp_f\\': 62.1, \\'is_day\\': 1, \\'condition\\': {\\'text\\': \\'Overcast\\', \\'icon\\': \\'//cdn.weatherapi.com/weather/64x64/day/122.png\\', \\'code\\': 1009}, \\'wind_mph\\': 8.1, \\'wind_kph\\': 13.0, \\'wind_degree\\': 250, \\'wind_dir\\': \\'WSW\\', \\'pressure_mb\\': 1015.0, \\'pressure_in\\': 29.97, \\'precip_mm\\': 0.0, \\'precip_in\\': 0.0, \\'humidity\\': 65, \\'cloud\\': 100, \\'feelslike_c\\': 16.7, \\'feelslike_f\\': 62.1, \\'vis_km\\': 16.0, \\'vis_miles\\': 9.0, \\'uv\\': 5.0, \\'gust_mph\\': 12.5, \\'gust_kph\\': 20.2}}\"}]',\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'type': 'tool',\n", + " 'name': 'tavily_search_results_json',\n", + " 'id': 'af25e94a-c119-48c3-bbd3-096e42f472ac',\n", + " 'tool_call_id': 'toolu_01SBMoAGr4U9x3ibztm2UUom'},\n", + " {'content': 'Based on the weather API results, the current weather in Los Angeles is overcast with a temperature of around 62°F (17°C). There are light winds from the west-southwest around 8-13 mph. The humidity is 65% and visibility is good at 9 miles. Overall, mild spring weather conditions in LA.',\n", + " 'additional_kwargs': {},\n", + " 'response_metadata': {},\n", + " 'type': 'ai',\n", + " 'name': None,\n", + " 'id': 'run-b90f0037-e56a-4f3b-ad92-00d10d079a9e',\n", + " 'example': False,\n", + " 'tool_calls': [],\n", + " 'invalid_tool_calls': []}]}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_answer" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39cedbff-0a7f-4a3e-bfc1-595797358769", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/sdk/img/graph_diagram.png b/examples/sdk/img/graph_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2105cde69ceccea35dc433a48f5f535ac1663299 GIT binary patch literal 56102 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