run-llama / llama_index

LlamaIndex is a data framework for your LLM applications
https://docs.llamaindex.ai
MIT License
36.16k stars 5.16k forks source link

[Question]: ImportError Ollama #14981

Closed jermkim-x closed 2 months ago

jermkim-x commented 2 months ago

Question Validation

Question

I didn't know that something went wrong in that link, and I kept reporting this error. I have changed several versions of llamaindex according to doc.

ImportError Traceback (most recent call last) Cell In[4], line 1 ----> 1 from llama_index.multi_modal_llms.ollama import OllamaMultiModal 2 from llama_index.vector_stores import Neo4jVectorStore 3 from llama_index import StorageContext, Document

File ~/miniconda3/lib/python3.12/site-packages/llama_index/init.py:17 14 from llama_index.data_structs.struct_type import IndexStructType 16 # embeddings ---> 17 from llama_index.embeddings import OpenAIEmbedding 19 # indices 20 # loading 21 from llama_index.indices import ( 22 ComposableGraph, 23 DocumentSummaryIndex, (...) 42 load_indices_from_storage, 43 )

File ~/miniconda3/lib/python3.12/site-packages/llama_index/embeddings/init.py:11 9 from llama_index.embeddings.bedrock import BedrockEmbedding 10 from llama_index.embeddings.clarifai import ClarifaiEmbedding ---> 11 from llama_index.embeddings.clip import ClipEmbedding 12 from llama_index.embeddings.cohereai import CohereEmbedding 13 from llama_index.embeddings.elasticsearch import ( 14 ElasticsearchEmbedding, 15 ElasticsearchEmbeddings, 16 )

File ~/miniconda3/lib/python3.12/site-packages/llama_index/embeddings/clip/init.py:1 ----> 1 from llama_index.embeddings.clip.base import ClipEmbedding 3 all = ["ClipEmbedding"]

File ~/miniconda3/lib/python3.12/site-packages/llama_index/embeddings/clip/base.py:4 1 import logging 2 from typing import Any, List ----> 4 from llama_index.core.base.embeddings.base import Embedding 5 from llama_index.core.bridge.pydantic import Field, PrivateAttr 6 from llama_index.core.constants import DEFAULT_EMBED_BATCH_SIZE

File ~/miniconda3/lib/python3.12/site-packages/llama_index/core/init.py:1 ----> 1 from llama_index.core.base_multi_modal_retriever import MultiModalRetriever 2 from llama_index.core.base_query_engine import BaseQueryEngine 3 from llama_index.core.base_retriever import BaseRetriever

File ~/miniconda3/lib/python3.12/site-packages/llama_index/core/base_multi_modal_retriever.py:5 2 from abc import abstractmethod 3 from typing import List ----> 5 from llama_index.core.base_retriever import BaseRetriever 6 from llama_index.core.image_retriever import BaseImageRetriever 7 from llama_index.indices.query.schema import QueryType

File ~/miniconda3/lib/python3.12/site-packages/llama_index/core/base_retriever.py:7 5 from llama_index.callbacks.base import CallbackManager 6 from llama_index.callbacks.schema import CBEventType, EventPayload ----> 7 from llama_index.indices.query.schema import QueryBundle, QueryType 8 from llama_index.indices.service_context import ServiceContext 9 from llama_index.prompts.mixin import PromptDictType, PromptMixin, PromptMixinType

File ~/miniconda3/lib/python3.12/site-packages/llama_index/indices/init.py:4 1 """LlamaIndex data structures.""" 3 # indices ----> 4 from llama_index.indices.composability.graph import ComposableGraph 5 from llama_index.indices.document_summary import ( 6 DocumentSummaryIndex, 7 GPTDocumentSummaryIndex, 8 ) 9 from llama_index.indices.document_summary.base import DocumentSummaryIndex

File ~/miniconda3/lib/python3.12/site-packages/llama_index/indices/composability/init.py:4 1 """This module contains all classes used for composing graphs over indices.""" ----> 4 from llama_index.indices.composability.graph import ComposableGraph 6 all = ["ComposableGraph"]

File ~/miniconda3/lib/python3.12/site-packages/llama_index/indices/composability/graph.py:5 1 """Composability graphs.""" 3 from typing import Any, Dict, List, Optional, Sequence, Type, cast ----> 5 from llama_index.core import BaseQueryEngine 6 from llama_index.data_structs.data_structs import IndexStruct 7 from llama_index.indices.base import BaseIndex

ImportError: cannot import name 'BaseQueryEngine' from partially initialized module 'llama_index.core' (most likely due to a circular import) (/root/miniconda3/lib/python3.12/site-packages/llama_index/core/init.py)

logan-markewich commented 2 months ago

I'm not sure what the issue is here. That import fine in a fresh google colab https://colab.research.google.com/drive/1Bo7WWPgrSMsisxnt8Zs8XgZRCkSm8oLY?usp=sharing

I suggest going with a fresh venv

jermkim-x commented 2 months ago

@logan-markewich Thank you. I'll try again :)