0

Help me to solve this error, i need the json data to be stored in chromadb, it's not loading into loader here i'm using Langchain JSON

import yfinance as yf

import json
from langchain import OpenAI
from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings  
from langchain.vectorstores import Chroma
from langchain.chains.question_answering import load_qa_chain
from langchain.document_loaders import JSONLoader


stock_symbol = 'MSFT'  
start_date = '2023-01-01'
end_date = '2023-08-15'

ticker = yf.Ticker(stock_symbol)
historical_data = ticker.history(start=start_date, end=end_date)

historical_data_json = historical_data.to_json(orient='index') 

embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
jq_schema = '.[] | {date: .key, open: .value."1. open", high: .value."2. high", low: .value."3. low", close: .value."4. close"}'

loader = JSONLoader(historical_data_json,jq_schema,text_content = False,json_lines=True)

# documents = loader.load()
# db = Chroma.from_documents(documents, embeddings)
loader.load()

OSError: [Errno 63] File name too long: '/Users/.....

  • The first argument to JSONLoader needs to be a filename and **not** a JSON structure (which is what historical_data_json is) – DarkKnight Aug 18 '23 at 05:19

0 Answers0