carolinacon's picture
Added logic for audio, images, excel and python code
778116a
raw
history blame contribute delete
938 Bytes
import pandas as pd
from langchain.tools import tool
from langchain_experimental.agents import create_pandas_dataframe_agent
from langchain_openai import ChatOpenAI
from core.messages import attachmentHandler
llm = ChatOpenAI(model="gpt-4.1")
@tool
def query_excel_file(question: str, file_reference: str) -> str:
"""
Analyze the incoming excel file (xls/xlsx) and answer the question based on this analysis
:param question: the question concerning the data in the given excel file
:param file_reference: the content of the excel file encoded base64
:return: the answer to the question
"""
# Load Excel file
content_bytes = attachmentHandler.fetch_file_from_reference(file_reference)
df = pd.read_excel(content_bytes)
# Create agent
pandas_agent = create_pandas_dataframe_agent(llm, df, verbose=True, allow_dangerous_code=True)
response = pandas_agent.run(question)
return response