Talk2Scholars state
State management for the Talk2Scholars agent.
This module defines the state class Talk2Scholars
, which maintains the conversation
context, retrieved papers, and other relevant metadata. The state ensures consistency
across agent interactions.
Talk2Scholars
Bases: AgentState
Represents the state of the Talk2Scholars agent.
This class extends AgentState
to maintain conversation history, retrieved papers,
and interactions with the language model.
Attributes:
last_displayed_papers (Dict[str, Any]): Stores the most recently displayed papers.
papers (Dict[str, Any]): Stores the research papers retrieved from the agent's queries.
multi_papers (Dict[str, Any]): Stores multiple recommended papers from various sources.
article_data (Dict[str, Any]): Stores the papers retrieved from Zotero and the pdf
download agent with their metadata.
zotero_write_approval_status (Dict[str, Any]): Stores the approval status and collection
path for Zotero save operations.
llm_model (BaseChatModel): The language model instance used for generating responses.
text_embedding_model (Embeddings): The text embedding model used for
similarity calculations.
Source code in aiagents4pharma/talk2scholars/state/state_talk2scholars.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
merge_dict(existing, new)
Merges the existing dictionary with a new dictionary.
This function logs the state merge and ensures that the new values are appended to the existing state without overwriting other entries. Args: existing (Dict[str, Any]): The current dictionary state. new (Dict[str, Any]): The new dictionary state to merge. Returns: Dict[str, Any]: The merged dictionary state.
Source code in aiagents4pharma/talk2scholars/state/state_talk2scholars.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
replace_dict(existing, new)
Replaces the existing dictionary with a new dictionary.
This function logs the state update and ensures that the old state is replaced with the new one.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
existing
|
Dict[str, Any]
|
The current dictionary state. |
required |
new
|
Dict[str, Any]
|
The new dictionary state to replace the existing one. |
required |
Returns:
Type | Description |
---|---|
Any
|
Dict[str, Any]: The updated dictionary state. |
Example
old_state = {"papers": {"id1": "Paper 1"}} new_state = {"papers": {"id2": "Paper 2"}} updated_state = replace_dict(old_state, new_state) print(updated_state) {"papers": {"id2": "Paper 2"}}
Source code in aiagents4pharma/talk2scholars/state/state_talk2scholars.py
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
|