ReqLLM.Providers.Alibaba
(ReqLLM v1.9.0)
View Source
Alibaba Cloud Bailian (DashScope) provider – international endpoint.
OpenAI-compatible Chat Completions API for Qwen family models via DashScope.
Implementation
Uses built-in OpenAI-style encoding/decoding defaults with DashScope-specific extensions for search, thinking/reasoning, and vision parameters.
DashScope-Specific Extensions
Beyond standard OpenAI parameters, DashScope supports provider-specific options as top-level body keys:
enable_search- Enable internet search integrationsearch_options- Search configuration (strategy, source citation)enable_thinking- Activate deep thinking mode for hybrid reasoningthinking_budget- Maximum token length for thinking processtop_k- Candidate token pool size for samplingrepetition_penalty- Penalise repeated tokensenable_code_interpreter- Activate code executionvl_high_resolution_images- Increase vision input pixel limitincremental_output- Streaming: send incremental chunks only
See provider_schema/0 for the complete DashScope-specific schema and
ReqLLM.Provider.Options for inherited OpenAI parameters.
Configuration
# Add to .env file (automatically loaded)
DASHSCOPE_API_KEY=your-api-keyExamples
# Basic usage
ReqLLM.generate_text("alibaba:qwen-plus", "Hello!")
# With search enabled
ReqLLM.generate_text("alibaba:qwen-plus", "What happened today?",
provider_options: [enable_search: true]
)
# With thinking mode
ReqLLM.generate_text("alibaba:qwen-plus", "Solve this step by step",
provider_options: [enable_thinking: true, thinking_budget: 4096]
)
Summary
Functions
Default implementation of attach/3.
Default implementation of attach_stream/4.
Default implementation of build_body/1.
Default implementation of decode_response/1.
Default implementation of decode_stream_event/2.
Callback implementation for ReqLLM.Provider.default_env_key/0.
Default implementation of encode_body/1.
Default implementation of extract_usage/2.
Default implementation of prepare_request/4.
Default implementation of translate_options/3.
Functions
Default implementation of attach/3.
Sets up Bearer token authentication and standard pipeline steps.
Default implementation of attach_stream/4.
Builds complete streaming requests using OpenAI-compatible format.
Default implementation of build_body/1.
Builds request body using OpenAI-compatible format for chat and embedding operations.
Default implementation of decode_response/1.
Handles success/error responses with standard ReqLLM.Response creation.
Default implementation of decode_stream_event/2.
Decodes SSE events using OpenAI-compatible format.
Callback implementation for ReqLLM.Provider.default_env_key/0.
Default implementation of encode_body/1.
Encodes request body using OpenAI-compatible format for chat and embedding operations.
Default implementation of extract_usage/2.
Extracts usage data from standard usage field in response body.
Default implementation of prepare_request/4.
Handles :chat, :object, and :embedding operations using OpenAI-compatible patterns.
Default implementation of translate_options/3.
Pass-through implementation that returns options unchanged.