llm
Qwen LLM service implementation using OpenAI-compatible interface.
- class pipecat.services.qwen.llm.QwenLLMSettings(model: str | None | _NotGiven = <factory>, extra: dict[str, Any]=<factory>, system_instruction: str | None | _NotGiven = <factory>, temperature: float | None | _NotGiven | NotGiven = <factory>, max_tokens: int | None | _NotGiven | NotGiven = <factory>, top_p: float | None | _NotGiven | NotGiven = <factory>, top_k: int | None | _NotGiven = <factory>, frequency_penalty: float | None | _NotGiven | NotGiven = <factory>, presence_penalty: float | None | _NotGiven | NotGiven = <factory>, seed: int | None | _NotGiven | NotGiven = <factory>, filter_incomplete_user_turns: bool | None | _NotGiven = <factory>, user_turn_completion_config: UserTurnCompletionConfig | None | _NotGiven = <factory>, max_completion_tokens: int | _NotGiven | NotGiven = <factory>)[source]
Bases:
OpenAILLMSettingsSettings for QwenLLMService.
- class pipecat.services.qwen.llm.QwenLLMService(*, api_key: str, base_url: str = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1', model: str | None = None, settings: QwenLLMSettings | None = None, **kwargs)[source]
Bases:
OpenAILLMServiceA service for interacting with Alibaba Cloud’s Qwen LLM API using the OpenAI-compatible interface.
This service extends OpenAILLMService to connect to Qwen’s API endpoint while maintaining full compatibility with OpenAI’s interface and functionality.
- supports_developer_role = False
Whether this service’s API supports the “developer” message role.
OpenAI’s native API supports it, but some OpenAI-compatible services (e.g. Cerebras) do not. Subclasses that don’t support it should set this to
False, which causes the adapter to convert “developer” messages to “user” messages before sending them to the API.
- Settings
alias of
QwenLLMSettings
- __init__(*, api_key: str, base_url: str = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1', model: str | None = None, settings: QwenLLMSettings | None = None, **kwargs)[source]
Initialize the Qwen LLM service.
- Parameters:
api_key – The API key for accessing Qwen’s API (DashScope API key).
base_url – Base URL for Qwen API. Defaults to “https://dashscope-intl.aliyuncs.com/compatible-mode/v1”.
model –
The model identifier to use. Defaults to “qwen-plus”.
Deprecated since version 0.0.105: Use
settings=QwenLLMService.Settings(model=...)instead.settings – Runtime-updatable settings. When provided alongside deprecated parameters,
settingsvalues take precedence.**kwargs – Additional keyword arguments passed to OpenAILLMService.
- create_client(api_key=None, base_url=None, **kwargs)[source]
Create OpenAI-compatible client for Qwen API endpoint.
- Parameters:
api_key – API key for authentication. If None, uses instance default.
base_url – Base URL for the API. If None, uses instance default.
**kwargs – Additional arguments passed to the parent client creation.
- Returns:
An OpenAI-compatible client configured for Qwen’s API.