Skip to content

Commit 0fb2976

Browse files
committed
ML/LLM: Updates for compatibility with LangChain 0.2
- Imports: `langchain-cli migrate --include-ipynb .` - SQLDatabaseLoader superseded SQLAlchemyLoader
1 parent a4106bf commit 0fb2976

11 files changed

+42
-37
lines changed

topic/machine-learning/llm-langchain/conversational_memory.ipynb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"execution_count": 2,
5757
"outputs": [],
5858
"source": [
59-
"from langchain.memory.chat_message_histories import CrateDBChatMessageHistory\n",
59+
"from langchain_community.chat_message_histories import CrateDBChatMessageHistory\n",
6060
"\n",
6161
"# Connect to a self-managed CrateDB instance.\n",
6262
"CONNECTION_STRING = \"crate://crate@localhost/?schema=notebook\"\n",
@@ -153,11 +153,10 @@
153153
"from datetime import datetime\n",
154154
"from typing import Any\n",
155155
"\n",
156-
"from langchain.memory.chat_message_histories.sql import BaseMessageConverter\n",
157-
"from langchain.schema import AIMessage, BaseMessage, HumanMessage, SystemMessage\n",
158-
"\n",
159156
"import sqlalchemy as sa\n",
160157
"from sqlalchemy.orm import declarative_base\n",
158+
"from langchain_community.chat_message_histories.sql import BaseMessageConverter\n",
159+
"from langchain_core.messages import AIMessage, BaseMessage, HumanMessage, SystemMessage\n",
161160
"\n",
162161
"\n",
163162
"Base = declarative_base()\n",
@@ -284,7 +283,7 @@
284283
"import json\n",
285284
"import typing as t\n",
286285
"\n",
287-
"from langchain.memory.chat_message_histories.cratedb import CrateDBMessageConverter\n",
286+
"from langchain_community.chat_message_histories.cratedb import CrateDBMessageConverter\n",
288287
"from langchain.schema import _message_to_dict\n",
289288
"\n",
290289
"\n",

topic/machine-learning/llm-langchain/conversational_memory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import os
1717
from pprint import pprint
1818

19-
from langchain.memory.chat_message_histories import CrateDBChatMessageHistory
19+
from langchain_community.chat_message_histories import CrateDBChatMessageHistory
2020

2121

2222
CONNECTION_STRING = os.environ.get(

topic/machine-learning/llm-langchain/cratedb-vectorstore-rag-openai-sql.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@
7979
"import pandas as pd\n",
8080
"import sqlalchemy as sa\n",
8181
"\n",
82-
"from langchain.document_loaders import PyPDFLoader\n",
83-
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
84-
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
85-
"\n",
8682
"# TODO: Bring this into the `crate-python` driver.\n",
8783
"from cratedb_toolkit.sqlalchemy.patch import patch_inspector\n",
84+
"from langchain_community.document_loaders import PyPDFLoader\n",
85+
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
86+
"from langchain_openai import OpenAIEmbeddings\n",
87+
"\n",
8888
"patch_inspector()"
8989
]
9090
},

topic/machine-learning/llm-langchain/cratedb_rag_customer_support.ipynb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,8 @@
6161
},
6262
"outputs": [],
6363
"source": [
64-
"from langchain.document_loaders.csv_loader import CSVLoader\n",
65-
"from langchain.vectorstores import Chroma\n",
66-
"from langchain.chat_models import ChatOpenAI\n",
67-
"from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
6864
"from langchain.chains import RetrievalQA, ConversationalRetrievalChain\n",
69-
"from langchain.llms import OpenAI\n",
70-
"from langchain_openai import OpenAIEmbeddings\n",
65+
"from langchain_openai import ChatOpenAI, OpenAI, OpenAIEmbeddings\n",
7166
"import pandas as pd\n",
7267
"import sqlalchemy as sa\n",
7368
"from sqlalchemy import create_engine\n",
@@ -76,7 +71,10 @@
7671
"import openai\n",
7772
"import os\n",
7873
"import requests\n",
79-
"from pueblo.util.environ import getenvpass"
74+
"from pueblo.util.environ import getenvpass\n",
75+
"from langchain_community.document_loaders import CSVLoader\n",
76+
"from langchain_community.vectorstores import Chroma\n",
77+
"from langchain_text_splitters import RecursiveCharacterTextSplitter"
8078
]
8179
},
8280
{

topic/machine-learning/llm-langchain/cratedb_rag_customer_support_langchain.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@
105105
"import requests\n",
106106
"\n",
107107
"from pueblo.util.environ import getenvpass\n",
108-
"from langchain.document_loaders.csv_loader import CSVLoader\n",
109108
"from langchain_openai import OpenAIEmbeddings\n",
110-
"from langchain.vectorstores import CrateDBVectorSearch\n",
109+
"from langchain_community.document_loaders import CSVLoader\n",
110+
"from langchain_community.vectorstores import CrateDBVectorSearch\n",
111111
"\n",
112112
"warnings.filterwarnings('ignore')"
113113
]

topic/machine-learning/llm-langchain/cratedb_rag_customer_support_vertexai.ipynb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,6 @@
107107
"\n",
108108
"\n",
109109
"from pueblo.util.environ import getenvpass\n",
110-
"from langchain.embeddings import VertexAIEmbeddings\n",
111-
"from langchain.llms import VertexAI\n",
112110
"from google.cloud import aiplatform\n",
113111
"from vertexai.generative_models import (\n",
114112
" GenerationConfig,\n",
@@ -117,9 +115,10 @@
117115
" HarmBlockThreshold,\n",
118116
" HarmCategory,\n",
119117
")\n",
120-
"\n",
121-
"from langchain.document_loaders.csv_loader import CSVLoader\n",
122-
"from langchain.vectorstores import CrateDBVectorSearch\n",
118+
"from langchain_community.document_loaders import CSVLoader\n",
119+
"from langchain_community.embeddings import VertexAIEmbeddings\n",
120+
"from langchain_community.llms import VertexAI\n",
121+
"from langchain_community.vectorstores import CrateDBVectorSearch\n",
123122
"\n",
124123
"warnings.filterwarnings('ignore')"
125124
]

topic/machine-learning/llm-langchain/document_loader.ipynb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,16 @@
103103
},
104104
"outputs": [],
105105
"source": [
106-
"from langchain.document_loaders import CrateDBLoader\n",
106+
"import sqlalchemy as sa\n",
107+
"from langchain_community.document_loaders import CrateDBLoader\n",
108+
"from langchain_community.utilities.sql_database import SQLDatabase\n",
107109
"from pprint import pprint\n",
108110
"\n",
111+
"db = SQLDatabase(engine=sa.create_engine(CONNECTION_STRING))\n",
112+
"\n",
109113
"loader = CrateDBLoader(\n",
110114
" 'SELECT * FROM mlb_teams_2012 ORDER BY \"Team\" LIMIT 5;',\n",
111-
" url=CONNECTION_STRING,\n",
115+
" db=db,\n",
112116
")\n",
113117
"documents = loader.load()"
114118
]
@@ -151,7 +155,7 @@
151155
"source": [
152156
"loader = CrateDBLoader(\n",
153157
" 'SELECT * FROM mlb_teams_2012 ORDER BY \"Team\" LIMIT 5;',\n",
154-
" url=CONNECTION_STRING,\n",
158+
" db=db,\n",
155159
" page_content_columns=[\"Team\"],\n",
156160
" metadata_columns=[\"Payroll (millions)\"],\n",
157161
")\n",
@@ -194,7 +198,7 @@
194198
"source": [
195199
"loader = CrateDBLoader(\n",
196200
" 'SELECT * FROM mlb_teams_2012 ORDER BY \"Team\" LIMIT 5;',\n",
197-
" url=CONNECTION_STRING,\n",
201+
" db=db,\n",
198202
" source_columns=[\"Team\"],\n",
199203
")\n",
200204
"documents = loader.load()"

topic/machine-learning/llm-langchain/document_loader.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@
2727
import os
2828

2929
import requests
30+
import sqlalchemy as sa
3031
from cratedb_toolkit.util import DatabaseAdapter
31-
from langchain.document_loaders import CrateDBLoader
32+
from langchain_community.document_loaders import CrateDBLoader
33+
from langchain_community.utilities.sql_database import SQLDatabase
3234
from pprint import pprint
3335

3436

@@ -55,10 +57,12 @@ def main():
5557
# Load data.
5658
import_mlb_teams_2012()
5759

60+
db = SQLDatabase(engine=sa.create_engine(CONNECTION_STRING))
61+
5862
# Query data.
5963
loader = CrateDBLoader(
6064
query="SELECT * FROM mlb_teams_2012 LIMIT 3;",
61-
url=CONNECTION_STRING,
65+
db=db,
6266
include_rownum_into_metadata=True,
6367
)
6468
docs = loader.load()

topic/machine-learning/llm-langchain/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ cratedb-toolkit==0.0.12
99
google-cloud-aiplatform<2
1010
langchain-google-vertexai<2
1111
langchain-openai<0.2
12+
langchain-text-splitters<0.3
1213
pueblo[cli,nlp]>=0.0.7
1314
pydantic>=1,<3
1415
pypdf<5

topic/machine-learning/llm-langchain/vector_search.ipynb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,9 @@
163163
"metadata": {},
164164
"outputs": [],
165165
"source": [
166-
"from langchain.docstore.document import Document\n",
167-
"from langchain.embeddings.openai import OpenAIEmbeddings\n",
168-
"from langchain.vectorstores import CrateDBVectorSearch"
166+
"from langchain_community.vectorstores import CrateDBVectorSearch\n",
167+
"from langchain_core.documents import Document\n",
168+
"from langchain_openai import OpenAIEmbeddings"
169169
]
170170
},
171171
{

topic/machine-learning/llm-langchain/vector_search.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
# Run program.
2020
python vector_search.py
2121
""" # noqa: E501
22-
from langchain.document_loaders import UnstructuredURLLoader
23-
from langchain.embeddings.openai import OpenAIEmbeddings
24-
from langchain.text_splitter import CharacterTextSplitter
25-
from langchain.vectorstores import CrateDBVectorSearch
22+
from langchain_community.document_loaders import UnstructuredURLLoader
23+
from langchain_community.vectorstores import CrateDBVectorSearch
24+
from langchain_text_splitters import CharacterTextSplitter
25+
from langchain_openai import OpenAIEmbeddings
2626

2727

2828
def main():

0 commit comments

Comments
 (0)