Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/langchain-retrieval-agent.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"\n",
" import requests\n",
" from IPython.display import Image, display\n",
" from langchain.chat_models import init_chat_model\n",
" from langchain_community.chat_models import init_chat_model\n",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong init_chat_model import path

High Severity

init_chat_model is imported from langchain_community.chat_models, but that helper lives on langchain.chat_models and was never moved to community. These docs notebooks install langchain[openai]==1.2.7 without langchain-community, so the import cell raises ImportError immediately.

Additional Locations (1)
Fix in Cursor Fix in Web

Triggered by project rule: Bugbot Configuration

Reviewed by Cursor Bugbot for commit 9031da8. Configure here.

" from langchain_core.messages import HumanMessage\n",
" from langchain_core.tools import tool\n",
" from langgraph.graph import END, START, StateGraph\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/langchain-retrieval-augmentation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
" from getpass import getpass\n",
"\n",
" import requests\n",
" from langchain.chat_models import init_chat_model\n",
" from langchain_community.chat_models import init_chat_model\n",
" from langchain_core.documents import Document\n",
" from langchain_openai import OpenAIEmbeddings\n",
" from langchain_pinecone import PineconeVectorStore\n",
Expand Down
4 changes: 2 additions & 2 deletions learn/generation/better-rag/02a-alt-chunking-methods.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"import tiktoken\n",
"\n",
"tokenizer = tiktoken.get_encoding(\"p50k_base\")\n",
Expand Down Expand Up @@ -337,7 +337,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.text_splitter import MarkdownHeaderTextSplitter"
"from langchain_text_splitters import MarkdownHeaderTextSplitter"
]
},
{
Expand Down
6 changes: 3 additions & 3 deletions learn/generation/better-rag/xx-serverless-rag.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
"from langchain_openai import OpenAIEmbeddings\n",
"\n",
"# get openai api key from platform.openai.com\n",
"OPENAI_API_KEY = os.getenv('OPENAI_API_KEY') or 'OPENAI_API_KEY'\n",
Expand All @@ -545,7 +545,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.vectorstores import Pinecone\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"text_field = \"text\"\n",
"\n",
Expand Down Expand Up @@ -611,7 +611,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"from langchain.chains import RetrievalQA\n",
"\n",
"# chatbot language model\n",
Expand Down
6 changes: 3 additions & 3 deletions learn/generation/chatbots/chatbot.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
"from langchain_openai import OpenAIEmbeddings\n",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Imports diverge from pinned dependencies

High Severity

Imports were rewritten to langchain_community, langchain_openai, langchain_text_splitters, and langchain_core while install cells still pin langchain 0.0.x or 0.1.x and do not install the new packages. Those modules are not available under the existing pins, so the notebooks fail at import time.

Additional Locations (2)
Fix in Cursor Fix in Web

Triggered by project rule: Bugbot Configuration

Reviewed by Cursor Bugbot for commit 9031da8. Configure here.

"\n",
"# get openai api key from platform.openai.com\n",
"OPENAI_API_KEY = os.getenv('OPENAI_API_KEY') or 'OPENAI_API_KEY'\n",
Expand All @@ -535,7 +535,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.vectorstores import Pinecone\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"text_field = \"text\"\n",
"\n",
Expand Down Expand Up @@ -601,7 +601,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"from langchain.chains import RetrievalQA\n",
"\n",
"# chatbot language model\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,8 +344,8 @@
},
"outputs": [],
"source": [
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
"from langchain.vectorstores import Pinecone\n",
"from langchain_openai import OpenAIEmbeddings\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)\n",
"\n",
Expand Down Expand Up @@ -374,7 +374,7 @@
},
"outputs": [],
"source": [
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"\n",
"llm=ChatOpenAI(\n",
" openai_api_key=OPENAI_API_KEY,\n",
Expand Down
6 changes: 3 additions & 3 deletions learn/generation/langchain/00-azure-openai-retrieval.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@
},
"outputs": [],
"source": [
"from langchain.chat_models import AzureChatOpenAI\n",
"from langchain_openai import AzureChatOpenAI\n",
"\n",
"llm = AzureChatOpenAI(\n",
" deployment_name=\"gpt4\",\n",
Expand All @@ -674,7 +674,7 @@
},
"outputs": [],
"source": [
"from langchain.embeddings import OpenAIEmbeddings\n",
"from langchain_openai import OpenAIEmbeddings\n",
"\n",
"embed = OpenAIEmbeddings(\n",
" deployment='embedding',\n",
Expand Down Expand Up @@ -710,7 +710,7 @@
},
"outputs": [],
"source": [
"from langchain.vectorstores import Pinecone\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"text_field = \"text\"\n",
"\n",
Expand Down
4 changes: 2 additions & 2 deletions learn/generation/langchain/00b-azure-openai-simple.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
},
"outputs": [],
"source": [
"from langchain.chat_models import AzureChatOpenAI\n",
"from langchain_openai import AzureChatOpenAI\n",
"\n",
"llm = AzureChatOpenAI(\n",
" deployment_name=\"gpt4\",\n",
Expand All @@ -124,7 +124,7 @@
{
"cell_type": "code",
"source": [
"from langchain.schema import (\n",
"from langchain_core.messages import (\n",
" SystemMessage,\n",
" HumanMessage,\n",
" AIMessage\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@
" HumanMessagePromptTemplate,\n",
" MessagesPlaceholder\n",
")\n",
"from langchain.schema.output_parser import StrOutputParser\n",
"from langchain_core.output_parsers import StrOutputParser\n",
"\n",
"# Define the prompt template\n",
"system_prompt = \"\"\"The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.\"\"\"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
" HumanMessagePromptTemplate,\n",
" MessagesPlaceholder\n",
")\n",
"from langchain.schema.output_parser import StrOutputParser\n",
"from langchain_core.output_parsers import StrOutputParser\n",
"\n",
"# Define the prompt template\n",
"system_prompt = \"\"\"The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.\"\"\"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@
},
"outputs": [],
"source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n",
"text_splitter = RecursiveCharacterTextSplitter(\n",
" chunk_size=300,\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@
},
"outputs": [],
"source": [
"from langchain.utilities import SQLDatabase\n",
"from langchain_community.utilities import SQLDatabase\n",
"from langchain_experimental.sql import SQLDatabaseChain\n",
"\n",
"db = SQLDatabase(engine)\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@
"source": [
"import os\n",
"from getpass import getpass\n",
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
"from langchain_openai import OpenAIEmbeddings\n",
"\n",
"# get API key from top-right dropdown on OpenAI website\n",
"OPENAI_API_KEY = os.getenv(\"OPENAI_API_KEY\") or getpass(\"Enter your OpenAI API key: \")\n",
Expand Down Expand Up @@ -773,7 +773,7 @@
}
],
"source": [
"from langchain.vectorstores import Pinecone\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"text_field = \"text\" # the metadata field that contains our text\n",
"\n",
Expand Down Expand Up @@ -864,7 +864,7 @@
},
"outputs": [],
"source": [
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"from langchain.chains.conversation.memory import ConversationBufferWindowMemory\n",
"from langchain.chains import RetrievalQA\n",
"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"outputs": [],
"source": [
"import os\n",
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n",
"\n",
"os.environ[\"OPENAI_API_KEY\"] = os.getenv(\"OPENAI_API_KEY\") or \"YOUR_API_KEY\"\n",
Expand Down Expand Up @@ -95,7 +95,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.schema import HumanMessage\n",
"from langchain_core.messages import HumanMessage\n",
"\n",
"# create messages to be passed to chat LLM\n",
"messages = [HumanMessage(content=\"tell me a long story\")]\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
from pydantic import BaseModel

from langchain.agents import AgentType, initialize_agent
from langchain.chat_models import ChatOpenAI
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferWindowMemory
from langchain.callbacks.streaming_aiter import AsyncIteratorCallbackHandler
from langchain.callbacks.streaming_stdout_final_only import FinalStreamingStdOutCallbackHandler
from langchain.schema import LLMResult
from langchain_core.outputs import LLMResult

app = FastAPI()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
},
"outputs": [],
"source": [
"from langchain.docstore.document import Document\n",
"from langchain_community.docstore.document import Document\n",
"\n",
"docs = []\n",
"\n",
Expand Down Expand Up @@ -141,7 +141,7 @@
"source": [
"import os\n",
"from getpass import getpass\n",
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
"from langchain_openai import OpenAIEmbeddings\n",
"\n",
"model_name = \"text-embedding-ada-002\"\n",
"\n",
Expand Down Expand Up @@ -380,7 +380,7 @@
}
],
"source": [
"from langchain.vectorstores import Pinecone\n",
"from langchain_community.vectorstores import Pinecone\n",
"\n",
"text_field = \"text\"\n",
"\n",
Expand All @@ -395,7 +395,7 @@
},
"outputs": [],
"source": [
"from langchain.chat_models import ChatOpenAI\n",
"from langchain_openai import ChatOpenAI\n",
"\n",
"llm = ChatOpenAI(temperature=0, openai_api_key=OPENAI_API_KEY)"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.chat_models import ChatAnthropic\n",
"from langchain_community.chat_models import ChatAnthropic\n",
"from langchain.prompts import ChatPromptTemplate\n",
"from langchain.schema.output_parser import StrOutputParser\n",
"from langchain_core.output_parsers import StrOutputParser\n",
"\n",
"ANTHROPIC_API_KEY = \"<<YOUR_ANTHROPIC_API_KEY>>\"\n",
"\n",
Expand Down Expand Up @@ -345,8 +345,8 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.embeddings import CohereEmbeddings\n",
"from langchain.vectorstores import DocArrayInMemorySearch\n",
"from langchain_community.embeddings import CohereEmbeddings\n",
"from langchain_community.vectorstores import DocArrayInMemorySearch\n",
"\n",
"COHERE_API_KEY = \"<<COHERE_API_KEY>>\"\n",
"if COHERE_API_KEY == \"<<COHERE_API_KEY>>\":\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.document_loaders import ReadTheDocsLoader\n",
"from langchain_community.document_loaders import ReadTheDocsLoader\n",
"\n",
"loader = ReadTheDocsLoader('rtdocs')\n",
"docs = loader.load()\n",
Expand Down Expand Up @@ -185,9 +185,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that for the tokenizer we defined the encoder as `\"cl100k_base\"`. This is a specific tiktoken encoder which is used by `gpt-3.5-turbo`, as well as `gpt-4`, and `text-embedding-ada-002` which are models supported by OpenAI at the time of this writing. Other encoders may be available, but are used with models that are now deprecated by OpenAI.\n",
"\n",
"You can find more details in the [Tiktoken `model.py` script](https://github.com/openai/tiktoken/blob/main/tiktoken/model.py), or using `tiktoken.encoding_for_model`:"
"Note that for the tokenizer we defined the encoder as `\"cl100k_base\"`. This is a specific tiktoken encoder which is used by `gpt-3.5-turbo`, as well as `gpt-4`, and `text-embedding-ada-002` which are models supported by OpenAI at the time of this writing. Other encoders may be available, but are used with models that are now deprecated by OpenAI.\n",
"\n",
"You can find more details in the [Tiktoken `model.py` script](https://github.com/openai/tiktoken/blob/main/tiktoken/model.py), or using `tiktoken.encoding_for_model`:"
]
},
{
Expand Down Expand Up @@ -306,7 +306,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
"\n",
"text_splitter = RecursiveCharacterTextSplitter(\n",
" chunk_size=400,\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ readme = "README.md"
package-mode = false

[tool.poetry.dependencies]
langchain-community = ">=0.0.20"
langchain-openai = ">=0.0.5"
langchain-text-splitters = ">=0.0.1"
python = ">=3.10,<3.13"
langchain = "0.2.12"
langchain = ">=0.1"
langchain-core = "0.2.43"
langgraph = "0.2.3"
langchain-ollama = "0.1.1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -927,7 +927,7 @@
"outputs": [],
"source": [
"from langchain import PromptTemplate, LLMChain\n",
"from langchain.llms import HuggingFacePipeline\n",
"from langchain_community.llms import HuggingFacePipeline\n",
"\n",
"# template for an instruction with no input\n",
"prompt = PromptTemplate(\n",
Expand Down Expand Up @@ -1115,7 +1115,7 @@
},
"outputs": [],
"source": [
"from langchain.schema import BaseOutputParser\n",
"from langchain_core.output_parsers import BaseOutputParser\n",
"\n",
"class OutputParser(BaseOutputParser):\n",
" def parse(self, text: str) -> str:\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@
"outputs": [],
"source": [
"from langchain import PromptTemplate, LLMChain\n",
"from langchain.llms import HuggingFacePipeline\n",
"from langchain_community.llms import HuggingFacePipeline\n",
"\n",
"# template for an instruction with no input\n",
"prompt = PromptTemplate(\n",
Expand Down
Loading