Completions

post/v1/completions

Headers

X-Amz-Cf-Idstring nullable
CF-RAYstring nullable
X-delay-timenumber nullable

Request body

best_ofinteger nullable

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token). Results cannot be streamed. When used with n, best_of controls the number of candidate completions and n specifies how many to return – best_of must be greater than n. Note: Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop

echoboolean nullable

Echo back the prompt in addition to the completion

frequency_penaltynumber nullable

Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.

grammar_rootstring nullable

The grammar root used for structured output generation.

logit_biasobject nullable

Modify the likelihood of specified tokens appearing in the completion.

Accepts a JSON object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.

logprobsinteger nullable

Include the log probabilities on the logprobs most likely output tokens, as well the chosen tokens. For example, if logprobs is 5, the API will return a list of the 5 most likely tokens. The API will always return the logprob of the sampled token, so there may be up to logprobs+1 elements in the response.

max_tokensinteger nullable

The maximum number of tokens that can be generated in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length.

min_tokensinteger nullable

The minimum number of tokens to generate for a completion. If not specified or set to 0, the model will generate as many tokens as it deems necessary. Setting to -1 sets to max sequence length.

modelstring required
ninteger nullable

How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs.

presence_penaltynumber nullable

Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.

prompt_cache_keystring nullable

An optional opaque string. The requests with the same prompt cache key would highly likely share the same prompt prefixes. Examples would be IDs of chat conversations, IDs of users, the hashes of system prompts, etc.

reasoning_format'none' | 'parsed' | 'text_parsed' | 'raw' | 'hidden'
return_raw_tokensboolean nullable

Return raw tokens instead of text

seedinteger nullable

If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed.

streamboolean nullable
suffixstring nullable

The suffix that comes after a completion of inserted text. (OpenAI feature, not supported)

temperaturenumber nullable

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both.

top_pnumber nullable

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.

userstring nullable

A unique identifier representing your end-user, which can help Cerebras to monitor and detect abuse.

Example request

{
  "model": "llama3.1-70b",
  "prompt": "Micheael Jordan is born in ",
  "stream": true
}

Response

Successful Response

OR

Example response

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "text": "Generative AI is a subfield of artificial intelligence that focuses on generating new, original content, such as images, music, text, or videos. These models are trained on large datasets and learn to recognize patterns, relationships, and structures within the data, allowing them to generate new content that is similar in style, tone, or characteristics to the training data. \n \n Generative AI models can be categorized into two main types: Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs). GANs consist of two neural networks: a generator and a discriminator. The generator creates new content, while the discriminator evaluates the generated content and tells the generator whether it's realistic or not. VAEs are neural networks that learn to compress and reconstruct data. \n \n Generative AI has numerous applications across various industries, including art and design, content generation, data augmentation, and recommendation systems. Some examples of Generative AI in action include Deep Dream Generator, Amper Music, and DALL-E. \n \n In summary, Generative AI is a powerful technology that enables the creation of new, original content using machine learning models. It has the potential to revolutionize various industries and create new opportunities for artists, designers, and content creators."
    }
  ],
  "created": 1721088719,
  "id": "response_1721",
  "model": "llama3.1-8b",
  "object": "text_completion",
  "system_fingerprint": "88719",
  "time_info": {
    "completion_time": 0.44,
    "prompt_time": 0.02,
    "queue_time": 0,
    "total_time": 0.46
  },
  "usage": {
    "completion_tokens": 1020,
    "prompt_tokens": 40,
    "total_tokens": 1060
  }
}

Changes

Changed in 1 of the 51 revisions of this API.11518

  • 130749c46caf11518See the full diff
    • removed subschema #3 subschema #4 from the prompt request property anyOf list

      request-property-any-of-removed

    • removed the enum value hidden of the request property reasoning_format

      request-property-enum-value-removed

    • removed the enum value none of the request property reasoning_format

      request-property-enum-value-removed

    • removed the enum value parsed of the request property reasoning_format

      request-property-enum-value-removed

    • removed the enum value raw of the request property reasoning_format

      request-property-enum-value-removed

    • removed the enum value text_parsed of the request property reasoning_format

      request-property-enum-value-removed

    • the reasoning_format request property type/format changed from string/ to /

      request-property-type-changed

    • response property anyOf[subschema #1: CompletionResponse]/time_info/anyOf[subschema #1: TimeInfo]/completion_time list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property anyOf[subschema #1: CompletionResponse]/time_info/anyOf[subschema #1: TimeInfo]/prompt_time list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property anyOf[subschema #1: CompletionResponse]/time_info/anyOf[subschema #1: TimeInfo]/queue_time list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property anyOf[subschema #1: CompletionResponse]/time_info/anyOf[subschema #1: TimeInfo]/total_time list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • the max_tokens/anyOf[subschema #1]/ request property's min was set to -1.00

      request-property-min-set

    • the min_tokens/anyOf[subschema #1]/ request property's min was set to -1.00

      request-property-min-set

    • the n/anyOf[subschema #1]/ request property's min was set to 1.00

      request-property-min-set

    • removed the optional property anyOf[subschema #1: CompletionResponse]/choices/items/reasoning_logprobs from the response with the 200 status

      response-optional-property-removed

    • added the new tool_calls enum value to the anyOf[subschema #1: CompletionResponse]/choices/items/finish_reason/anyOf[subschema #1]/ response property for the response status 200

      response-property-enum-value-added

    • added the new optional request property prompt_cache_key

      new-optional-request-property

    • added the media type application/msgpack to the request body

      request-body-media-type-added

    • added the media type application/vnd.msgpack to the request body

      request-body-media-type-added

    • added the media type application/x-msgpack to the request body

      request-body-media-type-added

    • added ReasoningFormat subschema #2 to the reasoning_format request property anyOf list

      request-property-any-of-added

    • added subschema #3 subschema #4 to the prompt request property anyOf list

      request-property-any-of-added

    • the reasoning_format request property default value parsed was removed

      request-property-default-value-removed

    • request property reasoning_format deprecated

      request-property-deprecated

    • the temperature/anyOf[subschema #1]/ request property's max was increased from 1.50 to 2.00

      request-property-max-increased

    • removed CompletionChunkResponse from the response body anyOf list for the response status 200

      response-body-any-of-removed

    • added the optional property anyOf[subschema #1: CompletionResponse]/time_info/anyOf[subschema #1: TimeInfo]/created to the response with the 200 status

      response-optional-property-added

    • added the optional property anyOf[subschema #1: CompletionResponse]/usage/anyOf[subschema #1: Usage]/completion_tokens_details/anyOf[subschema #1: CompletionTokensDetails]/reasoning_tokens to the response with the 200 status

      response-optional-property-added

    • added the optional property anyOf[subschema #1: CompletionResponse]/usage/anyOf[subschema #1: Usage]/image_tokens to the response with the 200 status

      response-optional-property-added

    • the completion_time response's property default value 0 was removed for the status 200

      response-property-default-value-removed

    • the prompt_time response's property default value 0 was removed for the status 200

      response-property-default-value-removed

    • the queue_time response's property default value 0 was removed for the status 200

      response-property-default-value-removed

    • the total_time response's property default value 0 was removed for the status 200

      response-property-default-value-removed

    • removed the text_completion enum value from the anyOf[subschema #1: CompletionResponse]/object response property for the response status 200

      response-property-enum-value-removed

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 51 revisions, 49 have no diff computed.