Skip to main content

Python SDK for Omai VLX API

Project description

omai-client Python SDK

这是 Omai VLX Python SDK,当前覆盖 VLX 相关接口:

  • vlx_seek:VLX-Seek 多模态同步调用
  • vlx_flow_stream:创建 VLX 流式任务并消费原始 SSE 事件
  • vlx_flow_stream_message:创建 VLX 流式任务并消费业务消息
  • vlx_flow_stream_raw:返回原始流式响应
  • vlx_flow_stop:停止 VLX 流式任务
  • vlx_flow_update_config:更新 VLX 流式任务配置

安装 tar.gz

pip install ./dist/omai-1.0.0.tar.gz

单文件验证

如果只是临时验证,可以直接把 dist_single/vlx_api_client.py 放到业务项目里:

from vlx_api_client import VlxApiClient, VlxSeekRequest, VlxSeekMessage, VlxSeekContent

单文件版和包版本共用同一份核心代码。真实 HTTP 请求依赖 requests

pip install requests

环境变量配置

Python SDK 推荐使用环境变量:

export VLX_API_ENABLED=true
export VLX_API_ENDPOINT=http://linker-gateway-service:31003/
export VLX_API_KEY=aaas_xxx
export VLX_API_CONNECT_TIMEOUT_MS=60000
export VLX_API_READ_TIMEOUT_MS=60000
export VLX_API_WRITE_TIMEOUT_MS=60000
export VLX_API_STREAM_READ_TIMEOUT_MS=0
export VLX_API_CLIENT_NUM=2048

VLX_API_STREAM_READ_TIMEOUT_MS=0 表示流式接口不启用读超时,适合 12/24 小时 SSE 长连接。

VLX-Seek 示例

from omai_client import (
    VlxApiClient,
    VlxSeekContent,
    VlxSeekImageUrl,
    VlxSeekMessage,
    VlxSeekRequest,
)

client = VlxApiClient.from_env()

request = VlxSeekRequest(
    model="VLX-Seek",
    messages=[
        VlxSeekMessage(
            role="user",
            content=[
                VlxSeekContent(type="text", text="请描述图片内容"),
                VlxSeekContent(
                    type="image_url",
                    image_url=VlxSeekImageUrl(url="https://example.com/a.jpg"),
                ),
            ],
        )
    ],
    max_tokens=512,
    temperature=0.2,
)

response = client.vlx_seek(request)
print(response.choices[0].message.content)

流式消息示例

from omai_client import VlxApiClient, VlxFlowSource, VlxFlowStreamRequest


class Handler:
    def on_event(self, message):
        print(message.event, message.content)

    def on_error(self, throwable):
        print("error:", throwable)

    def on_closed(self):
        print("closed")


client = VlxApiClient.from_env()
call = client.vlx_flow_stream_message(
    VlxFlowStreamRequest(
        source=VlxFlowSource(path="rtsp://camera", type=1),
        prompt="识别画面中的异常情况",
        frame_preempt="qa",
        model="VLX-Stream",
    ),
    Handler(),
)

# 需要停止本地 SSE 长连接时调用。
# call.cancel()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omai-1.0.0.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file omai-1.0.0.tar.gz.

File metadata

  • Download URL: omai-1.0.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for omai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8c865a444a3230c77b5a416e1125301bb98e185bbe458ba2e342798b7b606e15
MD5 81c6d1176c423660a6174d312134d6e4
BLAKE2b-256 ebf642340301665c16e10623ca0c2841699dc2dea68a51392589adc9576c1af5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page