I am trying the example code given with Ollama.
from scrapegraphai.graphs import SmartScraperGraph
graph_config = {
"llm": {
"model": "ollama/llama3",
"temperature": 0,
"format": "json", # Ollama needs the format to be specified explicitly
"base_url": "http://192.168.2.162:11434", # set Ollama URL arbitrarily
"model_tokens": 4000,
},
"embeddings": {
"model": "ollama/mxbai-embed-large",
"temperature": 0,
"base_url": "http://192.168.2.162:11434", # set Ollama URL arbitrarily
}
}
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[7], [line 15](vscode-notebook-cell:?execution_count=7&line=15)
[9](vscode-notebook-cell:?execution_count=7&line=9) for source in sources:
[10](vscode-notebook-cell:?execution_count=7&line=10) smart_scraper_graph = SmartScraperGraph(
[11](vscode-notebook-cell:?execution_count=7&line=11) prompt="Get the Title, Place of Publication, Publisher, Dates of publication, Frequency, and Notes. Don't return anything else.",
[12](vscode-notebook-cell:?execution_count=7&line=12) source=source,
[13](vscode-notebook-cell:?execution_count=7&line=13) config=graph_config
[14](vscode-notebook-cell:?execution_count=7&line=14) )
---> [15](vscode-notebook-cell:?execution_count=7&line=15) result = smart_scraper_graph.run()
[16](vscode-notebook-cell:?execution_count=7&line=16) results.append(result)
File [c:\Users\arsab\anaconda3\lib\site-packages\scrapegraphai\graphs\smart_scraper_graph.py:74](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:74), in SmartScraperGraph.run(self)
[70](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:70) """
[71](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:71) Executes the web scraping process and returns the answer to the prompt.
[72](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:72) """
[73](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:73) inputs = {"user_prompt": self.prompt, self.input_key: self.source}
---> [74](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:74) self.final_state, self.execution_info = self.graph.execute(inputs)
[76](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:76) return self.final_state.get("answer", "No answer found.")
File [c:\Users\arsab\anaconda3\lib\site-packages\scrapegraphai\graphs\base_graph.py:83](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:83), in BaseGraph.execute(self, initial_state)
[80](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:80) current_node = self.nodes[current_node_name]
[82](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:82) with get_openai_callback() as cb:
---> [83](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:83) result = current_node.execute(state)
[85](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:85) node_exec_time = time.time() - curr_time
[86](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/graphs/base_graph.py:86) total_exec_time += node_exec_time
File [c:\Users\arsab\anaconda3\lib\site-packages\scrapegraphai\nodes\rag_node.py:101](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:101), in RAGNode.execute(self, state)
[98](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:98) else:
[99](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:99) raise ValueError("Embedding Model missing or not supported")
--> [101](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:101) retriever = FAISS.from_documents(
[102](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:102) chunked_docs, embeddings).as_retriever()
[104](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:104) redundant_filter = EmbeddingsRedundantFilter(embeddings=embeddings)
[105](file:///C:/Users/arsab/anaconda3/lib/site-packages/scrapegraphai/nodes/rag_node.py:105) # similarity_threshold could be set, now k=20
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_core\vectorstores.py:550](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_core/vectorstores.py:550), in VectorStore.from_documents(cls, documents, embedding, **kwargs)
[548](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_core/vectorstores.py:548) texts = [d.page_content for d in documents]
[549](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_core/vectorstores.py:549) metadatas = [d.metadata for d in documents]
--> [550](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_core/vectorstores.py:550) return cls.from_texts(texts, embedding, metadatas=metadatas, **kwargs)
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_community\vectorstores\faiss.py:930](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:930), in FAISS.from_texts(cls, texts, embedding, metadatas, ids, **kwargs)
[903](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:903) @classmethod
[904](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:904) def from_texts(
[905](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:905) cls,
(...)
[910](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:910) **kwargs: Any,
[911](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:911) ) -> FAISS:
[912](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:912) """Construct FAISS wrapper from raw documents.
[913](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:913)
[914](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:914) This is a user friendly interface that:
(...)
[928](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:928) faiss = FAISS.from_texts(texts, embeddings)
[929](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:929) """
--> [930](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:930) embeddings = embedding.embed_documents(texts)
[931](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:931) return cls.__from(
[932](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:932) texts,
[933](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:933) embeddings,
(...)
[937](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:937) **kwargs,
[938](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/vectorstores/faiss.py:938) )
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_community\embeddings\ollama.py:211](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:211), in OllamaEmbeddings.embed_documents(self, texts)
[202](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:202) """Embed documents using an Ollama deployed embedding model.
[203](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:203)
[204](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:204) Args:
(...)
[208](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:208) List of embeddings, one for each text.
[209](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:209) """
[210](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:210) instruction_pairs = [f"{self.embed_instruction}{text}" for text in texts]
--> [211](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:211) embeddings = self._embed(instruction_pairs)
[212](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:212) return embeddings
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_community\embeddings\ollama.py:199](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:199), in OllamaEmbeddings._embed(self, input)
[197](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:197) else:
[198](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:198) iter_ = input
--> [199](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:199) return [self._process_emb_response(prompt) for prompt in iter_]
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_community\embeddings\ollama.py:199](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:199), in <listcomp>(.0)
[197](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:197) else:
[198](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:198) iter_ = input
--> [199](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:199) return [self._process_emb_response(prompt) for prompt in iter_]
File [c:\Users\arsab\anaconda3\lib\site-packages\langchain_community\embeddings\ollama.py:173](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:173), in OllamaEmbeddings._process_emb_response(self, input)
[170](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:170) raise ValueError(f"Error raised by inference endpoint: {e}")
[172](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:172) if res.status_code != 200:
--> [173](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:173) raise ValueError(
[174](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:174) "Error raised by inference API HTTP code: %s, %s"
[175](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:175) % (res.status_code, res.text)
[176](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:176) )
[177](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:177) try:
[178](file:///C:/Users/arsab/anaconda3/lib/site-packages/langchain_community/embeddings/ollama.py:178) t = res.json()
ValueError: Error raised by inference API HTTP code: 404, {"error":"model 'mxbai-embed-large' not found, try pulling it first"}