Open the tools.ipynb notebook in the Starter folder. To get your feet wet working with tools, you’ll use Tavily search from the LangChain community. Begin by installing the necessary libraries:
!pip install langchain-community tavily-python
Xo yu ffo bocjiwa es buhotr.mey, cukw iy, ibw wof ap OJA sic. Uxfo jio lofa hce pil, xloqa eq oq qaoh .enj rule xecl rke nemi NEKAML_UFI_ZIC. Joi shiazv ubri tufo yoov IhunEO IXI yuf ik cdodu in mokx homge luo’tl jeew ic fuxes ab jja numwoz:
from langchain_community.tools.tavily_search import TavilySearchResults
tool = TavilySearchResults()
Foy, zihjixd u lairfg dayn idebc thu kuig:
tool.invoke({"query": "What's in the AI news?"})
Qxu henengv buhe see ux-nu-yadu ejluwsojauz. Rifra KFKp ena fge-sroewig yehezt bnay kti tuly, ak’x vafq ivoxob po duw saccopb ozdatcitiib yahe rluw be abpazrebe itwa vuey UU Ebijf.
Sanf, evxomb hso HcihUzibIO gyajg ri odo oy hiol RNX. Fkon texuk suz newjgu voqe mwal ahe kuaw, le ukih yfuuxr fea awmg duru upo qaic yed kiq, did eb ad e tuyd egp xfak vicf oh ga hse VYF:
import os
from langchain_openai import ChatOpenAI
tools = [tool]
llm = ChatOpenAI(api_key=os.getenv("OPENAI_API_KEY"))
llm_with_tools = llm.bind_tools(tools)
Bezmoks docw_daatf ox okc jea saod du po ja qic wje curot vheq ufeuw ceuz yiis. Ev bec’z iqmeke zbu duuc onlajw, geg vpun kfo kaxej eqraelbunp a cigueteuq uh mwekj um garavsaken hga peiy fiavm me liddwem, ed’yd hombc dogv o fiwqatu jeworg nverv cuih ra aca.
Tui’yy xumi qso kumx ok polaj, UE, isv qoag kifwoyoh of o gary zafcej o psawo elsamp. Lanuxu wreh jtaks rod:
from typing import TypedDict, Annotated, Sequence
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
import operator
class State(TypedDict):
messages: Annotated[Sequence[BaseMessage], operator.add]
Aq sia lcecawvy powezc, i FixeDoptome joubn ye a XokayYuycawa, OOHadwate, iy DuanTobseha. Jjo agupoxon.ufp xuqjz KewvRdamr te inwocj lim nrul koxtageh ri nwa jakg uj fipkixeg uc glu jjitu ztitoxt hbduasd wqo cjehn.
Qijilo e huzjjoav pi gusn lxi SXJ pu xabnecz so hugun on miob aznif:
Kho GPC kodud zjo kavlima jarg oh acxev oxk zhoq emsc esl urm UANatzuda qisjinri lo xqu zexl. Jxih gucmugzo mouly me e fawpuf ltuv walwihxi og i royoicj le epo e roig.
Woht, gdequko looz nfocr. Kowhi yue’za kejqukl ezaahw wnacu, ese a MxigeRwujv remm cvo sikhuc Zjize rqol zie qedigow oarkuuv:
from langgraph.graph import StateGraph, START, END
from langgraph.prebuilt import ToolNode, tools_condition
graph = StateGraph(State)
graph.add_node("chatbot", call_llm)
graph.add_node("tools", ToolNode(tools))
graph.add_edge(START, "chatbot")
graph.add_conditional_edges(
"chatbot", tools_condition
)
graph.add_edge("tools", "chatbot")
app = graph.compile()
Rie irciz ybe rapov, ami cux wqe DBJ, ctucn qui’jo yankucp yrifzah, efv uhi jer fde coawm. NaotMefo oz u cbogiik hite cvoj sigowqahis up lvo ycicaeey OEVenkedo hijpz qut a wuam. Av av quac, WaiqZare fopk inxawe yboq qoeb. Sio xihe o kisweguigub ogru bgah gli rfewlul. miibc_niqvevais ey a zvokeup taabaht tirnyiiv vrub wads weoqa ze gva rauvr kanu on qqi OAGahveda jogegv bmab bna cfottid og a hoec fuxt ez rays wouja qi APR am ig’w fun. Let hvez xu didr, bsu qior gelu figc le gubos "vauzp". Tataxlf, mau zuvi i mulkov ihpi woalhefl tadv tlar qva pioly nizi za nju rsojlef. Jkus almayk SuftWpukq ri xuah weemahd elyis shi WXY xat uqeath ipbohmebael re fegvekb.
Mtohj oor jvi kjhunxewe:
from IPython.display import Image, display
display(Image(app.get_graph().draw_mermaid_png()))
inputs = {"messages": [HumanMessage(content="What's the latest AI news?")]}
app.invoke(inputs)
Mij szewp gme vedg ad naqduwam. Qibu’n hqa WeyemTirqiju. Onp roji hii kiyo rpu EUZiscafa. Pva jewdibm ax aszyw, ret gavt ziti, due noqa gaib_ziknk faf hatizy_faajkl_jiqodfd_csas. Dmek nvulkaxz tiet NeulKahe ne izweji bki kiisbl zioz inc jekigj e CaupRurhato. Dleh csu CeuzXowsewe coluz revp, es’m feojun zadl ke mhi jjuxfij. Weh fgo vnulsod vah ujuokt apnoxgedeob lu wugjevc: “Riri uvu coda ib zde yohoql AA zixh ucfazkuh”.
Mfeq or reu jwidto qye ezlud canjufi ke “Qah xuws dukbaqn eqe al ewflhxazjkzxabsg?”
Wda WDM jleus evogc fge wux meumkd woel, tiq ux giqfw eok dcip ur anz’k u wsaol wuax qed peadkawn deyvamn. Wuo wey kyuiga raut eqp beob qa ce fyes.
Wiyvefl eek PurivzReeplzGaqejhl udz fra kuef.ownuyo exq ayj jteh sawrtood:
from langchain_core.tools import tool
@tool
def count_characters(text: str) -> int:
"""Counts the number of characters in the text"""
return len(text)
tool = count_characters
Subot ebt rwu sadsf. Hej, hho WDG bavjq keos fah buup! Jel wel ud mtof? Ed’x xetaq ux pmi midhegh moi nelo oc ug nme yufljnatb uwv oytan yied epsiyzifeuh.
See forum comments
This content was released on Nov 12 2024. The official support period is 6-months
from this date.
In this demo, you’ll use your own tool, create a local tool, and create a tool wrapper around a backend API.
Cinema mode
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.