benman1 / generative_ai_with_langchain

Build large language model (LLM) apps with Python, ChatGPT and other models. This is the companion repository for the book on generative AI with LangChain.
https://amzn.to/43PuIkQ
MIT License
552 stars 219 forks source link

from langchain.llms import FakeLLM in python throws an error #28

Closed rkchaganti closed 4 months ago

rkchaganti commented 4 months ago

Using Python 3.10.12 (main, Jul 5 2023, 15:02:25) [Clang 14.0.6 ] on darwin

"from langchain.llms import FakeLLM" in python prompt throws the following error ImportError: cannot import name 'FakeLLM' from 'langchain.llms'

benman1 commented 4 months ago

Hi @rkchaganti. Is this an example from the book? I can't find it in the repo. There's not a lot to go by, unfortunately. Are you referring to pandasai.llm.fake.FakeLLM? I am closing this. Please feel free to re-open once you've posted more context.

brzaz228 commented 4 months ago

@benman1 the example is on page 72. The fake LLM allows you to simulate LLM responses during testing without needing actual API. I am also having this issue. calls. This is useful for rapid prototyping and unit testing agents. Using the FakeLLM avoids hit ting rate limits during testing. It also allows you to mock various responses to validate that your agent handles them properly. Overall, it enables fast agent iteration without needing a real LLM. For example, you could initialize a FakeLLM that returns "Hello" as follows: from langchain.llms import FakeLLM fake_llm = FakeLLM(responses=["Hello"]) You can execute this example in either Python directly or in a notebook. The fake LLM is only for testing purposes. The LangChain documentation has an example of tool use with LLMs. This is a bit more complex than the previous example but gives a hint of the .

rkchaganti commented 4 months ago

Thanks @brzaz228 for pointing out the page # in the book. Yes, when I try to import FakeLLM with "from langchain.llms import FakeLLM" in Python, it throws an error - "ImportError: cannot import name 'FakeLLM' from 'langchain.llms' (/miniconda3/envs/langchain_ai/lib/python3.10/site-packages/langchain/llms/init.py)"

I am using conda environment and executed the following: $conda env create --file langchain_ai.yaml $conda activate langchain_ai $python Python 3.10.12 (main, Jul 5 2023, 15:02:25) [Clang 14.0.6 ] on darwin

srgonzalezz commented 1 week ago

Hello, @rkchaganti and @brzaz228 , as dosubot responded in this issue "it seems like you're trying to import a class named 'LLM' from the 'langchain.llms' module"

The correct class is just the one specified in the code block just below: from langchain.llms.fake import FakeListLLM

This can be corroborated by LangChain's official documentation.