Why "Local LLM Operation" Now
Cloud LLMs are easy and high-performance, but cost predictability, handling confidential data, latency (response delay), and API limits can become walls. That is why self-hosting—running a large language model (LLM) on hand or in your own environment—is drawing attention.
The appeal of local operation is broadly threefold.
- Don't send data outside: good affinity with RAG (retrieval-augmented generation) that handles internal documents and customer information
- Control cost: the more usage increases, the more advantageous it tends to be over metered billing
- Optimize to your liking: high freedom in model swapping, quantization, inference settings, and monitoring
In this article, centered on Ollama, which developers can touch quickly, and vLLM, a high-throughput inference server for production, we summarize the crux of operations that doesn't end at just "running it."
The Big Picture: Dividing Use Between Ollama and vLLM
Clarifying the roles first reduces confusion.
Ollama: The Shortest Route for Local Development and Prototyping
Ollama is a tool that handles model fetching, startup, and execution all together, and is strong for "just try it locally for now." It is easy to install on Mac/Windows/Linux, and model management is simple. It is handy when running a PoC within a team.
vLLM: An Inference Platform Strong at Production and High Load
vLLM is a server that, through inference optimization (especially PagedAttention), easily earns throughput on the same GPU. Many configurations can be provided as an OpenAI-compatible API, so migration on the app side is relatively easy. Its true worth emerges in cases of long-running operation, increasing concurrent requests, and team operation.
A recommended way of thinking
Start with Ollama for model selection then internal evaluation then, once requirements are fixed, vLLM for production—that goes smoothly.
Preparation: A Realistic Talk About Hardware and Model Selection
GPU/VRAM rough guide
For local LLMs, required resources change with "model size" and "quantization (lowering precision to lighten it)." A rough guide image is as follows.
- 7B–8B: realistic from about VRAM 6–10 GB with quantization (development/chat use)
- 13B–14B: VRAM 12–24 GB is safe (balance of quality and speed)
- 30B+: VRAM in the 48 GB class, or multiple GPUs in view (a serious inference platform)
Of course CPU inference is also possible, but perceived speed depends on the use. If used daily as an internal tool, GPU operation has less stress.
Be decisive: split models "by use"
People tend to chase an all-purpose model, but in operations, by-use is stable.
- Chat/summarization: a model good at general instruction following
- Code support: a model strong in code
- Internal QA: hits and misses are often decided by RAG design (search quality)
Further, if you emphasize "Japanese quality," comparing in advance with derivative models strong in Japanese or evaluation benchmarks (e.g., a Japanese QA set) saves trouble later.
Self-Hosting With Ollama: First, Run It Reliably on Hand
Basic usage (install to startup)
Ollama's appeal is that the flow of "pull a model and run it" is easy to understand. Since it can also run as a local API server, you can quickly move to a form where you call it from a frontend or work tool.
- Install Ollama
- Fetch (pull) the model you want to use
- Run it and verify operation
- Use it as an API (call from internal tools)
Points that matter in operations: model management (Modelfile)
In Ollama you can customize model settings and manage prompt prefaces, templates, and inference parameters. In team operation, making this "the same quality no matter who uses it" is important.
- system prompt: fix internal rules (no confidential info, output format)
- temperature: lower if you want to reduce variance (e.g., 0.2–0.5)
- max tokens: don't let it talk infinitely (countermeasure for cost and wait time)
Cautions when using Ollama "as a team"
The stage of running it on a dev machine is easy, but issues emerge once multiple people start using it.
- Device differences: experience changes with presence/absence of GPU and VRAM differences
- Model version drift: behavior can change subtly by pull timing
- Log management: who threw what (especially confidential) tends to become a black box
Once you pass this phase, it is natural to lean toward "server operation" such as the next vLLM.
Self-Hosting With vLLM: Building a Production Inference Server
vLLM's strength: concurrency and throughput
vLLM is unlikely to fall over even as concurrent requests increase, and since batching and memory management work, you can use one GPU well. There is a sense of security in situations like publishing a chatbot internally or using it from multiple apps.
Provide as an OpenAI-compatible API
Depending on configuration, vLLM can prepare an OpenAI-compatible endpoint. Even if an existing app assumes the OpenAI SDK, the switching cost can be lowered, which is welcome.
- Few changes on the app side (mainly replacing URL and key management)
- Easy to roll out horizontally as a shared internal LLM platform
- Easy to combine with a gateway (authentication, rate limiting)
Settings to watch in production operation (roughly)
What matters in operations is the landing point of "speed," "stability," and "quality."
- Context length: longer is convenient but eats memory
- Concurrency: raising it too much increases timeouts. Adjust together with the SLO (target response time)
- Quantization: a trade-off of speed, VRAM, and quality. Start small and verify first
- Timeout: decide an upper limit assuming cases where generation drags on
The Crux of Operational Design: Where Self-Hosting Really Gets You in Trouble
1) Observability: with LLMs it is hard to chase "why it got slow"
Not just CPU and memory—you can't grasp the cause without looking at GPU utilization, VRAM, queue wait, and token generation speed (tokens/sec).
- Recommended metrics: P50/P95 latency, concurrent request count, tokens/sec, GPU utilization, VRAM usage
- Visualization: Prometheus + Grafana is standard
2) Logs: balancing confidentiality and debugging
Prompt logs help debugging, but it is dangerous if internal documents remain as-is.
- The option of not storing the original text (metadata only, hashed)
- If storing, masking (email, phone, customer ID)
- Clarify access rights and retention period (e.g., auto-delete in 7 days)
3) Safety: don't leave guardrails "to the model"
Even with a local model, there are risks of dangerous instructions and confidential output.
- Input filter: detecting confidential words and prohibited acts
- Output inspection: blocking PII (personal info)-like output
- Permission design: separate the knowledge each department can reference (RAG access control)
4) If combining with RAG, "search is 80%"
A common pitfall in internal-data use is sinking into a swamp trying to make the model stronger. In practice, much of answer quality is decided by the retriever and document preparation.
- Vector DB: Qdrant / Milvus / Weaviate, etc.
- Embedding: look at the balance of Japanese performance and speed
- Chunk design: too small loses context, too large increases noise
First, always showing "which part of the PDF / internal wiki the answer was drawn from" raises the field's sense of conviction.
Common Configuration Examples: From a Small Start to Production
Configuration A: individual to small team (shortest)
- Inference: Ollama (each person's PC)
- App: a simple local UI or CLI
- Use: model comparison, prompt verification, support for a small number of people
Configuration B: shared within a department (realistic answer)
- Inference: vLLM (one internal GPU server)
- Gateway: Nginx / Traefik (authentication, rate limiting)
- Monitoring: Prometheus + Grafana
- Use: internal chat, RAG, common use from multiple tools
Configuration C: company-wide platform (scale)
- Inference: vLLM (multiple GPUs/multiple nodes, consider autoscaling)
- Authentication: SSO integration, audit logs
- Safety: input/output filters, DLP integration
- Use: business-system integration, product embedding
Adoption Checklist (Hold Just These for Peace of Mind)
- Purpose: which is the main battlefield—chat, summarization, code, RAG?
- SLO: decide a P95 latency target (e.g., 5–10 seconds)
- Model and quantization: quality testing (even 10–30 questions is effective)
- Monitoring: visualize tokens/sec, queue wait, GPU/VRAM
- Log policy: store or not, masking, retention period
- Safety: prepare access control and guardrails on the app side too
Summary: Local Operation Is "Free," but It's Strong When You Build an Operational Template
Ollama raises the speed of trial and error, and vLLM supports stable operation in production. Since local LLMs have high freedom, leaving them alone tends to produce environment and quality differences, so the success pattern is to turn model, settings, evaluation, and monitoring into a "template" as a set.
Start small at first, and once you see how it is used, lean toward vLLM. Such a phased approach is the most reasonable and most sustainable.



