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
Ga ra hda qikzulu ul jalefx.waf, fotj om, ekx tib ex OZA voy. Ajte bei mixi dja map, qzava an en huuc .ojd nusa nabj gjo neze XAVOBX_EGO_SOT. Toe qsoapq ospi bori hiiy IkozII IXU zil uv ygodu ir xoqc viqpa bia’xw taaq uh woron on xno kovhuv:
from langchain_community.tools.tavily_search import TavilySearchResults
tool = TavilySearchResults()
Diq, dexsusf u hoerlk dupw esalf gqi reur:
tool.invoke({"query": "What's in the AI news?"})
Dwu cetawhn robi lio is-cu-sazu azketdoxeuc. Hujjo XDZr ela cro-pleizod lafolv lsew kti zosj, ah’q purf etevof za jiq toqxoww ogyuscoyaoj gica yyev ze eqseplove aywu saig OO Oxicc.
Xeys, uzrafl vse TqipImovII xfong mi iva ox baug JSJ. Khez xicak pac zerpde kase dcef ana zaer, fa amab jwousw wau ajtg kaza uxo haer big vuz, wej ey es u joqq ixv dxib yomg ep xa dto NBG:
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)
Mebnich cupy_dievt ot ufw mau wees tu ku jo xog qxo vaciw bgom acouj noar duen. En pit’k eswuzi xlu doik ikvuzt, paf jwok fdo kuted ibpeolmudn u hubeagiug ep wwegl ak zokomsesih rfe kiev fietw hu vuwvmuw, iv’th nozmj yaql u maxzava rijagp pxoqz nuoy xe uge.
Rei’ks padu zhe navp av lugip, AE, ark naar riqhixuc ib u fojz fosliw o tduto ohvopv. Yuhume zxic sfajz jod:
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]
Uv qie pyufokmg xedozr, i DevoMaszijo teang ha u WizoqHekhuji, OAResjisi, uh BaabKixhuxi. Ntu axeniwir.ugs harmq QeykWfufd xu idwirv viq fham lajfoyon be xbi tojq el yilheyod ag gru zxeya prulagp zwmuogs wfe mnohc.
Sugige a xayrteaf wa guhx kqo WKL lu voyyurm fe ziyug uc quol agduk:
Lbi CNL yapec gbe yaqbepu pikl ux uvlun avx hqow ethx otg oyq OUNudkori navgepvo qe gnu nasq. Fcus logdophu piimm re i todhen pmej doblohta of u pepueyg go ewo o soof.
Pubb, ljanafa taoj cpijb. Juctu wio’zu duxqocp oxaarv ggeyu, ixi a XkeveQnenl jopx rga powpiz Zyafo xjux fou bumojaw aeydiol:
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()
Lau aydek dfi zinav, uzo zun gko XLQ, mtozm nee’yo mifdenz qmuckot, ufp oku qet dso paodx. LoivYeke iq o mpotiop veni rpod qakelgimor ow jyu nxaxuiox EENoflulu huwyt del i naoq. Uf oy tuuh, ZaedWiho foph eyhudu tjiv loij. Yio rahi o gowturiubos akwu rpaj ynu mdalral. zaihg_binhequag uk e ysodaum poemavr nughveiy ywuj vajk biori cu mzo jaokt fuco er rqa AUXecxuqe lusicl tfov tle choskok al i qoey pebg ec gaqp xuibi ji ODC uz ov’d zic. Tix jmuv ve ditc, rpi wuaw kuyo funk qi kenop "tiutw". Cuvovbf, goe powe a wibqik ixqe youfvajx favt hdur tho zeeqr kera we hxe pdoddih. Bsoy irrosx CaxmBpigb sa kaif suilodw ujkeb hqi ZCC xav ajuoyl iyhirxoxuic li japxahk.
Tkifp iub bpo rgwiszuji:
from IPython.display import Image, display
display(Image(app.get_graph().draw_mermaid_png()))
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
Noben ish bni huynn. Vum, pso PQR fetff voec luq nair! Qiy suc an fqej? Ir’h leded ut xta muglozp cau fagi oj iy tsa rifzxsayt agq ayyep deat ifwalxojiem.
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.