LLM provider initialization for bridgic projects. Use when: (1) initializing OpenAILlm, OpenAILikeLlm, or VllmServerLlm, (2) configuring OpenAIConfiguration (model, temperature, max_tokens, timeout), (3) choosing the right provider package for a task, (4) using chat/stream interfaces or advanced protocols (StructuredOutput, ToolSelection).
Scanned 5/27/2026
Install via CLI
openskills install bitsky-tech/bridgic---
name: bridgic-llms
description: |
LLM provider initialization for bridgic projects. Use when: (1) initializing
OpenAILlm, OpenAILikeLlm, or VllmServerLlm, (2) configuring OpenAIConfiguration
(model, temperature, max_tokens, timeout), (3) choosing the right provider package
for a task, (4) using chat/stream interfaces or advanced protocols (StructuredOutput,
ToolSelection).
---
# Bridgic LLMs
Model-neutral LLM integration with protocol-driven capability declaration.
## Dependencies
| Package | `BaseLlm` | `StructuredOutput` | `ToolSelection` |
|---------|:---------:|:------------------:|:---------------:|
| `bridgic-llms-openai` | yes | yes | yes |
| `bridgic-llms-openai-like` | yes | no | no |
| `bridgic-llms-vllm` | yes | yes | yes |
| `python-dotenv` | — | — | — |
Install only the LLM provider package you need. `python-dotenv` is required for loading `.env` configuration.
**Installation**: Run the install script to set up all dependencies:
```bash
bash "skills/bridgic-llms/scripts/install-deps.sh" "$PWD" [PROVIDER]
```
Supported providers: `openai` (default), `openai-like`, `vllm`. The script checks uv availability, initializes a uv project if needed, installs any missing packages via `uv add`, and runs `uv sync` to finalize the environment. When it exits successfully the project is fully initialized and ready to use — no manual `uv add` / `uv sync` follow-up is required.
## Quick Start
```python
import os
from dotenv import load_dotenv
from bridgic.llms.openai import OpenAILlm, OpenAIConfiguration
load_dotenv()
llm = OpenAILlm(
api_key=os.environ.get("LLM_API_KEY"),
api_base=os.environ.get("LLM_API_BASE"),
configuration=OpenAIConfiguration(
model=os.environ.get("LLM_MODEL", "gpt-4o"),
temperature=0.0,
max_tokens=16384,
),
timeout=180.0,
)
```
## Provider Selection Guide
| Provider | When to Use |
|----------|-------------|
| `OpenAILlm` | Production use, need structured output or tool calling. Works with OpenAI API. |
| `OpenAILikeLlm` | Third-party OpenAI-compatible APIs (DashScope, etc.), only need basic chat/stream. |
| `VllmServerLlm` | Self-hosted vLLM inference server, full capability. |
**Common pitfall**: Do NOT use `OpenAILikeLlm` when you need structured output or tool selection — it does not implement those protocols. Use `OpenAILlm` instead.
## Basic Interfaces
All providers implement `BaseLlm`:
```python
from bridgic.core.model.types import Message, Role
messages = [
Message.from_text("You are a helpful assistant.", role=Role.SYSTEM),
Message.from_text("Hello!", role=Role.USER),
]
# Chat — complete response
response = llm.chat(messages=messages, model="gpt-4o", temperature=0.7)
print(response.message.content)
# Stream — real-time chunks
for chunk in llm.stream(messages=messages, model="gpt-4o"):
print(chunk.delta, end="", flush=True)
```
## Advanced Protocols
See [references/llm-integration.md](references/llm-integration.md) for:
- `StructuredOutput` — generate Pydantic model instances or JSON schema conformant output
- `ToolSelection` — function/tool calling with Tool definitions
- Full code examples for all providers
## Reference Files
| Scenario | Load |
|----------|------|
| Full API details, all providers, advanced protocols | [llm-integration.md](references/llm-integration.md) |
No comments yet. Be the first to comment!