tonykipkemboi / ollama_pdf_rag

A demo Jupyter Notebook showcasing a simple local RAG (Retrieval Augmented Generation) pipeline to chat with your PDFs.
MIT License
127 stars 53 forks source link

Unable to import PromptTemplate #6

Closed saikumar305 closed 1 week ago

saikumar305 commented 2 months ago

Hi , Thank you for the amazing notebook and it's explanation , I am trying to implement it on my local device, But I am facing an issue while importing PrompTemplate.

Python packages

langchain 0.1.7 langchain-community 0.0.20 langchain-core 0.1.33 langchain-text-splitters 0.0.1 langdetect 1.0.9

Errror message:

{
    "name": "ImportError",
    "message": "cannot import name 'create_model' from 'langchain_core.runnables.utils' (/Users/saikumar/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/runnables/utils.py)",
    "stack": "---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[38], line 1
----> 1 from langchain.prompts import PromptTemplate
      2 from langchain_core.output_parsers import StrOutputParser
      3 from langchain_community.chat_models import ChatOllama

File ~/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain/prompts/__init__.py:30
      1 \"\"\"**Prompt** is the input to the model.
      2 
      3 Prompt is often constructed
   (...)
     28 
     29 \"\"\"  # noqa: E501
---> 30 from langchain_core.example_selectors import (
     31     LengthBasedExampleSelector,
     32     MaxMarginalRelevanceExampleSelector,
     33     SemanticSimilarityExampleSelector,
     34 )
     35 from langchain_core.prompts import (
     36     AIMessagePromptTemplate,
     37     BaseChatPromptTemplate,
   (...)
     50     load_prompt,
     51 )
     53 from langchain.prompts.example_selector import NGramOverlapExampleSelector

File ~/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/example_selectors/__init__.py:6
      1 \"\"\"**Example selector** implements logic for selecting examples to include them
      2 in prompts.
      3 This allows us to select examples that are most relevant to the input.
      4 \"\"\"
      5 from langchain_core.example_selectors.base import BaseExampleSelector
----> 6 from langchain_core.example_selectors.length_based import (
      7     LengthBasedExampleSelector,
      8 )
      9 from langchain_core.example_selectors.semantic_similarity import (
     10     MaxMarginalRelevanceExampleSelector,
     11     SemanticSimilarityExampleSelector,
     12     sorted_values,
     13 )
     15 __all__ = [
     16     \"BaseExampleSelector\",
     17     \"LengthBasedExampleSelector\",
   (...)
     20     \"sorted_values\",
     21 ]

File ~/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/example_selectors/length_based.py:6
      3 from typing import Callable, Dict, List
      5 from langchain_core.example_selectors.base import BaseExampleSelector
----> 6 from langchain_core.prompts.prompt import PromptTemplate
      7 from langchain_core.pydantic_v1 import BaseModel, validator
     10 def _get_length_based(text: str) -> int:

File ~/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/prompts/__init__.py:27
      1 \"\"\"**Prompt** is the input to the model.
      2 
      3 Prompt is often constructed
   (...)
     25 
     26 \"\"\"  # noqa: E501
---> 27 from langchain_core.prompts.base import BasePromptTemplate, format_document
     28 from langchain_core.prompts.chat import (
     29     AIMessagePromptTemplate,
     30     BaseChatPromptTemplate,
   (...)
     35     SystemMessagePromptTemplate,
     36 )
     37 from langchain_core.prompts.few_shot import (
     38     FewShotChatMessagePromptTemplate,
     39     FewShotPromptTemplate,
     40 )

File ~/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/prompts/base.py:31
     29 from langchain_core.runnables import RunnableConfig, RunnableSerializable
     30 from langchain_core.runnables.config import ensure_config
---> 31 from langchain_core.runnables.utils import create_model
     33 if TYPE_CHECKING:
     34     from langchain_core.documents import Document

ImportError: cannot import name 'create_model' from 'langchain_core.runnables.utils' (/Users/saikumar/Downloads/Policy_medical_necessity/.conda/lib/python3.10/site-packages/langchain_core/runnables/utils.py)"
}

Thank you ✌️

Verzache commented 1 month ago

If you update to a recent version of langchain-core this issue should resolve itself.

tonykipkemboi commented 1 month ago

Hey @saikumar305, thank you for the feedback. Did you upgrade to the latest langchain-core version as suggested by @Verzache?