v1/completions接口
接口功能
提供文本/流式推理处理功能。
接口格式
操作类型:POST
URL:https://{ip}:{port}/v1/completions
{ip}和{port}请使用业务面的IP地址和端口号,即“ipAddress”和“port”。
请求参数
使用样例
请求样例:
POST https://{ip}:{port}/v1/completions
请求消息体:
- 流式推理:
1 2 3 4 5 6 7 8 9 10 11
{ "model": "Qwen2.5-7B-Instruct", "prompt": "who are you", "temperature": 1, "max_tokens": 5, "use_beam_search": true, "ignore_eos":true, "n": 2, "best_of":2, "stream": true, "logprobs": 2}
- 文本推理:
1 2 3 4 5 6 7 8 9 10
{ "model": "llama3-70b", "prompt": "who are you", "temperature": 1, "max_tokens": 5, "ignore_eos":true, "n": 2, "best_of":2, "stream": false, "logprobs": 2}
响应样例:
- 流式推理:
1 2 3
data: {"id":"endpoint_common_1","object":"text_completion","created":1744948803,"model":"Qwen2.5-7B-Instruct","choices":[{"index":0,"text":"\nI am a large","logprobs":{"text_offset":[0,1,2,5,7],"token_logprobs":[-1.8828125,-0.018310546875,-0.054931640625,-0.435546875,-0.0286865234375],"tokens":["\n","I"," am"," a"," large"],"top_logprobs":[{"\n":-1.8828125,"\n\n":-2.0},{"I":-0.018310546875,"Hello":-4.53125},{" am":-0.054931640625,"'m":-2.9375},{" a":-0.435546875," Q":-1.1875},{" large":-0.0286865234375," language":-4.78125}]},"stop_reason":null,"finish_reason":"length"},{"index":1,"text":"\n\nI am a large","logprobs":{"text_offset":[13,15,16,19,21],"token_logprobs":[-2.0,-0.031494140625,-0.0791015625,-0.5546875,-0.01092529296875],"tokens":["\n\n","I"," am"," a"," large"],"top_logprobs":[{"\n\n":-2.0,"\n":-1.8828125},{"I":-0.031494140625,"Hello":-4.28125},{" am":-0.0791015625,"'m":-2.578125},{" a":-0.5546875," Q":-1.0546875},{" large":-0.01092529296875," language":-6.375}]},"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":10,"total_tokens":13,"batch_size":[1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5496,146,65,60,111,42,27,70,64,51]}} data: [DONE]
- 文本推理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
{ "id": "endpoint_common_15", "object": "text_completion", "created": 1744039004, "model": "llama3-70b", "choices": [ { "index": 0, "text": "? who am I?", "logprobs": { "text_offset": [ 0, 1, 5, 8, 10 ], "token_logprobs": [ -0.5524268746376038, -4.017512321472168, -2.58241868019104, -1.5019290447235107, -0.00024381271214224398 ], "tokens": [ "?", " who", " am", " I", "?" ], "top_logprobs": [ { "?": -0.5524268746376038, "?”": -1.177426815032959 }, { " who": -4.017512321472168, "\")": -0.2675122320652008, " I": -2.455012321472168 }, { " am": -2.58241868019104, " are": -0.08241859823465347 }, { " I": -1.5019290447235107, " i": -0.25192904472351074 }, { "?": -0.00024381271214224398, "?\n": -8.750244140625 } ] }, "stop_reason": null, "finish_reason": "length" }, { "index": 1, "text": " to say that I am", "logprobs": { "text_offset": [ 11, 14, 18, 23, 25 ], "token_logprobs": [ -3.052426815032959, -2.0233054161071777, -0.043789759278297424, -0.5240938663482666, -0.008345582522451878 ], "tokens": [ " to", " say", " that", " I", " am" ], "top_logprobs": [ { " to": -3.052426815032959, "?": -0.5524268746376038, "?”": -1.177426815032959 }, { " say": -2.0233054161071777, " judge": -0.14830546081066132 }, { " that": -0.043789759278297424, " what": -3.168789863586426 }, { " I": -0.5240938663482666, "?": -1.1490938663482666 }, { " am": -0.008345582522451878, " can": -5.320845603942871 } ] }, "stop_reason": null, "finish_reason": "length" } ], "usage": { "prompt_tokens": 3, "completion_tokens": 10, "total_tokens": 13, "batch_size":[1,1,1,1,1,1,1,1,1,1], "queue_wait_time":[5201,96,43,35,46,56,59,60,53,54] } }
输出说明
返回值 |
类型 |
说明 |
||
|---|---|---|---|---|
id |
string |
请求ID。 |
||
object |
string |
表示返回对象的类型,通常是text_completion,表示这是一个文本生成的结果。 |
||
created |
int |
生成文本的时间戳,单位为秒。 |
||
model |
string |
使用的模型推理名称。 |
||
choices |
array |
推理结果列表。 |
||
- |
index |
int |
每个选择的索引,表示该选择在列表中的位置(从0开始)。 |
|
text |
string |
模型生成的文本内容。 |
||
logprobs |
object |
包含有关该选择的详细logprobs信息。 |
||
- |
text_offset |
list(int[]) |
表示生成文本的位置偏移量。 |
|
token_logprobs |
list(float[]) |
对应生成文本中每个token的对数概率值。 |
||
tokens |
list(string[]) |
生成的token。 |
||
top_logprobs |
list(object[]) |
每个token的可能性,通常表示生成文本的最可能token和对应的logprobs。 |
||
usage |
object |
包含了有关请求中使用的令牌(tokens)的统计信息。令牌是模型输入和输出的基本单元。 |
||
- |
prompt_tokens |
int |
输入文本(提示语)所使用的令牌数量。 |
|
completion_tokens |
int |
模型生成的文本(响应)的令牌数量。 |
||
total_tokens |
int |
请求中总共使用的令牌数量(prompt_tokens + completion_tokens)。 |
||
batch_size |
list |
推理生成每个token时的batch size,数组长度为生成序列的token数量。 当同时生成多个序列的情况下,为所有序列共同的batch size,数组长度为最长序列的token数量。(每个batch size为当前轮次所有序列的batch size) |
||
queue_wait_time |
list |
推理生成每个token时的队列等待时间,单位:us。数组长度为生成序列的token数量。 当同时生成多个序列的情况下,为所有序列共同的队列等待时延,数组长度为最长序列的token数量。(每个队列等待时间为当前轮次所有序列的队列等待时间) |
||
stop_reason |
string |
表示生成停止的原因。为null表示没有显式的停止原因。 |
||
finish_reason |
string |
表示生成停止的原因,常见值为length(因为生成达到了最大长度)或stop(遇到停止符号)。 |
||