"Configure direct LLM, embedding, and model-provider access for
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill llm-provider-config --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Llm Provider Config?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-llm-provider-config)More formats (shields.io, HTML) on the badges page.
---
name: llm-provider-config
description: "Configure direct LLM, embedding, and model-provider access for
Langroid agents without mixing in agent orchestration."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# llm-provider-config
Use this sub-skill when the task is to choose, build, validate, or troubleshoot Langroid LLM and embedding provider configuration. Stay at the provider-access layer: `OpenAIGPTConfig`, `OpenAIGPT`, `AzureConfig`, provider model strings, OpenAI-compatible `api_base` endpoints, API-key handling, HTTP clients, streaming/reasoning flags, and embedding config classes.
## Scope boundary
- Include direct LLM access, OpenAI-compatible bases, Azure, Gemini, LiteLLM proxy, LiteLLM adapter strings, Ollama/local servers, OpenRouter-style gateways, Portkey, LangDB, rotating API keys, cached clients, HTTP client config, and embedding provider configs.
- Exclude agent design, task loops, tool messages, function-calling workflows, and prompt orchestration; route those to `../agents-tasks-tools/SKILL.md`.
- Exclude RAG/vector-store wiring beyond selecting an embedding config; route retrieval or document-chat wiring to `../retrieval-doc-chat/SKILL.md`.
- Exclude MCP server/tool integration; route it to `../integrations-mcp-chainlit/SKILL.md`.
## Operating procedure
1. Identify whether the user needs an LLM config, an embedding config, or both.
2. Choose the smallest direct provider path before adding a proxy or gateway:
- native OpenAI or Azure when the deployment is actually OpenAI/Azure;
- provider prefix such as `gemini/`, `openrouter/`, `ollama/`, `vllm/`, `llamacpp/`, `langdb/`, or `portkey/` when Langroid has a first-class path;
- explicit `api_base` for a generic OpenAI-compatible endpoint;
- `litellm-proxy/` only for a deployed LiteLLM proxy server;
- `litellm/` only for the local LiteLLM adapter library.
3. Validate model string, API-key source, base URL shape, timeout/temperature/output-token settings, cache behavior, and optional HTTP-client needs before any generation call.
4. For embeddings, configure only the embedding provider and dimensions here; leave collection/index/vector-store construction to the retrieval sub-skill.
5. Use the bundled smoke script for no-network sanity checks when a config looks suspicious.
## Bundled references
- [Provider configuration](references/provider-config.md): LLM config fields, provider prefixes, Azure, gateway parameters, caching, HTTP clients, rotating credentials, and reasoning content.
- [Embedding configuration](references/embedding-config.md): OpenAI, Azure OpenAI, Gemini, LangDB, SentenceTransformer, FastEmbed, and llama.cpp-server embedding configs.
- [Model selection](references/model-selection.md): choosing strings/enums, direct vs proxy access, local-server forms, formatter suffixes, and environment-prefix pitfalls.
- [Troubleshooting](references/troubleshooting.md): missing keys, bad bases, Azure deployment names, Gemini/Vertex base handling, LiteLLM confusion, key rotation, client caching, and optional embedding dependencies.
## No-network smoke check
Run:
```bash
python scripts/provider_config_smoke.py
```
The script sanitizes provider environment variables for deterministic output, constructs representative provider and embedding configs, avoids `chat()`, `generate()`, and embedding calls, and falls back to a static source-derived check if optional runtime dependencies are not installed. Use `--help` for options.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!