DareAlly-Assistant / events_loader.py
Oluwadamilare EZEKIEL
modify code
88237f3
import json
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings
import os
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
def load_events(filename):
with open(filename, 'r') as f:
events_data = json.load(f)
return events_data
def store_events_in_faiss(events_data):
embeddings = []
event_summaries = []
for event in events_data:
summary = summarize_event(event) # Function to extract relevant summary text
event_summaries.append(summary)
embeddings.append(embed_text(summary)) # Function to embed summary using OpenAI
# Initialize FAISS and store embeddings
openai_embedding_model = OpenAIEmbeddings(model="text-embedding-ada-002", openai_api_key=OPENAI_API_KEY)
faiss_db = FAISS.from_texts(texts=event_summaries, embedding=openai_embedding_model)
return faiss_db
def summarize_event(event):
# Initialize summary components
event_type = event.get('event_type', 'Unknown')
object_ = event.get('object', {}).get('label', 'Unknown')
location = event.get('location', 'Unknown')
timestamp = event.get('timestamp', 'Unknown')
# Create summary string
summary = f"Event Type: {event_type}, Object: {object_}, Location: {location}, Timestamp: {timestamp}"
return summary
def embed_text(text):
# Placeholder for embedding logic using OpenAI
return text
filename = 'camera.json'
events_data = load_events(filename)
faiss_db = store_events_in_faiss(events_data)