Technology•October 23, 2023
LlamaIndex & Astra DB: Building Petabyte-Scale GenAI Apps Just Got Easier

import os
from pathlib import Path
import cassio
from dotenv import load_dotenv
from llama_index import StorageContext, VectorStoreIndex
from llama_index.vector_stores import CassandraVectorStore
from llama_index import download_loader
ASTRA_DB_ID = os.environ["ASTRA_DB_ID"]
ASTRA_DB_APPLICATION_TOKEN = os.environ["ASTRA_DB_APPLICATION_TOKEN"]
ASTRA_DB_KEYSPACE = os.getenv("ASTRA_DB_KEYSPACE")
cassio.init(
database_id=ASTRA_DB_ID,
token=ASTRA_DB_APPLICATION_TOKEN,
keyspace=ASTRA_DB_KEYSPACE,
)
cassandra_store = CassandraVectorStore(table="nasa", embedding_dimension=1536)
PDFReader = download_loader("PDFReader")
loader = PDFReader()
documents = loader.load_data(file=Path('./documents/nasa-rockets-guide.pdf'))
storage_context = StorageContext.from_defaults(vector_store=cassandra_store)
index = VectorStoreIndex.from_documents(
documents,
storage_context=storage_context,
)
query_engine = index.as_query_engine()
query_engine.query('What sort of experiments did Galileo conduct?')
> Galileo conducted a wide range of experiments involving motion.