Toolkit,工具包。在 LangChain 应用里,工具包指的就是一组解决特定问题的工具。先试一下 JsonToolkit 这个工具包,在这个 Node.js 程序文件的顶部,导入一个 JsonToolkit,它来自 langchain/agents。
然后可以声明一个 toolkit,新建一个 JsonToolkit,下面在控制台上输出这个 toolkit 检查一下。在终端,运行一下应用。这里输出的就是 Json 工具包,这个工具包的 tools 里有两样工具,一个是这个 json_list_keys,通过工具的描述可以大概判断出这个工具的作用,就是列出对象里的指定路径下的所有的 key ,也就是属性的名字。工具包里还有一个工具是 json_get_value,它可以返回对象里的指定路径下的值。
先准备一个 json 文件,你可以在这个地址找到一个 json 文件,这是我们宁皓网的一个课程项目里包含的文件,复制一下文件里的内容。在我们的 LangChain 项目的 files 目录的下面,新建一个文件,名字是 package.json,然后把复制的内容粘贴到这里。这个文件里有一个 dependencies,它里面的值就是项目依赖的一些软件包的名字还有版本号。
回到 index.mjs,在文件顶部导入几样东西,先导入一个 fs ,来自 fs,再导入一个 JsonSpec,它来自 langchain/tools。
然后声明一个 jsonFileContent,它的值可以用一下 fs.readFileSync,要读取的文件的路径是当前目录下面的 files 里的 package.json。然后声明一个 jsonSpec,新建一个 JsonSpec,给它的值可以用一下 JSON.parse 处理一下这个 jsonFileContent。
在创建这个 jsonToolkit 的时候,给它提供一个 jsonSpec。
然后声明一个 result,等于 await,用一下 toolkit.tools 里的第一个项目,它应该就是 json_list_keys 这个工具,用一下工具上面的 call 这个方法,提供一个路径,比如 /dependencies。 下面可以在控制台上输出这个 result。 在终端运行一下应用,这里输出的东西就是 package.json 这个文件里的 dependencies 里面的包含的所有项目的名字。比如 bcryptjs,cors,还有 express 这些东西。
回到项目,再试一下 JSON 工具包里的第二个项目,它应该是 json_get_value 这个工具,路径可以改成 /dependencies/express。在终端,运行一下应用,这里输出的就是 dependencies 里的 express 这个项目的值。