{"id":20248220,"url":"https://github.com/sintel-dev/sigllm","last_synced_at":"2026-06-09T05:31:58.130Z","repository":{"id":211009820,"uuid":"720165904","full_name":"sintel-dev/sigllm","owner":"sintel-dev","description":"Using Large Language Models for Time Series Anomaly Detection","archived":false,"fork":false,"pushed_at":"2026-04-28T13:30:28.000Z","size":4717,"stargazers_count":88,"open_issues_count":18,"forks_count":27,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-04-28T15:27:00.125Z","etag":null,"topics":["anomaly-detection","large-language-models","timeseries"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sintel-dev.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-17T18:11:39.000Z","updated_at":"2026-04-28T13:28:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf7ec893-cae4-49dd-8ea2-0984b3ddcaee","html_url":"https://github.com/sintel-dev/sigllm","commit_stats":null,"previous_names":["sintel-dev/sigllm"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/sintel-dev/sigllm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintel-dev%2Fsigllm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintel-dev%2Fsigllm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintel-dev%2Fsigllm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintel-dev%2Fsigllm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintel-dev","download_url":"https://codeload.github.com/sintel-dev/sigllm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintel-dev%2Fsigllm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34093774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","large-language-models","timeseries"],"created_at":"2024-11-14T09:47:08.338Z","updated_at":"2026-06-09T05:31:58.123Z","avatar_url":"https://github.com/sintel-dev.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"left\"\u003e\n\u003cimg width=15% src=\"https://dai.lids.mit.edu/wp-content/uploads/2018/06/Logo_DAI_highres.png\" alt=“DAI-Lab” /\u003e\n\u003ci\u003eAn open source project from Data to AI Lab at MIT.\u003c/i\u003e\n\u003c/p\u003e\n\n[![Development Status](https://img.shields.io/badge/Development%20Status-2%20--%20Pre--Alpha-yellow)](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)\n[![Python](https://img.shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11-blue)](https://badge.fury.io/py/sigllm) \n[![PyPi Shield](https://img.shields.io/pypi/v/sigllm.svg)](https://pypi.python.org/pypi/sigllm)\n[![Run Tests](https://github.com/sintel-dev/sigllm/actions/workflows/tests.yml/badge.svg)](https://github.com/sintel-dev/sigllm/actions/workflows/tests.yml)\n[![Downloads](https://pepy.tech/badge/sigllm)](https://pepy.tech/project/sigllm)\n\n\n# SigLLM\n\nUsing Large Language Models (LLMs) for time series anomaly detection.\n\n\u003c!-- - Documentation: https://sintel-dev.github.io/sigllm --\u003e\n- Homepage: https://github.com/sintel-dev/sigllm\n\n# Overview\n\nSigLLM is an extension of the Orion library, built to detect anomalies in time series data using LLMs.\nWe provide two types of pipelines for anomaly detection:\n* **Prompter**: directly prompting LLMs to find anomalies in time series.\n* **Detector**: using LLMs to forecast time series and finding anomalies through by comparing the real and forecasted signals.\n\nFor more details on our pipelines, please read our [paper](https://arxiv.org/pdf/2405.14755).\n\n# Quickstart\n\n## Install with pip\n\nThe easiest and recommended way to install **SigLLM** is using [pip](https://pip.pypa.io/en/stable/):\n\n```bash\npip install sigllm\n```\nThis will pull and install the latest stable release from [PyPi](https://pypi.org/).\n\n\nIn the following example we show how to use one of the **SigLLM Pipelines**.\n\n# Detect anomalies using a SigLLM pipeline\n\nWe will load a demo data located in `tutorials/data.csv` for this example:\n\n```python3\nimport pandas as pd\n\ndata = pd.read_csv('data.csv')\ndata.head()\n```\n\nwhich should show a signal with `timestamp` and `value`.\n```\n     timestamp      value\n0   1222840800   6.357008\n1   1222862400  12.763547\n2   1222884000  18.204697\n3   1222905600  21.972602\n4   1222927200  23.986643\n5   1222948800  24.906765\n```\n\nIn this example we use `gpt_detector` pipeline and set some hyperparameters. In this case, we set the thresholding strategy to dynamic. The hyperparameters are optional and can be removed.\n\nIn addtion, the `SigLLM` object takes in a `decimal` argument to determine how many digits from the float value include. Here, we don't want to keep any decimal values, so we set it to zero.\n\n```python3\nfrom sigllm import SigLLM\n\nhyperparameters = {\n    'orion.primitives.timeseries_anomalies.find_anomalies#1': {'fixed_threshold': False}\n}\n\nsigllm = SigLLM(pipeline='gpt_detector', decimal=0, hyperparameters=hyperparameters)\n```\n\nNow that we have initialized the pipeline, we are ready to use it to detect anomalies:\n\n```python3\nanomalies = sigllm.detect(data)\n```\n\u003e :warning: Depending on the length of your timeseries, this might take time to run.\n\nThe output of the previous command will be a ``pandas.DataFrame`` containing a table of detected anomalies:\n\n```\n        start         end  severity\n0  1225864800  1227139200  0.625879\n```\n\n# Resources\n\nAdditional resources that might be of interest:\n* Learn about [Orion](https://github.com/sintel-dev/Orion).\n* Read our [paper](https://arxiv.org/pdf/2405.14755).\n\n\n# Citation\n\nIf you use **SigLLM** for your research, please consider citing the following paper:\n\nSarah Alnegheimish, Linh Nguyen, Laure Berti-Equille, Kalyan Veeramachaneni. [Can Large Language Models be Anomaly Detectors for Time Series?](https://arxiv.org/pdf/2405.14755).\n\n```\n@inproceedings{alnegheimish2024sigllm,\n  title={Can Large Language Models be Anomaly Detectors for Time Series?},\n  author={Alnegheimish, Sarah and Nguyen, Linh and Berti-Equille, Laure and Veeramachaneni, Kalyan},\n  booktitle={2024 IEEE International Conferencze on Data Science and Advanced Analytics (IEEE DSAA)},\n  organization={IEEE},\n  year={2024}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintel-dev%2Fsigllm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintel-dev%2Fsigllm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintel-dev%2Fsigllm/lists"}