{"id":16908860,"url":"https://github.com/saswatamcode/metricsgpt","last_synced_at":"2025-04-12T16:30:51.404Z","repository":{"id":248536575,"uuid":"828886809","full_name":"saswatamcode/metricsGPT","owner":"saswatamcode","description":"Talk to your metrics.","archived":false,"fork":false,"pushed_at":"2025-02-04T10:09:13.000Z","size":6797,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T14:06:39.234Z","etag":null,"topics":["llms","metrics","ollama","prometheus","python","thanos"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saswatamcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-15T10:22:38.000Z","updated_at":"2025-03-18T08:26:28.000Z","dependencies_parsed_at":"2025-02-04T11:32:01.729Z","dependency_job_id":null,"html_url":"https://github.com/saswatamcode/metricsGPT","commit_stats":null,"previous_names":["saswatamcode/metricsgpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saswatamcode%2FmetricsGPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saswatamcode%2FmetricsGPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saswatamcode%2FmetricsGPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saswatamcode%2FmetricsGPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saswatamcode","download_url":"https://codeload.github.com/saswatamcode/metricsGPT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248596420,"owners_count":21130700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["llms","metrics","ollama","prometheus","python","thanos"],"created_at":"2024-10-13T18:53:17.394Z","updated_at":"2025-04-12T16:30:51.397Z","avatar_url":"https://github.com/saswatamcode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# metricsGPT\n\nTalk to your metrics.\n\n\u003cimg src=\"./demo.png\" alt=\"Demo\" width=\"800\" style=\"max-width: 100%;\" /\u003e\n\n\u003e [!NOTE]\n\u003e\n\u003e This is a work in progress with no API guarantees. The current implementation needs work on scalability.\n\u003e Right now it will cause quite some load on your Prometheus API and take a while.\n\n## Installation\n\nEnsure you have Python 3.12+ and Node v20+ locally .\n\nBy default this tool uses [`llama3`](https://ollama.com/library/llama3) and [`nomic-embed-text`](https://ollama.com/library/nomic-embed-text).\n\n```bash\nollama pull llama3\nollama pull nomic-embed-text\n```\n\nHave some prometheus up and running. You can use `make run-prom` to get one running in docker that scrapes itself.\n\nYou can choose to grab the CLI from https://pypi.org/project/metricsgpt/\n```bash\npip3 install metricsgpt\nmetricsGPT --server --config=config.yaml\n```\n\nIf building locally you can use Poetry,\n```bash\npoetry install\npoetry run metricsGPT --server --config=config.yaml\n```\n\nand visit localhost:8081!\n\n## Configuration\n\nEdit [config.yaml](./config.yaml) to suit your own models/Prometheus/Thanos setups.\n\n```yaml\n# Prometheus Configuration\nprometheus_url: \"http://localhost:9090\"\n# prometheus_auth:\n#   # Basic authentication\n#   basic_auth:\n#     username: \"your_username\"\n#     password: \"your_password\"\n  \n#   # Or Bearer token\n#   bearer_token: \"your_token\"\n  \n#   # Or custom headers\n#   custom_headers:\n#     Authorization: \"Custom your_auth_header\"\n#     X-Custom-Header: \"custom_value\"\n  \n#   # TLS/SSL configuration\n#   tls:\n#     cert_file: \"/path/to/cert.pem\"\n#     key_file: \"/path/to/key.pem\"\n#     skip_verify: false  # Set to true to skip \n\nprom_external_url: null  # Optional external URL for links in the UI\nquery_lookback_hours: 1.0\n\n# Storage Configuration\nvectordb_path: \"./data.db\"\nseries_cache_file: \"./series_cache.json\"\n\n# Server Configuration\nrefresh_interval: 900  # VectorDB Refresh interval in seconds \nserver_host: \"0.0.0.0\"\nserver_port: 8081\n\n# LLM Configuration\nllm:\n  provider: \"ollama\"\n  model: \"llama3.1\"\n\nembedding:\n  provider: \"ollama\"  # or \"openai\"\n  model: \"nomic-embed-text\"\n  dimension: 768 # optional, defaults to this dimension\n\n# For Azure OpenAI embeddings:\n#embedding:\n#  provider: \"azure\"\n#  model: \"text-embedding-ada-002\"\n#  deployment_name: \"your-embedding-deployment\"\n#  api_key: \"your-api-key\"\n#  endpoint: \"your-azure-endpoint\"\n#  api_version: \"2023-05-15\"  \n#  dimension: \"dimensions of model\"\n\n# For Watson embeddings:\n#embedding:\n#  provider: \"watsonx\"\n#  api_key: \"your-api-key\"\n#  project_id: \"your-project-id\"\n#  model_id: \"google/flan-ul2\"  # optional, defaults to this model\n#  dimension: \"dimensions of model\"\n\n# For OpenAI embeddings:\n#embedding:\n#  provider: \"openai\"\n#  model: \"text-embedding-ada-002\"\n#  api_key: \"your-api-key\"\n#  dimension: \"dimensions of model\"\n\n# Example configurations for different providers:\n\n# For OpenAI:\n#llm:\n#  provider: \"openai\"\n#  model: \"gpt-4\"\n#  api_key: \"your-api-key\"\n\n# For Ollama:\n#llm:\n#  provider: \"ollama\"\n#  model: \"metricsGPT\"\n#  timeout: 120.0\n\n# For Azure:\n#llm:\n#  provider: \"azure\"\n#  model: \"gpt-4\"\n#  deployment_name: \"your-deployment\"\n#  api_key: \"your-api-key\"\n#  endpoint: \"your-azure-endpoint\"\n\n# For Gemini:\n#llm:\n#  provider: \"gemini\"\n#  model: \"gemini-pro\"\n#  api_key: \"your-api-key\"\n\n# For WatsonX:\n#llm:\n#  provider: \"watsonx\"\n#  api_key: \"your-api-key\"\n#  project_id: \"your-project-id\"\n#  model_id: \"your-model-id\"\n```\n\n## TODOs:\n- Much more efficient vectorDB ops\n- Use other Prom HTTP APIs for more context\n- Range queries\n- Visualize\n- Embed query results for better analysis\n- Process alerts","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaswatamcode%2Fmetricsgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaswatamcode%2Fmetricsgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaswatamcode%2Fmetricsgpt/lists"}