Skip to content

LLM integration (DashScope compatible)

Bailian OpenAI-compatible docs

https://bailian.console.aliyun.com/?spm=5176.29619931.J_PvCec88exbQTi-U433Fxg.4.74cd405ftXI7do&tab=api#/api/?type=model&url=2712576

Sample request

bash
curl -X POST https://XXXXX/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "Who are you?"
        }
    ]
}'

Images / vision

Glass3 delivers images as Base64. Swap in your encoded payload via
"image_url": {"url": "data:image/png;base64,{base64_image}"}.

bash
curl -X POST https://XXXXX/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
  "model": "qwen-vl-plus",
  "messages": [{
      "role": "user",
      "content": [
       {"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
       {"type": "text","text": "Describe this"}
       ]}]
}'

Supports inline Base64 URLs:

"image_url": {"url": "data:image/png;base64,{base64_image}"}

Response modes

Glass3 defaults to streaming chunks—keep your client on streaming mode for parity.

Non-streaming sample

json
{
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "I am Tongyi Qianwen ..."
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    ...
}

Streaming responses arrive as chunked chat.completion.chunk objects (omit non-stream payloads when wiring SSE parsers).