import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) import pprint import os import ast import gradio as gr from gradio.themes.base import Base import weaviate from weaviate.embedded import EmbeddedOptions from langchain.vectorstores import Weaviate from langchain.prompts import ChatPromptTemplate from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.embeddings import HuggingFaceEmbeddings from langchain.schema import Document from langchain.chat_models import ChatOpenAI from kaggle_secrets import UserSecretsClient from langchain.schema.runnable import RunnablePassthrough from langchain.schema.output_parser import StrOutputParser from langchain_core.messages import HumanMessage, SystemMessage