docs: run migration script against how-to docs (#21927)

Upgrade imports in how-to docs
This commit is contained in:
Eugene Yurtsev 2024-05-20 13:32:59 -04:00 committed by GitHub
parent d85e46321a
commit b2f58d37db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
32 changed files with 54 additions and 68 deletions

View File

@ -132,7 +132,7 @@
} }
], ],
"source": [ "source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n", "from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n", "\n",
"html_string = \"\"\"\n", "html_string = \"\"\"\n",
" <!DOCTYPE html>\n", " <!DOCTYPE html>\n",

View File

@ -93,8 +93,8 @@
"import asyncio\n", "import asyncio\n",
"from typing import Any, Dict, List\n", "from typing import Any, Dict, List\n",
"\n", "\n",
"from langchain.callbacks.base import AsyncCallbackHandler, BaseCallbackHandler\n",
"from langchain_anthropic import ChatAnthropic\n", "from langchain_anthropic import ChatAnthropic\n",
"from langchain_core.callbacks import AsyncCallbackHandler, BaseCallbackHandler\n",
"from langchain_core.messages import HumanMessage\n", "from langchain_core.messages import HumanMessage\n",
"from langchain_core.outputs import LLMResult\n", "from langchain_core.outputs import LLMResult\n",
"\n", "\n",

View File

@ -170,7 +170,7 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"# We can do the same thing with a SQLite cache\n", "# We can do the same thing with a SQLite cache\n",
"from langchain.cache import SQLiteCache\n", "from langchain_community.cache import SQLiteCache\n",
"\n", "\n",
"set_llm_cache(SQLiteCache(database_path=\".langchain.db\"))" "set_llm_cache(SQLiteCache(database_path=\".langchain.db\"))"
] ]

View File

@ -165,7 +165,7 @@
} }
], ],
"source": [ "source": [
"from langchain.memory import ChatMessageHistory\n", "from langchain_community.chat_message_histories import ChatMessageHistory\n",
"\n", "\n",
"demo_ephemeral_chat_history = ChatMessageHistory()\n", "demo_ephemeral_chat_history = ChatMessageHistory()\n",
"\n", "\n",

View File

@ -336,7 +336,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.memory import ChatMessageHistory\n", "from langchain_community.chat_message_histories import ChatMessageHistory\n",
"from langchain_core.runnables.history import RunnableWithMessageHistory\n", "from langchain_core.runnables.history import RunnableWithMessageHistory\n",
"\n", "\n",
"demo_ephemeral_chat_history_for_chain = ChatMessageHistory()\n", "demo_ephemeral_chat_history_for_chain = ChatMessageHistory()\n",

View File

@ -89,7 +89,7 @@
} }
], ],
"source": [ "source": [
"from langchain.prompts import PromptTemplate\n", "from langchain_core.prompts import PromptTemplate\n",
"from langchain_core.runnables import ConfigurableField\n", "from langchain_core.runnables import ConfigurableField\n",
"from langchain_openai import ChatOpenAI\n", "from langchain_openai import ChatOpenAI\n",
"\n", "\n",
@ -312,8 +312,8 @@
} }
], ],
"source": [ "source": [
"from langchain.prompts import PromptTemplate\n",
"from langchain_anthropic import ChatAnthropic\n", "from langchain_anthropic import ChatAnthropic\n",
"from langchain_core.prompts import PromptTemplate\n",
"from langchain_core.runnables import ConfigurableField\n", "from langchain_core.runnables import ConfigurableField\n",
"from langchain_openai import ChatOpenAI\n", "from langchain_openai import ChatOpenAI\n",
"\n", "\n",

View File

@ -258,11 +258,11 @@
"source": [ "source": [
"from typing import Optional, Type\n", "from typing import Optional, Type\n",
"\n", "\n",
"from langchain.callbacks.manager import (\n", "from langchain.pydantic_v1 import BaseModel\n",
"from langchain_core.callbacks import (\n",
" AsyncCallbackManagerForToolRun,\n", " AsyncCallbackManagerForToolRun,\n",
" CallbackManagerForToolRun,\n", " CallbackManagerForToolRun,\n",
")\n", ")\n",
"from langchain.pydantic_v1 import BaseModel\n",
"from langchain_core.tools import BaseTool\n", "from langchain_core.tools import BaseTool\n",
"\n", "\n",
"\n", "\n",

View File

@ -463,7 +463,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.docstore.document import Document\n", "from langchain_core.documents import Document\n",
"\n", "\n",
"cur_idx = -1\n", "cur_idx = -1\n",
"semantic_snippets = []\n", "semantic_snippets = []\n",

View File

@ -17,8 +17,8 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import FewShotPromptTemplate, PromptTemplate\n", "from langchain_core.example_selectors import LengthBasedExampleSelector\n",
"from langchain.prompts.example_selector import LengthBasedExampleSelector\n", "from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate\n",
"\n", "\n",
"# Examples of a pretend task of creating antonyms.\n", "# Examples of a pretend task of creating antonyms.\n",
"examples = [\n", "examples = [\n",

View File

@ -17,12 +17,12 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import FewShotPromptTemplate, PromptTemplate\n", "from langchain_community.vectorstores import FAISS\n",
"from langchain.prompts.example_selector import (\n", "from langchain_core.example_selectors import (\n",
" MaxMarginalRelevanceExampleSelector,\n", " MaxMarginalRelevanceExampleSelector,\n",
" SemanticSimilarityExampleSelector,\n", " SemanticSimilarityExampleSelector,\n",
")\n", ")\n",
"from langchain_community.vectorstores import FAISS\n", "from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"\n", "\n",
"example_prompt = PromptTemplate(\n", "example_prompt = PromptTemplate(\n",

View File

@ -19,8 +19,8 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import FewShotPromptTemplate, PromptTemplate\n", "from langchain_community.example_selectors import NGramOverlapExampleSelector\n",
"from langchain.prompts.example_selector.ngram_overlap import NGramOverlapExampleSelector\n", "from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate\n",
"\n", "\n",
"example_prompt = PromptTemplate(\n", "example_prompt = PromptTemplate(\n",
" input_variables=[\"input\", \"output\"],\n", " input_variables=[\"input\", \"output\"],\n",

View File

@ -17,9 +17,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import FewShotPromptTemplate, PromptTemplate\n",
"from langchain.prompts.example_selector import SemanticSimilarityExampleSelector\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_core.example_selectors import SemanticSimilarityExampleSelector\n",
"from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"\n", "\n",
"example_prompt = PromptTemplate(\n", "example_prompt = PromptTemplate(\n",

View File

@ -69,7 +69,7 @@
"source": [ "source": [
"from typing import List, Optional\n", "from typing import List, Optional\n",
"\n", "\n",
"from langchain.output_parsers import PydanticOutputParser\n", "from langchain_core.output_parsers import PydanticOutputParser\n",
"from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_core.prompts import ChatPromptTemplate\n",
"from langchain_core.pydantic_v1 import BaseModel, Field, validator\n", "from langchain_core.pydantic_v1 import BaseModel, Field, validator\n",
"\n", "\n",

View File

@ -53,7 +53,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain_community.chat_models import ChatAnthropic\n", "from langchain_anthropic import ChatAnthropic\n",
"from langchain_openai import ChatOpenAI" "from langchain_openai import ChatOpenAI"
] ]
}, },

View File

@ -45,7 +45,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts.prompt import PromptTemplate\n", "from langchain_core.prompts import PromptTemplate\n",
"\n", "\n",
"example_prompt = PromptTemplate.from_template(\"Question: {question}\\n{answer}\")" "example_prompt = PromptTemplate.from_template(\"Question: {question}\\n{answer}\")"
] ]
@ -222,7 +222,7 @@
} }
], ],
"source": [ "source": [
"from langchain.prompts.few_shot import FewShotPromptTemplate\n", "from langchain_core.prompts import FewShotPromptTemplate\n",
"\n", "\n",
"prompt = FewShotPromptTemplate(\n", "prompt = FewShotPromptTemplate(\n",
" examples=examples,\n", " examples=examples,\n",
@ -282,8 +282,8 @@
} }
], ],
"source": [ "source": [
"from langchain.prompts.example_selector import SemanticSimilarityExampleSelector\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_core.example_selectors import SemanticSimilarityExampleSelector\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"\n", "\n",
"example_selector = SemanticSimilarityExampleSelector.from_examples(\n", "example_selector = SemanticSimilarityExampleSelector.from_examples(\n",

View File

@ -88,10 +88,7 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import (\n", "from langchain_core.prompts import ChatPromptTemplate, FewShotChatMessagePromptTemplate\n",
" ChatPromptTemplate,\n",
" FewShotChatMessagePromptTemplate,\n",
")\n",
"\n", "\n",
"examples = [\n", "examples = [\n",
" {\"input\": \"2+2\", \"output\": \"4\"},\n", " {\"input\": \"2+2\", \"output\": \"4\"},\n",
@ -218,8 +215,8 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import SemanticSimilarityExampleSelector\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_core.example_selectors import SemanticSimilarityExampleSelector\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"\n", "\n",
"examples = [\n", "examples = [\n",
@ -305,10 +302,7 @@
} }
], ],
"source": [ "source": [
"from langchain.prompts import (\n", "from langchain_core.prompts import ChatPromptTemplate, FewShotChatMessagePromptTemplate\n",
" ChatPromptTemplate,\n",
" FewShotChatMessagePromptTemplate,\n",
")\n",
"\n", "\n",
"# Define the few-shot prompt.\n", "# Define the few-shot prompt.\n",
"few_shot_prompt = FewShotChatMessagePromptTemplate(\n", "few_shot_prompt = FewShotChatMessagePromptTemplate(\n",

View File

@ -177,14 +177,13 @@
"source": [ "source": [
"from typing import Optional, Type\n", "from typing import Optional, Type\n",
"\n", "\n",
"from langchain.callbacks.manager import (\n", "# Import things that are needed generically\n",
"from langchain.pydantic_v1 import BaseModel, Field\n",
"from langchain_core.callbacks import (\n",
" AsyncCallbackManagerForToolRun,\n", " AsyncCallbackManagerForToolRun,\n",
" CallbackManagerForToolRun,\n", " CallbackManagerForToolRun,\n",
")\n", ")\n",
"\n", "from langchain_core.tools import BaseTool\n",
"# Import things that are needed generically\n",
"from langchain.pydantic_v1 import BaseModel, Field\n",
"from langchain.tools import BaseTool\n",
"\n", "\n",
"description_query = \"\"\"\n", "description_query = \"\"\"\n",
"MATCH (m:Movie|Person)\n", "MATCH (m:Movie|Person)\n",
@ -227,14 +226,13 @@
"source": [ "source": [
"from typing import Optional, Type\n", "from typing import Optional, Type\n",
"\n", "\n",
"from langchain.callbacks.manager import (\n", "# Import things that are needed generically\n",
"from langchain.pydantic_v1 import BaseModel, Field\n",
"from langchain_core.callbacks import (\n",
" AsyncCallbackManagerForToolRun,\n", " AsyncCallbackManagerForToolRun,\n",
" CallbackManagerForToolRun,\n", " CallbackManagerForToolRun,\n",
")\n", ")\n",
"\n", "from langchain_core.tools import BaseTool\n",
"# Import things that are needed generically\n",
"from langchain.pydantic_v1 import BaseModel, Field\n",
"from langchain.tools import BaseTool\n",
"\n", "\n",
"\n", "\n",
"class InformationInput(BaseModel):\n", "class InformationInput(BaseModel):\n",
@ -287,8 +285,8 @@
"from langchain.agents import AgentExecutor\n", "from langchain.agents import AgentExecutor\n",
"from langchain.agents.format_scratchpad import format_to_openai_function_messages\n", "from langchain.agents.format_scratchpad import format_to_openai_function_messages\n",
"from langchain.agents.output_parsers import OpenAIFunctionsAgentOutputParser\n", "from langchain.agents.output_parsers import OpenAIFunctionsAgentOutputParser\n",
"from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
"from langchain_core.messages import AIMessage, HumanMessage\n", "from langchain_core.messages import AIMessage, HumanMessage\n",
"from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
"from langchain_core.utils.function_calling import convert_to_openai_function\n", "from langchain_core.utils.function_calling import convert_to_openai_function\n",
"from langchain_openai import ChatOpenAI\n", "from langchain_openai import ChatOpenAI\n",
"\n", "\n",

View File

@ -786,7 +786,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain_community.document_loaders.base import BaseLoader\n", "from langchain_core.document_loaders import BaseLoader\n",
"\n", "\n",
"\n", "\n",
"class MyCustomLoader(BaseLoader):\n", "class MyCustomLoader(BaseLoader):\n",

View File

@ -39,9 +39,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.prompts import ChatPromptTemplate\n",
"from langchain_community.vectorstores import FAISS\n", "from langchain_community.vectorstores import FAISS\n",
"from langchain_core.output_parsers import StrOutputParser\n", "from langchain_core.output_parsers import StrOutputParser\n",
"from langchain_core.prompts import ChatPromptTemplate\n",
"from langchain_core.runnables import RunnablePassthrough\n", "from langchain_core.runnables import RunnablePassthrough\n",
"from langchain_openai import ChatOpenAI, OpenAIEmbeddings\n", "from langchain_openai import ChatOpenAI, OpenAIEmbeddings\n",
"\n", "\n",

View File

@ -119,7 +119,7 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"# We can do the same thing with a SQLite cache\n", "# We can do the same thing with a SQLite cache\n",
"from langchain.cache import SQLiteCache\n", "from langchain_community.cache import SQLiteCache\n",
"\n", "\n",
"set_llm_cache(SQLiteCache(database_path=\".langchain.db\"))" "set_llm_cache(SQLiteCache(database_path=\".langchain.db\"))"
] ]

View File

@ -134,8 +134,7 @@
} }
], ],
"source": [ "source": [
"from langchain.callbacks.manager import CallbackManager\n", "from langchain_core.callbacks import CallbackManager, StreamingStdOutCallbackHandler\n",
"from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n",
"\n", "\n",
"llm = Ollama(\n", "llm = Ollama(\n",
" model=\"llama2\", callback_manager=CallbackManager([StreamingStdOutCallbackHandler()])\n", " model=\"llama2\", callback_manager=CallbackManager([StreamingStdOutCallbackHandler()])\n",
@ -288,9 +287,8 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.callbacks.manager import CallbackManager\n",
"from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n",
"from langchain_community.llms import LlamaCpp\n", "from langchain_community.llms import LlamaCpp\n",
"from langchain_core.callbacks import CallbackManager, StreamingStdOutCallbackHandler\n",
"\n", "\n",
"llm = LlamaCpp(\n", "llm = LlamaCpp(\n",
" model_path=\"/Users/rlm/Desktop/Code/llama.cpp/models/openorca-platypus2-13b.gguf.q4_0.bin\",\n", " model_path=\"/Users/rlm/Desktop/Code/llama.cpp/models/openorca-platypus2-13b.gguf.q4_0.bin\",\n",

View File

@ -52,11 +52,11 @@
], ],
"source": [ "source": [
"from langchain.chains import LLMChain, StuffDocumentsChain\n", "from langchain.chains import LLMChain, StuffDocumentsChain\n",
"from langchain.prompts import PromptTemplate\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_community.document_transformers import (\n", "from langchain_community.document_transformers import (\n",
" LongContextReorder,\n", " LongContextReorder,\n",
")\n", ")\n",
"from langchain_core.prompts import PromptTemplate\n",
"from langchain_huggingface import HuggingFaceEmbeddings\n", "from langchain_huggingface import HuggingFaceEmbeddings\n",
"from langchain_openai import OpenAI\n", "from langchain_openai import OpenAI\n",
"\n", "\n",

View File

@ -344,7 +344,7 @@
], ],
"source": [ "source": [
"from langchain.agents import AgentExecutor, create_tool_calling_agent\n", "from langchain.agents import AgentExecutor, create_tool_calling_agent\n",
"from langchain.memory import ChatMessageHistory\n", "from langchain_community.chat_message_histories import ChatMessageHistory\n",
"from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_core.prompts import ChatPromptTemplate\n",
"from langchain_core.runnables.history import RunnableWithMessageHistory\n", "from langchain_core.runnables.history import RunnableWithMessageHistory\n",
"from langchain_core.tools import tool\n", "from langchain_core.tools import tool\n",

View File

@ -423,7 +423,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.output_parsers.openai_functions import JsonKeyOutputFunctionsParser\n", "from langchain_core.output_parsers.openai_functions import JsonKeyOutputFunctionsParser\n",
"\n", "\n",
"chain = (\n", "chain = (\n",
" {\"doc\": lambda x: x.page_content}\n", " {\"doc\": lambda x: x.page_content}\n",

View File

@ -23,7 +23,7 @@
"source": [ "source": [
"from typing import List\n", "from typing import List\n",
"\n", "\n",
"from langchain.output_parsers import PydanticOutputParser\n", "from langchain_core.output_parsers import PydanticOutputParser\n",
"from langchain_core.pydantic_v1 import BaseModel, Field\n", "from langchain_core.pydantic_v1 import BaseModel, Field\n",
"from langchain_openai import ChatOpenAI" "from langchain_openai import ChatOpenAI"
] ]

View File

@ -17,13 +17,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.output_parsers import (\n", "from langchain.output_parsers import OutputFixingParser\n",
" OutputFixingParser,\n", "from langchain_core.output_parsers import PydanticOutputParser\n",
" PydanticOutputParser,\n", "from langchain_core.prompts import PromptTemplate\n",
")\n",
"from langchain.prompts import (\n",
" PromptTemplate,\n",
")\n",
"from langchain_core.pydantic_v1 import BaseModel, Field\n", "from langchain_core.pydantic_v1 import BaseModel, Field\n",
"from langchain_openai import ChatOpenAI, OpenAI" "from langchain_openai import ChatOpenAI, OpenAI"
] ]

View File

@ -83,9 +83,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n", "\n",
"texts = [\"Harrison worked at Kensho\", \"Ankush worked at Facebook\"]\n", "texts = [\"Harrison worked at Kensho\", \"Ankush worked at Facebook\"]\n",
"embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n", "embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n",

View File

@ -83,9 +83,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n", "\n",
"texts = [\"Harrison worked at Kensho\"]\n", "texts = [\"Harrison worked at Kensho\"]\n",
"embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n", "embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n",

View File

@ -85,9 +85,9 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_chroma import Chroma\n", "from langchain_chroma import Chroma\n",
"from langchain_openai import OpenAIEmbeddings\n", "from langchain_openai import OpenAIEmbeddings\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n", "\n",
"texts = [\"Harrison worked at Kensho\"]\n", "texts = [\"Harrison worked at Kensho\"]\n",
"embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n", "embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n",

View File

@ -335,7 +335,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain.utils.math import cosine_similarity\n", "from langchain_community.utils.math import cosine_similarity\n",
"from langchain_core.output_parsers import StrOutputParser\n", "from langchain_core.output_parsers import StrOutputParser\n",
"from langchain_core.prompts import PromptTemplate\n", "from langchain_core.prompts import PromptTemplate\n",
"from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n",

View File

@ -428,7 +428,7 @@
} }
], ],
"source": [ "source": [
"from langchain.output_parsers.openai_tools import JsonOutputKeyToolsParser\n", "from langchain_core.output_parsers.openai_tools import JsonOutputKeyToolsParser\n",
"\n", "\n",
"parser = JsonOutputKeyToolsParser(key_name=tool.name, first_tool_only=True)\n", "parser = JsonOutputKeyToolsParser(key_name=tool.name, first_tool_only=True)\n",
"(llm_with_tools | parser).invoke(\n", "(llm_with_tools | parser).invoke(\n",

View File

@ -205,7 +205,7 @@
"source": [ "source": [
"import datetime\n", "import datetime\n",
"\n", "\n",
"from langchain.utils import mock_now" "from langchain_core.utils import mock_now"
] ]
}, },
{ {