diff --git a/pyproject.toml b/pyproject.toml index 127cce9c..01d9400a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,7 @@ dependencies = [ "jinja2 == 3.1.6", "openai >= 1.0.0", "tiktoken >= 0.3.2", - "tenacity >= 8.2.2", + "tenacity >= 9.0.0", "magika ~= 0.5.1", "pillow ~= 10.0.0", "pydantic[email] >= 2.0.0", @@ -57,10 +57,9 @@ dependencies = [ "torch == 2.6.0", "uvicorn == 0.30.6", "aiohttp ~= 3.9.0", - "langchain == 0.2.5", - "langchain-community == 0.2.5", + "langchain-text-splitters == 0.3.1", + "langchain-community == 0.3.3", "requests >= 2.26.0", - "tenacity == 8.3.0", "anyio ~= 4.8.0", "pymupdf == 1.24.11", "django == 5.1.8", diff --git a/src/khoj/processor/content/text_to_entries.py b/src/khoj/processor/content/text_to_entries.py index 2c27c5a3..8e0b3322 100644 --- a/src/khoj/processor/content/text_to_entries.py +++ b/src/khoj/processor/content/text_to_entries.py @@ -6,7 +6,7 @@ from abc import ABC, abstractmethod from itertools import repeat from typing import Any, Callable, List, Set, Tuple -from langchain.text_splitter import RecursiveCharacterTextSplitter +from langchain_text_splitters import RecursiveCharacterTextSplitter from tqdm import tqdm from khoj.database.adapters import ( diff --git a/src/khoj/processor/conversation/anthropic/anthropic_chat.py b/src/khoj/processor/conversation/anthropic/anthropic_chat.py index aba69dfb..bfd74a53 100644 --- a/src/khoj/processor/conversation/anthropic/anthropic_chat.py +++ b/src/khoj/processor/conversation/anthropic/anthropic_chat.py @@ -4,7 +4,7 @@ from datetime import datetime, timedelta from typing import AsyncGenerator, Dict, List, Optional import pyjson5 -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from khoj.database.models import Agent, ChatModel, KhojUser from khoj.processor.conversation import prompts diff --git a/src/khoj/processor/conversation/anthropic/utils.py b/src/khoj/processor/conversation/anthropic/utils.py index c2db6a72..915c082b 100644 --- a/src/khoj/processor/conversation/anthropic/utils.py +++ b/src/khoj/processor/conversation/anthropic/utils.py @@ -3,7 +3,7 @@ from time import perf_counter from typing import Dict, List import anthropic -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from tenacity import ( before_sleep_log, retry, diff --git a/src/khoj/processor/conversation/google/gemini_chat.py b/src/khoj/processor/conversation/google/gemini_chat.py index e9993a39..5f45f69e 100644 --- a/src/khoj/processor/conversation/google/gemini_chat.py +++ b/src/khoj/processor/conversation/google/gemini_chat.py @@ -4,7 +4,7 @@ from datetime import datetime, timedelta from typing import AsyncGenerator, Dict, List, Optional import pyjson5 -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from pydantic import BaseModel, Field from khoj.database.models import Agent, ChatModel, KhojUser diff --git a/src/khoj/processor/conversation/google/utils.py b/src/khoj/processor/conversation/google/utils.py index d465cbda..c527bf72 100644 --- a/src/khoj/processor/conversation/google/utils.py +++ b/src/khoj/processor/conversation/google/utils.py @@ -9,7 +9,7 @@ import httpx from google import genai from google.genai import errors as gerrors from google.genai import types as gtypes -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from pydantic import BaseModel from tenacity import ( before_sleep_log, diff --git a/src/khoj/processor/conversation/offline/chat_model.py b/src/khoj/processor/conversation/offline/chat_model.py index e2da460e..2a0512f9 100644 --- a/src/khoj/processor/conversation/offline/chat_model.py +++ b/src/khoj/processor/conversation/offline/chat_model.py @@ -7,7 +7,7 @@ from time import perf_counter from typing import Any, AsyncGenerator, Dict, List, Optional, Union import pyjson5 -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from llama_cpp import Llama from khoj.database.models import Agent, ChatModel, KhojUser diff --git a/src/khoj/processor/conversation/openai/gpt.py b/src/khoj/processor/conversation/openai/gpt.py index 65b2d83f..913bd90c 100644 --- a/src/khoj/processor/conversation/openai/gpt.py +++ b/src/khoj/processor/conversation/openai/gpt.py @@ -4,7 +4,7 @@ from datetime import datetime, timedelta from typing import AsyncGenerator, Dict, List, Optional import pyjson5 -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from openai.lib._pydantic import _ensure_strict_json_schema from pydantic import BaseModel diff --git a/src/khoj/processor/conversation/prompts.py b/src/khoj/processor/conversation/prompts.py index d3935faa..15477c83 100644 --- a/src/khoj/processor/conversation/prompts.py +++ b/src/khoj/processor/conversation/prompts.py @@ -1,4 +1,4 @@ -from langchain.prompts import PromptTemplate +from langchain_core.prompts import PromptTemplate ## Personality ## -- diff --git a/src/khoj/processor/conversation/utils.py b/src/khoj/processor/conversation/utils.py index da871097..72c0fd1e 100644 --- a/src/khoj/processor/conversation/utils.py +++ b/src/khoj/processor/conversation/utils.py @@ -17,7 +17,7 @@ import pyjson5 import requests import tiktoken import yaml -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from llama_cpp import LlamaTokenizer from llama_cpp.llama import Llama from transformers import AutoTokenizer, PreTrainedTokenizer, PreTrainedTokenizerFast diff --git a/tests/test_conversation_utils.py b/tests/test_conversation_utils.py index 43f805b2..b1fdad30 100644 --- a/tests/test_conversation_utils.py +++ b/tests/test_conversation_utils.py @@ -1,7 +1,7 @@ from copy import deepcopy import tiktoken -from langchain.schema import ChatMessage +from langchain_core.messages.chat import ChatMessage from khoj.processor.conversation import utils