我知道这可能不被支持,因为增加了复杂性,但我只是想澄清一下,因为我很惊讶地看到我可以将这些参数传递给服务器。现在我不确定地在这里遇到了一个IndexError
这是一个简单的客户端/服务器示例。我正在使用v0.2.7
python -m vllm.entrypoints.openai.api_server --model mistralai/Mistral-7B-Instruct-v0.1
from openai import OpenAI
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
chat_completion = client.chat.completions.create(
messages=[{"role": "user", "content": "Hello, world!"}],
model="mistralai/Mistral-7B-Instruct-v0.1",
max_tokens=128,
temperature=0,
stream=True,
extra_body={
"use_beam_search": True,
"best_of": 3
}
)
for chunk in chat_completion:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
6条答案
按热度按时间r1zhe5dt1#
啊,我刚刚修复了这个问题,但还没有修复聊天功能。这是一个bug。感谢您提出这个问题!
jyztefdp2#
如果这个问题没有解决,我会为此做出贡献。请让我知道。
ct3nt3jp3#
你好,@simon-mo ,#2529 是提到的 PR 吗?
du7egjpx4#
是的!请随时提交修复!
dy2hfwbg5#
完成API接受一批提示,而聊天完成API不接受,这让我对相应的建议解决方案感到有些困惑。如果使用beam search,完成API的流参数最终会变为False,与请求中的流参数无关。预期的解决方案是否也是类似的?
ygya80vv6#
是的,我认为原因是在执行beam search时,我们不能逐个流式处理token。因此,禁用是最简单的解决方法。这可能是一个遗留约束,因为当使用beam search时,generate调用仍然可以输出增量token结果。