datum / builder /agent_runner.py
subhamb04's picture
Upload folder using huggingface_hub
9cccf74 verified
raw
history blame contribute delete
956 Bytes
import pandas as pd
from utils.insight_utils import df_to_html, pil_to_base64
from builder.state import AgentState
def run_agent(app, tracer, message, history):
history = history or []
result: AgentState = app.invoke(
{"question": message, "history": history},
config={"callbacks": [tracer]}
)
bot_message = ""
if result.get("narrative"):
bot_message += f"**Datum:**\n{result['narrative']}\n\n"
if result.get("sql"):
bot_message += f"**SQL:**\n```sql\n{result['sql']}\n```\n"
if chart_html := pil_to_base64(result.get("chart_pil")):
bot_message += chart_html + "\n"
if df_html := df_to_html(result.get("df", pd.DataFrame())):
bot_message += df_html
updated_history = history + [
{"role": "user", "content": message},
{"role": "assistant", "content": bot_message}
]
return updated_history, updated_history, ""