AnyLlmSearchXsoarEntries
Search war room entries for text results. Results are placed in the search results buffer where they can be added to the LLM's conversation context.
- Type
- python
- Pack
- AnythingLLM
Source
import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
def FilterEntries(entry, maxsize: int) -> str:
if entry["Metadata"]["category"] == "procedural":
return ""
if entry.get("Contents", "") == "Metrics reported successfully.":
return ""
if entry["Metadata"].get("contentsSize", 0) > maxsize:
return ""
return entry
def main():
try:
args = demisto.args()
ids = args.get("ids", "").split(",")
filters = {"tags": args.get("tags", ""), "categories": args.get("categories", "")}
maxsize = int(args.get("maxcontentsize", "64"))
text = ""
for incid in ids:
filters["id"] = incid
results = execute_command("GetEntries", filters)
results = results if isinstance(results, list) else [results]
for entry in results:
if FilterEntries(entry, maxsize) == "":
continue
text += f"{entry['Metadata']['category']} {entry['Metadata'].get('dbotCreatedBy', '')}"
text += f" {entry['Metadata']['created']}"
text += f" {entry.get('Contents', '')} {entry.get('HumanReadable', '')}"
text += f" {entry['Metadata'].get('tags', '')} \n"
execute_command("setIncident", {"customFields": {"anythingllmsearchresults": text}})
except Exception as ex:
demisto.error(traceback.format_exc())
return_error(f"AnyLlmSearchXsoarEntries: error is - {ex}")
if __name__ in ("__main__", "__builtin__", "builtins"):
main()
README
Search war room entries for text results. Results are placed in the search results buffer where they can be added to the LLM’s conversation context
Script Data
| Name | Description |
|---|---|
| Script Type | python3 |
Inputs
| Argument Name | Description |
|---|---|
| ids | CSV list of incident IDs to fetch war room entries |
| tags | war room entry tags to include |
| categories | war room entry categories to include |
| maxcontensize | filter out large entries when the content size exceeds this value. This minimizes data added to the LLM’s conversation context where they may be a size limit depending on the LLM model being used |
Outputs
There are no outputs for this script.