Salesforce/codegen-16B-mono cover image

Salesforce/codegen-16B-mono

CodeGen is a family of autoregressive language models for program synthesis, trained on a Python programming language dataset. The models are capable of extracting features from given natural language and programming language texts, and calculating the likelihood of them. They are intended for and best at program synthesis, that is, generating executable code given English prompts. The evaluation results show that CodeGen achieves state-of-the-art performance on two code generation benchmarks, HumanEval and MTPB.

CodeGen is a family of autoregressive language models for program synthesis, trained on a Python programming language dataset. The models are capable of extracting features from given natural language and programming language texts, and calculating the likelihood of them. They are intended for and best at program synthesis, that is, generating executable code given English prompts. The evaluation results show that CodeGen achieves state-of-the-art performance on two code generation benchmarks, HumanEval and MTPB.

Public
$0.0005 / sec
2k

HTTP/cURL API

You can use cURL or any other http client to run inferences:

curl -X POST \
    -d '{"input": "I have this dream"}'  \
    -H "Authorization: bearer $(deepctl auth token)"  \
    -H 'Content-Type: application/json'  \
    'https://api.deepinfra.com/v1/inference/Salesforce/codegen-16B-mono'

which will give you back something similar to:

{
  "results": [
    {
      "generated_text": "I have this dream about the day I got a job at a tech company. I just woke up on a plane. I sat down on the floor and started getting work done. After getting up around 6 p.m., I looked around and"
    }
  ],
  "num_tokens": 42,
  "num_input_tokens": 100,
  "request_id": null,
  "inference_status": {
    "status": "unknown",
    "runtime_ms": 0,
    "cost": 0.0,
    "tokens_generated": 0,
    "tokens_input": 0
  }
}

Input fields

inputstring

text to generate from


max_new_tokensinteger

maximum length of the newly generated generated text.If not set or None defaults to model's max context length minus input length.

Default value: 512

Range: 1 ≤ max_new_tokens ≤ 100000


temperaturenumber

temperature to use for sampling. 0 means the output is deterministic. Values greater than 1 encourage more diversity

Default value: 0.7

Range: 0 ≤ temperature ≤ 100


top_pnumber

Sample from the set of tokens with highest probability such that sum of probabilies is higher than p. Lower values focus on the most probable tokens.Higher values sample more low-probability tokens

Default value: 0.9

Range: 0 < top_p ≤ 1


top_kinteger

Sample from the best k (number of) tokens. 0 means off

Default value: 0

Range: 0 ≤ top_k < 100000


repetition_penaltynumber

repetition penalty. Value of 1 means no penalty, values greater than 1 discourage repetition, smaller than 1 encourage repetition.

Default value: 1

Range: 0.01 ≤ repetition_penalty ≤ 5


stoparray

Up to 16 strings that will terminate generation immediately


num_responsesinteger

Number of output sequences to return. Incompatible with streaming

Default value: 1

Range: 1 ≤ num_responses ≤ 2


response_formatobject

Optional nested object with "type" set to "json_object"

Default value: [object Object]


presence_penaltynumber

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.

Default value: 0

Range: -2 ≤ presence_penalty ≤ 2


frequency_penaltynumber

Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model's likelihood to talk about new topics.

Default value: 0

Range: -2 ≤ frequency_penalty ≤ 2


webhookfile

The webhook to call when inference is done, by default you will get the output in the response of your inference request


streamboolean

Whether to stream tokens, by default it will be false, currently only supported for Llama 2 text generation models, token by token updates will be sent over SSE

Default value: false

Input Schema

Output Schema