|
1 | 1 | from agno.agent import Agent |
2 | | -from agno.knowledge.filters import AND, EQ, GT, IN, LT, NOT, OR |
| 2 | +from agno.knowledge.filters import AND, EQ, IN, NOT |
3 | 3 | from agno.knowledge.knowledge import Knowledge |
4 | 4 | from agno.utils.media import ( |
5 | 5 | SampleDataFileExtension, |
|
72 | 72 |
|
73 | 73 | # Step 2: Query the knowledge base with different filter combinations |
74 | 74 | # ------------------------------------------------------------------------------ |
75 | | -na_sales = Agent( |
| 75 | +sales_agent = Agent( |
76 | 76 | knowledge=knowledge, |
77 | 77 | search_knowledge=True, |
78 | 78 | ) |
79 | 79 |
|
80 | | -na_sales.print_response( |
| 80 | +print("--------------------------------") |
| 81 | +print("Using IN operator") |
| 82 | +sales_agent.print_response( |
81 | 83 | "Describe revenue performance for the region", |
82 | 84 | # knowledge_filters=[{"region": "north_america", "data_type": "sales"}], |
83 | | - knowledge_filters=[(IN("region", ["north_america"]))], |
| 85 | + knowledge_filters=[(IN("region", ["north_america", "europe"]))], |
84 | 86 | markdown=True, |
85 | 87 | ) |
86 | 88 |
|
87 | | -na_sales.print_response( |
| 89 | +print("--------------------------------") |
| 90 | +print("Using NOT operator") |
| 91 | +sales_agent.print_response( |
88 | 92 | "Describe revenue performance for the region", |
89 | 93 | # knowledge_filters=[{"region": "north_america", "data_type": "sales"}], |
90 | 94 | knowledge_filters=[NOT(IN("region", ["north_america"]))], |
91 | 95 | markdown=True, |
92 | 96 | ) |
| 97 | + |
| 98 | +print("--------------------------------") |
| 99 | +print("Using AND operator") |
| 100 | +sales_agent.print_response( |
| 101 | + "Describe revenue performance for the region", |
| 102 | + # knowledge_filters=[{"region": "north_america", "data_type": "sales"}], |
| 103 | + knowledge_filters=[ |
| 104 | + AND(EQ("data_type", "sales"), NOT(EQ("region", "north_america"))) |
| 105 | + ], |
| 106 | + markdown=True, |
| 107 | +) |
0 commit comments