Spaces:
Sleeping
Sleeping
import base64 | |
import cv2 | |
import openai | |
from dotenv import load_dotenv | |
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder | |
from langchain.schema.messages import SystemMessage | |
from langchain_community.chat_message_histories import ChatMessageHistory | |
from langchain_core.output_parsers import StrOutputParser | |
from langchain_core.runnables.history import RunnableWithMessageHistory | |
from langchain_openai import ChatOpenAI | |
import streamlit as st | |
load_dotenv() | |
class VideoStream: | |
def __init__(self): | |
self.cap = cv2.VideoCapture(0) | |
def get_frame(self): | |
ret, frame = self.cap.read() | |
encoded_image = cv2.imencode('.jpg', frame)[1].tobytes() | |
return encoded_image | |
class Assistant: | |
# ... (Same code as before for the Assistant class) | |
def main(): | |
st.title("AI Assistant App") | |
video_stream = VideoStream() | |
# model = ChatGoogleGenerativeAI(model="gemini-1.5-flash-latest") | |
model = ChatOpenAI(model="gpt-4o") # Using OpenAI's GPT-4 model | |
assistant = Assistant(model) | |
if st.button("Start"): | |
while True: | |
frame = video_stream.get_frame() | |
st.image(frame, channels="BGR") | |
# Add code to capture audio input and process the response here | |
# ... | |
if __name__ == "__main__": | |
main() |