Taalas API v1 (OpenAI-compatible)

OpenAI-compatible inference surface served under /v1 on api.taalas.com, so existing OpenAI client libraries can be pointed at Taalas hardcore-model silicon by changing the base URL. Exposes /v1/models, /v1/completions and /v1/chat/completions with the familiar model, messages, temperature, top_p, stop, max_tokens, logit_bias, tools and stream_options parameters, plus multimodal text/image message content and function-calling tool definitions.

OpenAPI Specification

taalas-inference-v1-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Taalas API — v1
  description: Taalas API interface for running inference against the HC1 harcore model silicon.
  version: 1.0.0
servers:
- url: /v1
paths:
  /models:
    get:
      tags:
      - Models
      summary: Models
      description: Endpoint to get the model info of server.
      operationId: models_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /completions:
    post:
      tags:
      - Inference
      summary: Completions
      description: Generate text based on the input prompt.
      operationId: completions_completions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V1CompletionsRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /chat/completions:
    post:
      tags:
      - Inference
      summary: Chat Completions
      description: Generate text based on the input prompt.
      operationId: chat_completions_chat_completions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V1ChatCompletionsRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    FunctionDefinition:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        parameters:
          anyOf:
          - $ref: '#/components/schemas/ParametersDefinition'
          - type: 'null'
      type: object
      title: FunctionDefinition
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ImageContent:
      properties:
        type:
          type: string
          title: Type
          default: image_url
        image_url:
          additionalProperties:
            type: string
          type: object
          title: Image Url
      type: object
      required:
      - image_url
      title: ImageContent
    Message:
      properties:
        role:
          type: string
          title: Role
        content:
          anyOf:
          - type: string
          - items:
              anyOf:
              - $ref: '#/components/schemas/TextContent'
              - $ref: '#/components/schemas/ImageContent'
              - type: object
            type: array
          title: Content
      type: object
      required:
      - role
      title: Message
    ParametersDefinition:
      properties:
        type:
          type: string
          title: Type
          default: object
        description:
          type: string
          title: Description
          default: ''
        properties:
          anyOf:
          - type: object
          - type: 'null'
          title: Properties
        required:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required
      type: object
      title: ParametersDefinition
    StreamOptions:
      properties:
        include_usage:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Include Usage
          default: false
        include_obfuscation:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Include Obfuscation
          default: false
      type: object
      title: StreamOptions
    TextContent:
      properties:
        type:
          type: string
          title: Type
          default: text
        text:
          type: string
          title: Text
      type: object
      required:
      - text
      title: TextContent
    Tool:
      properties:
        type:
          type: string
          title: Type
          default: function
        function:
          anyOf:
          - $ref: '#/components/schemas/FunctionDefinition'
          - type: 'null'
      type: object
      title: Tool
    V1ChatCompletionsRequest:
      properties:
        model:
          type: string
          title: Model
        messages:
          items:
            $ref: '#/components/schemas/Message'
          type: array
          title: Messages
        temperature:
          type: number
          maximum: 2.0
          minimum: 0.0
          title: Temperature
          default: 1
        top_p:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Top P
          default: 1
        n:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: N
          default: 1
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Stream
          default: false
        stop:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          - type: 'null'
          title: Stop
        max_tokens:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Max Tokens
          default: 0
        max_completion_tokens:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Max Completion Tokens
          default: 0
        presence_penalty:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: -2.0
          - type: 'null'
          title: Presence Penalty
        frequency_penalty:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: -2.0
          - type: 'null'
          title: Frequency Penalty
        logit_bias:
          anyOf:
          - additionalProperties:
              type: number
            type: object
          - type: 'null'
          title: Logit Bias
        user:
          anyOf:
          - type: string
          - type: 'null'
          title: User
        tools:
          anyOf:
          - items:
              $ref: '#/components/schemas/Tool'
            type: array
          - type: 'null'
          title: Tools
        tool_choice:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Choice
        logprobs:
          type: boolean
          title: Logprobs
          default: false
        top_logprobs:
          type: integer
          maximum: 20.0
          minimum: 0.0
          title: Top Logprobs
          default: 0
        stream_options:
          anyOf:
          - $ref: '#/components/schemas/StreamOptions'
          - type: 'null'
        ignore_eos:
          type: boolean
          title: Ignore Eos
          default: false
      additionalProperties: true
      type: object
      required:
      - model
      title: V1ChatCompletionsRequest
    V1CompletionsRequest:
      properties:
        model:
          type: string
          title: Model
        prompt:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - items:
              type: integer
            type: array
          - items:
              items:
                type: integer
              type: array
            type: array
          title: Prompt
        stream:
          type: boolean
          title: Stream
          default: false
        echo:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Echo
          default: false
        max_tokens:
          type: integer
          minimum: 0.0
          title: Max Tokens
          default: 0
        stream_options:
          anyOf:
          - $ref: '#/components/schemas/StreamOptions'
          - type: 'null'
        logprobs:
          anyOf:
          - type: integer
            maximum: 5.0
            minimum: 0.0
          - type: 'null'
          title: Logprobs
        temperature:
          type: number
          maximum: 2.0
          minimum: 0.0
          title: Temperature
          default: 1
        stop:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          - type: 'null'
          title: Stop
        top_p:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Top P
          default: 1.0
        ignore_eos:
          type: boolean
          title: Ignore Eos
          default: false
      additionalProperties: true
      type: object
      required:
      - model
      - prompt
      title: V1CompletionsRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError