Skip to content
View colinmcnamara's full-sized avatar
🤠
🤠

Highlights

  • Pro

Organizations

@sfbay-openstack @NexusIS

Block or report colinmcnamara

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
colinmcnamara/README.md

Colin McNamara

I'm exploring how mixtures of models can enhance human, system, and agentic cognition through semantic routing, as we augment ourselves with fleets of digital entities.

I'm currently deep-diving into codebases at the boundary of pure research and commercial implementation, from the data plane up. Much of that work entails making /v1/messages (Anthropic) a first-class citizen alongside /v1/chat/completions (OpenAI). In practice, that means finding bugs, fixing them upstream so every user gets the fix, and learning how it all works along the way. Austin, Texas.

  • Member of the Data Plane & Networking work group in vLLM Semantic Router
  • Run AIMUG, the AI Middleware Users Group: 2,200+ members, free monthly meetups in Austin and online
  • Field CTO at AHEAD, where I work with enterprise and hyperscale customers on AI infrastructure

Security

Project Advisory Severity Finding
vLLM Semantic Router GHSA-xr66-pq9r-2c8j High A naming collision in the Istio setup let a request with the right header skip the Router and its checks. Reported and fixed.

Merged upstream

Project PR Fix
vLLM Semantic Router #5150 Give a Chat client the Router's error frame however the stream is split
NVIDIA Switchyard #884 Return HTTP 502 for buffered Chat abort, error and repetition finish reasons
vLLM Semantic Router #4901 Accept vLLM's integer error code in Chat stream decoding
vLLM Semantic Router #4931 Decode a Chat target's opening delta immediately (co-author)
vLLM Semantic Router #4658 Decode Chat reasoning before the answer, so streamed Messages finish
vLLM Semantic Router #4539 Accept vLLM Chat stop_reason strings over 128 bytes
vLLM Semantic Router #4391 Keep vLLM's matched stop sequence for Anthropic clients
vLLM Semantic Router #4266 Hold the full-duplex header reply until the body is routed
vLLM #55325 Set stop_sequence in the streaming message_delta event

All my PRs in these projects, merged and in review

Projects

  • gh-upstream-watch: read-only alerts for upstream work that name the next action when a maintainer gate, a competing PR or a review moves. On PyPI.
  • two-routers-one-loop: reproducible tests for two routing decisions in one Kubernetes gateway path: vLLM Semantic Router picks the model, llm-d's endpoint picker picks the pod.
  • jev-first-look: scripts and raw results from a first hands-on look at TypeSafe AI's Jev decision model.

Talks and writing

Pinned Loading

  1. vllm-project/semantic-router vllm-project/semantic-router Public

    An open, programmable decision layer for models and compute.

    Go 6.4k 1.1k

  2. vllm-project/vllm vllm-project/vllm Public

    A high-throughput and memory-efficient inference and serving engine for LLMs

    Python 96.3k 24.4k

  3. NVIDIA-NeMo/Switchyard NVIDIA-NeMo/Switchyard Public

    Switchyard lets LLM applications route traffic across models and providers while preserving native OpenAI and Anthropic API compatibility - enabling flexible model selection, benchmarking, and cost…

    Rust 3.5k 354

  4. gh-upstream-watch gh-upstream-watch Public

    Read-only alerts for your upstream work: the next action when a maintainer gate, competing PR, or review moves

    Python

  5. aimug-org/austin_langchain aimug-org/austin_langchain Public

    Austin LangChain

    Jupyter Notebook 100 27

  6. two-routers-one-loop two-routers-one-loop Public

    Reproducible tests for two routing decisions in one Kubernetes gateway path: vLLM Semantic Router picks the model, llm-d's endpoint picker picks the pod

    Shell