agno 1.7.8__py3-none-any.whl → 1.7.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agno/agent/agent.py +33 -27
- agno/document/reader/pdf_reader.py +302 -143
- agno/knowledge/agent.py +68 -72
- agno/knowledge/pdf.py +32 -8
- agno/knowledge/pdf_url.py +13 -5
- agno/models/openai/responses.py +30 -1
- agno/run/response.py +10 -0
- agno/run/team.py +10 -0
- agno/team/team.py +39 -20
- agno/tools/aws_lambda.py +10 -0
- agno/tools/github.py +54 -18
- agno/vectordb/lancedb/lance_db.py +10 -2
- agno/vectordb/pgvector/pgvector.py +3 -0
- agno/vectordb/weaviate/weaviate.py +84 -18
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/METADATA +2 -1
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/RECORD +20 -20
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/WHEEL +0 -0
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/entry_points.txt +0 -0
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/licenses/LICENSE +0 -0
- {agno-1.7.8.dist-info → agno-1.7.10.dist-info}/top_level.txt +0 -0
agno/agent/agent.py
CHANGED
|
@@ -893,7 +893,7 @@ class Agent:
|
|
|
893
893
|
):
|
|
894
894
|
yield event
|
|
895
895
|
else:
|
|
896
|
-
from agno.
|
|
896
|
+
from agno.run.response import IntermediateRunResponseContentEvent, RunResponseContentEvent
|
|
897
897
|
|
|
898
898
|
for event in self._handle_model_response_stream(
|
|
899
899
|
run_response=run_response,
|
|
@@ -903,7 +903,10 @@ class Agent:
|
|
|
903
903
|
):
|
|
904
904
|
if isinstance(event, RunResponseContentEvent):
|
|
905
905
|
if stream_intermediate_steps:
|
|
906
|
-
yield
|
|
906
|
+
yield IntermediateRunResponseContentEvent(
|
|
907
|
+
content=event.content,
|
|
908
|
+
content_type=event.content_type,
|
|
909
|
+
)
|
|
907
910
|
else:
|
|
908
911
|
yield event
|
|
909
912
|
|
|
@@ -1331,7 +1334,7 @@ class Agent:
|
|
|
1331
1334
|
):
|
|
1332
1335
|
yield event
|
|
1333
1336
|
else:
|
|
1334
|
-
from agno.
|
|
1337
|
+
from agno.run.response import IntermediateRunResponseContentEvent, RunResponseContentEvent
|
|
1335
1338
|
|
|
1336
1339
|
async for event in self._ahandle_model_response_stream(
|
|
1337
1340
|
run_response=run_response,
|
|
@@ -1341,7 +1344,10 @@ class Agent:
|
|
|
1341
1344
|
):
|
|
1342
1345
|
if isinstance(event, RunResponseContentEvent):
|
|
1343
1346
|
if stream_intermediate_steps:
|
|
1344
|
-
yield
|
|
1347
|
+
yield IntermediateRunResponseContentEvent(
|
|
1348
|
+
content=event.content,
|
|
1349
|
+
content_type=event.content_type,
|
|
1350
|
+
)
|
|
1345
1351
|
else:
|
|
1346
1352
|
yield event
|
|
1347
1353
|
|
|
@@ -4973,9 +4979,26 @@ class Agent:
|
|
|
4973
4979
|
|
|
4974
4980
|
run_messages.messages += history_copy
|
|
4975
4981
|
|
|
4976
|
-
# 4.Add
|
|
4982
|
+
# 4. Add messages to run_messages if provided
|
|
4983
|
+
if messages is not None and len(messages) > 0:
|
|
4984
|
+
for _m in messages:
|
|
4985
|
+
if isinstance(_m, Message):
|
|
4986
|
+
run_messages.messages.append(_m)
|
|
4987
|
+
if run_messages.extra_messages is None:
|
|
4988
|
+
run_messages.extra_messages = []
|
|
4989
|
+
run_messages.extra_messages.append(_m)
|
|
4990
|
+
elif isinstance(_m, dict):
|
|
4991
|
+
try:
|
|
4992
|
+
run_messages.messages.append(Message.model_validate(_m))
|
|
4993
|
+
if run_messages.extra_messages is None:
|
|
4994
|
+
run_messages.extra_messages = []
|
|
4995
|
+
run_messages.extra_messages.append(Message.model_validate(_m))
|
|
4996
|
+
except Exception as e:
|
|
4997
|
+
log_warning(f"Failed to validate message: {e}")
|
|
4998
|
+
|
|
4999
|
+
# 5. Add user message to run_messages
|
|
4977
5000
|
user_message: Optional[Message] = None
|
|
4978
|
-
#
|
|
5001
|
+
# 5.1 Build user message if message is None, str or list
|
|
4979
5002
|
if message is None or isinstance(message, str) or isinstance(message, list):
|
|
4980
5003
|
user_message = self.get_user_message(
|
|
4981
5004
|
message=message,
|
|
@@ -4986,16 +5009,16 @@ class Agent:
|
|
|
4986
5009
|
knowledge_filters=knowledge_filters,
|
|
4987
5010
|
**kwargs,
|
|
4988
5011
|
)
|
|
4989
|
-
#
|
|
5012
|
+
# 5.2 If message is provided as a Message, use it directly
|
|
4990
5013
|
elif isinstance(message, Message):
|
|
4991
5014
|
user_message = message
|
|
4992
|
-
#
|
|
5015
|
+
# 5.3 If message is provided as a dict, try to validate it as a Message
|
|
4993
5016
|
elif isinstance(message, dict):
|
|
4994
5017
|
try:
|
|
4995
5018
|
user_message = Message.model_validate(message)
|
|
4996
5019
|
except Exception as e:
|
|
4997
5020
|
log_warning(f"Failed to validate message: {e}")
|
|
4998
|
-
#
|
|
5021
|
+
# 5.4 If message is provided as a BaseModel, convert it to a Message
|
|
4999
5022
|
elif isinstance(message, BaseModel):
|
|
5000
5023
|
try:
|
|
5001
5024
|
# Create a user message with the BaseModel content
|
|
@@ -5008,23 +5031,6 @@ class Agent:
|
|
|
5008
5031
|
run_messages.user_message = user_message
|
|
5009
5032
|
run_messages.messages.append(user_message)
|
|
5010
5033
|
|
|
5011
|
-
# 5. Add messages to run_messages if provided
|
|
5012
|
-
if messages is not None and len(messages) > 0:
|
|
5013
|
-
for _m in messages:
|
|
5014
|
-
if isinstance(_m, Message):
|
|
5015
|
-
run_messages.messages.append(_m)
|
|
5016
|
-
if run_messages.extra_messages is None:
|
|
5017
|
-
run_messages.extra_messages = []
|
|
5018
|
-
run_messages.extra_messages.append(_m)
|
|
5019
|
-
elif isinstance(_m, dict):
|
|
5020
|
-
try:
|
|
5021
|
-
run_messages.messages.append(Message.model_validate(_m))
|
|
5022
|
-
if run_messages.extra_messages is None:
|
|
5023
|
-
run_messages.extra_messages = []
|
|
5024
|
-
run_messages.extra_messages.append(Message.model_validate(_m))
|
|
5025
|
-
except Exception as e:
|
|
5026
|
-
log_warning(f"Failed to validate message: {e}")
|
|
5027
|
-
|
|
5028
5034
|
return run_messages
|
|
5029
5035
|
|
|
5030
5036
|
def get_continue_run_messages(
|
|
@@ -6866,7 +6872,7 @@ class Agent:
|
|
|
6866
6872
|
document_name = query.replace(" ", "_").replace("?", "").replace("!", "").replace(".", "")
|
|
6867
6873
|
document_content = json.dumps({"query": query, "result": result})
|
|
6868
6874
|
log_info(f"Adding document to knowledge base: {document_name}: {document_content}")
|
|
6869
|
-
self.knowledge.
|
|
6875
|
+
self.knowledge.load_document(
|
|
6870
6876
|
document=Document(
|
|
6871
6877
|
name=document_name,
|
|
6872
6878
|
content=document_content,
|