mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-05-02 16:00:34 +02:00
k
This commit is contained in:
parent
570fe43efb
commit
16265d27f5
@ -25,8 +25,8 @@ def upgrade() -> None:
|
|||||||
sa.Column("persona_id", sa.Integer(), nullable=True),
|
sa.Column("persona_id", sa.Integer(), nullable=True),
|
||||||
sa.Column("agent_type", sa.String(), nullable=False),
|
sa.Column("agent_type", sa.String(), nullable=False),
|
||||||
sa.Column("start_time", sa.DateTime(timezone=True), nullable=False),
|
sa.Column("start_time", sa.DateTime(timezone=True), nullable=False),
|
||||||
sa.Column("base_duration__s", sa.Float(), nullable=False),
|
sa.Column("base_duration_s", sa.Float(), nullable=False),
|
||||||
sa.Column("full_duration__s", sa.Float(), nullable=False),
|
sa.Column("full_duration_s", sa.Float(), nullable=False),
|
||||||
sa.Column("base_metrics", postgresql.JSONB(), nullable=True),
|
sa.Column("base_metrics", postgresql.JSONB(), nullable=True),
|
||||||
sa.Column("refined_metrics", postgresql.JSONB(), nullable=True),
|
sa.Column("refined_metrics", postgresql.JSONB(), nullable=True),
|
||||||
sa.Column("all_metrics", postgresql.JSONB(), nullable=True),
|
sa.Column("all_metrics", postgresql.JSONB(), nullable=True),
|
||||||
|
@ -265,9 +265,9 @@ def generate_initial_answer(
|
|||||||
agent_base_end_time = datetime.now()
|
agent_base_end_time = datetime.now()
|
||||||
|
|
||||||
if agent_base_end_time and state.agent_start_time:
|
if agent_base_end_time and state.agent_start_time:
|
||||||
duration__s = (agent_base_end_time - state.agent_start_time).total_seconds()
|
duration_s = (agent_base_end_time - state.agent_start_time).total_seconds()
|
||||||
else:
|
else:
|
||||||
duration__s = None
|
duration_s = None
|
||||||
|
|
||||||
agent_base_metrics = AgentBaseMetrics(
|
agent_base_metrics = AgentBaseMetrics(
|
||||||
num_verified_documents_total=len(relevant_docs),
|
num_verified_documents_total=len(relevant_docs),
|
||||||
@ -285,7 +285,7 @@ def generate_initial_answer(
|
|||||||
support_boost_factor=initial_agent_stats.agent_effectiveness.get(
|
support_boost_factor=initial_agent_stats.agent_effectiveness.get(
|
||||||
"support_ratio"
|
"support_ratio"
|
||||||
),
|
),
|
||||||
duration__s=duration__s,
|
duration_s=duration_s,
|
||||||
)
|
)
|
||||||
|
|
||||||
return InitialAnswerUpdate(
|
return InitialAnswerUpdate(
|
||||||
|
@ -137,7 +137,7 @@ def decompose_orig_question(
|
|||||||
agent_refined_metrics=AgentRefinedMetrics(
|
agent_refined_metrics=AgentRefinedMetrics(
|
||||||
refined_doc_boost_factor=None,
|
refined_doc_boost_factor=None,
|
||||||
refined_question_boost_factor=None,
|
refined_question_boost_factor=None,
|
||||||
duration__s=None,
|
duration_s=None,
|
||||||
),
|
),
|
||||||
log_messages=[
|
log_messages=[
|
||||||
get_langgraph_node_log_string(
|
get_langgraph_node_log_string(
|
||||||
|
@ -10,9 +10,9 @@ class RefinementSubQuestion(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class AgentTimings(BaseModel):
|
class AgentTimings(BaseModel):
|
||||||
base_duration__s: float | None
|
base_duration_s: float | None
|
||||||
refined_duration__s: float | None
|
refined_duration_s: float | None
|
||||||
full_duration__s: float | None
|
full_duration_s: float | None
|
||||||
|
|
||||||
|
|
||||||
class AgentBaseMetrics(BaseModel):
|
class AgentBaseMetrics(BaseModel):
|
||||||
@ -23,13 +23,13 @@ class AgentBaseMetrics(BaseModel):
|
|||||||
verified_avg_score_base: float | None = None
|
verified_avg_score_base: float | None = None
|
||||||
base_doc_boost_factor: float | None = None
|
base_doc_boost_factor: float | None = None
|
||||||
support_boost_factor: float | None = None
|
support_boost_factor: float | None = None
|
||||||
duration__s: float | None = None
|
duration_s: float | None = None
|
||||||
|
|
||||||
|
|
||||||
class AgentRefinedMetrics(BaseModel):
|
class AgentRefinedMetrics(BaseModel):
|
||||||
refined_doc_boost_factor: float | None = None
|
refined_doc_boost_factor: float | None = None
|
||||||
refined_question_boost_factor: float | None = None
|
refined_question_boost_factor: float | None = None
|
||||||
duration__s: float | None = None
|
duration_s: float | None = None
|
||||||
|
|
||||||
|
|
||||||
class AgentAdditionalMetrics(BaseModel):
|
class AgentAdditionalMetrics(BaseModel):
|
||||||
|
@ -320,7 +320,7 @@ def generate_refined_answer(
|
|||||||
agent_refined_metrics = AgentRefinedMetrics(
|
agent_refined_metrics = AgentRefinedMetrics(
|
||||||
refined_doc_boost_factor=refined_agent_stats.revision_doc_efficiency,
|
refined_doc_boost_factor=refined_agent_stats.revision_doc_efficiency,
|
||||||
refined_question_boost_factor=refined_agent_stats.revision_question_efficiency,
|
refined_question_boost_factor=refined_agent_stats.revision_question_efficiency,
|
||||||
duration__s=agent_refined_duration,
|
duration_s=agent_refined_duration,
|
||||||
)
|
)
|
||||||
|
|
||||||
return RefinedAnswerUpdate(
|
return RefinedAnswerUpdate(
|
||||||
|
@ -49,9 +49,9 @@ def persist_agent_results(state: MainState, config: RunnableConfig) -> MainOutpu
|
|||||||
|
|
||||||
combined_agent_metrics = CombinedAgentMetrics(
|
combined_agent_metrics = CombinedAgentMetrics(
|
||||||
timings=AgentTimings(
|
timings=AgentTimings(
|
||||||
base_duration__s=agent_base_duration,
|
base_duration_s=agent_base_duration,
|
||||||
refined_duration__s=agent_refined_duration,
|
refined_duration_s=agent_refined_duration,
|
||||||
full_duration__s=agent_full_duration,
|
full_duration_s=agent_full_duration,
|
||||||
),
|
),
|
||||||
base_metrics=agent_base_metrics,
|
base_metrics=agent_base_metrics,
|
||||||
refined_metrics=agent_refined_metrics,
|
refined_metrics=agent_refined_metrics,
|
||||||
@ -110,17 +110,17 @@ def persist_agent_results(state: MainState, config: RunnableConfig) -> MainOutpu
|
|||||||
logger.debug(log_message)
|
logger.debug(log_message)
|
||||||
|
|
||||||
if state.agent_base_metrics:
|
if state.agent_base_metrics:
|
||||||
logger.debug(f"Initial loop: {state.agent_base_metrics.duration__s}")
|
logger.debug(f"Initial loop: {state.agent_base_metrics.duration_s}")
|
||||||
if state.agent_refined_metrics:
|
if state.agent_refined_metrics:
|
||||||
logger.debug(f"Refined loop: {state.agent_refined_metrics.duration__s}")
|
logger.debug(f"Refined loop: {state.agent_refined_metrics.duration_s}")
|
||||||
if (
|
if (
|
||||||
state.agent_base_metrics
|
state.agent_base_metrics
|
||||||
and state.agent_refined_metrics
|
and state.agent_refined_metrics
|
||||||
and state.agent_base_metrics.duration__s
|
and state.agent_base_metrics.duration_s
|
||||||
and state.agent_refined_metrics.duration__s
|
and state.agent_refined_metrics.duration_s
|
||||||
):
|
):
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Total time: {float(state.agent_base_metrics.duration__s) + float(state.agent_refined_metrics.duration__s)}"
|
f"Total time: {float(state.agent_base_metrics.duration_s) + float(state.agent_refined_metrics.duration_s)}"
|
||||||
)
|
)
|
||||||
|
|
||||||
return main_output
|
return main_output
|
||||||
|
@ -966,8 +966,8 @@ def log_agent_metrics(
|
|||||||
persona_id=persona_id,
|
persona_id=persona_id,
|
||||||
agent_type=agent_type,
|
agent_type=agent_type,
|
||||||
start_time=start_time,
|
start_time=start_time,
|
||||||
base_duration__s=agent_timings.base_duration__s,
|
base_duration_s=agent_timings.base_duration_s,
|
||||||
full_duration__s=agent_timings.full_duration__s,
|
full_duration_s=agent_timings.full_duration_s,
|
||||||
base_metrics=vars(agent_base_metrics) if agent_base_metrics else None,
|
base_metrics=vars(agent_base_metrics) if agent_base_metrics else None,
|
||||||
refined_metrics=vars(agent_refined_metrics) if agent_refined_metrics else None,
|
refined_metrics=vars(agent_refined_metrics) if agent_refined_metrics else None,
|
||||||
all_metrics=vars(agent_additional_metrics)
|
all_metrics=vars(agent_additional_metrics)
|
||||||
|
@ -1851,8 +1851,8 @@ class AgentSearchMetrics(Base):
|
|||||||
)
|
)
|
||||||
agent_type: Mapped[str] = mapped_column(String)
|
agent_type: Mapped[str] = mapped_column(String)
|
||||||
start_time: Mapped[datetime.datetime] = mapped_column(DateTime(timezone=True))
|
start_time: Mapped[datetime.datetime] = mapped_column(DateTime(timezone=True))
|
||||||
base_duration__s: Mapped[float] = mapped_column(Float)
|
base_duration_s: Mapped[float] = mapped_column(Float)
|
||||||
full_duration__s: Mapped[float] = mapped_column(Float)
|
full_duration_s: Mapped[float] = mapped_column(Float)
|
||||||
base_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
base_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
||||||
refined_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
refined_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
||||||
all_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
all_metrics: Mapped[JSON_ro] = mapped_column(postgresql.JSONB(), nullable=True)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user