{"id":46179310,"url":"https://github.com/jplane/otel-chat","last_synced_at":"2026-03-02T19:42:03.524Z","repository":{"id":334438718,"uuid":"1140896738","full_name":"jplane/otel-chat","owner":"jplane","description":"Out here chatting with your logs, traces, and metrics","archived":false,"fork":false,"pushed_at":"2026-01-24T19:51:56.000Z","size":58,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-25T07:50:23.327Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/jplane.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-23T22:34:51.000Z","updated_at":"2026-01-24T19:49:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jplane/otel-chat","commit_stats":null,"previous_names":["jplane/otel-chat"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/jplane/otel-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fotel-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fotel-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fotel-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fotel-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jplane","download_url":"https://codeload.github.com/jplane/otel-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fotel-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30016695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T17:00:27.440Z","status":"ssl_error","status_checked_at":"2026-03-02T17:00:03.402Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-03-02T19:42:02.229Z","updated_at":"2026-03-02T19:42:03.517Z","avatar_url":"https://github.com/jplane.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenTelemetry Vector Chat System\n\nCaptures OpenTelemetry logs, traces, and metrics, generates vector embeddings, stores them in Qdrant, and provides an LLM chat interface for natural language queries.\n\n## What It Does\n\n1. **LogisticsSim** - Generates sample telemetry from a simulated logistics system\n2. **VectorExporter** - Exports telemetry to Qdrant as vector embeddings via Azure OpenAI\n3. **TelemetryChat** - Chat interface for querying telemetry with natural language\n\n## Dev Container Setup\n\nOpen this repo in VS Code and select \"Reopen in Container\" when prompted. The dev container includes:\n- .NET 9.0 SDK\n- Qdrant vector database (runs as a sidecar service, no setup needed)\n- GitHub CLI, GitHub Copilot CLI, and Claude Code CLI\n\n### Qdrant Vector Database\n\nQdrant runs automatically as a Docker Compose service in the dev container. It stores vector embeddings for semantic search across telemetry data. Collections (`otel_logs`, `otel_traces`, `otel_metrics`) are created automatically when you first run LogisticsSim.\n\n### Authentication\n\nAfter the container starts, authenticate the CLI tools:\n\n**GitHub CLI** (required for GitHub Copilot):\n```bash\ngh auth login\n```\n\n**GitHub Copilot CLI**:\n```bash\ncopilot # then use /login\n```\n\n**Claude Code CLI** (optional):\n```bash\n# Ensure claude is in your PATH (already in .bashrc, but run if needed)\necho 'export PATH=\"$HOME/.local/bin:$PATH\"' \u003e\u003e ~/.bashrc \u0026\u0026 source ~/.bashrc\n\n# Authenticate\nclaude\n```\n\n### Azure OpenAI Configuration\n\nYou will need an OpenAI-compatible embedding model. The code assumes you're using one hosted in Azure.\n\nCreate local config files with your Azure OpenAI credentials:\n\n```bash\n# For LogisticsSim\ncat \u003e src/LogisticsSim/appsettings.local.json \u003c\u003cEOF\n{\n  \"AZURE_OPENAI_ENDPOINT\": \"https://your-resource.openai.azure.com/\",\n  \"AZURE_OPENAI_API_KEY\": \"your-api-key\"\n}\nEOF\n\n# For TelemetryChat\ncat \u003e src/TelemetryChat/appsettings.local.json \u003c\u003cEOF\n{\n  \"AZURE_OPENAI_ENDPOINT\": \"https://your-resource.openai.azure.com/\",\n  \"AZURE_OPENAI_API_KEY\": \"your-api-key\",\n  \"QDRANT_HOST\": \"qdrant\"\n}\nEOF\n```\n\n## Running the Demo\n\n**1. Generate telemetry data:**\n```bash\ncd src/LogisticsSim \u0026\u0026 dotnet run\n```\nLet it run for a minute to generate data, then `Ctrl+C` to stop.\n\n**2. Query the telemetry:**\n```bash\ncd src/TelemetryChat \u0026\u0026 dotnet run\n```\n\nExample queries:\n```\n\u003e /logs errors\n\u003e /logs errors within the last 30 minutes\n\u003e /traces slow database\n\u003e /metrics request duration\n\u003e /all performance issues\n```\n\n## Build and Test\n\n```bash\ndotnet build          # Build solution\ndotnet test           # Run tests\n```\n\n## Project Structure\n\n```\nsrc/\n├── VectorExporter/       # Core library - OTel exporters with vector embeddings\n├── VectorExporter.Tests/ # Unit tests\n├── TelemetryChat/        # Chat interface for querying telemetry\n└── LogisticsSim/         # Sample telemetry generator\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplane%2Fotel-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjplane%2Fotel-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplane%2Fotel-chat/lists"}