跳至主要内容

从OpenAI迁移

Predibase支持OpenAI Chat Completions v1兼容的端点,这使得从OpenAI迁移到Predibase变得尽可能简单。

查看Colab笔记本

操作步骤

  1. 获取您的Predibase API令牌
  2. 对于base_url,请获取您的租户ID(可在设置 > 我的个人资料页面找到)和部署名称(可在部署页面找到)
  3. 如果在Predibase上使用经过微调的适配器,您将需要适配器ID("adapter repo name"/"version number"),在提示时该ID会作为model参数包含其中。

Python SDK 示例

如果您使用apply_chat_template微调了一个适配器,请查看"Chat Completions"选项卡。

from openai import OpenAI

api_token = "<PREDIBASE API TOKEN>"
tenant_id = "<PREDIBASE TENANT ID>"
model_name = "<DEPLOYMENT NAME>" # Ex. "mistral-7b"
base_url = f"https://serving.app.predibase.com/{tenant_id}/deployments/v2/llms/{model_name}/v1"

client = OpenAI(
api_key=api_token,
base_url=base_url,
)

completion = client.completions.create(
model="",
prompt="How many helicopters can a human eat in one sitting?",
max_tokens=100,
)
print("Completion result:", completion.choices[0].text)

流式处理

from openai import OpenAI

api_token = "<PREDIBASE API TOKEN>"
tenant_id = "<PREDIBASE TENANT ID>"
model_name = "<DEPLOYMENT NAME>" # Ex. "mistral-7b"
base_url = f"https://serving.app.predibase.com/{tenant_id}/deployments/v2/llms/{model_name}/v1"

client = OpenAI(
api_key=api_token,
base_url=base_url,
)

# Prompt the base model
completion_stream = client.completions.create(
model="",
prompt="How many helicopters can a human eat in one sitting?",
max_tokens=100,
stream=True
)
text = []
for message in completion_stream:
print(message)
text.append(message.choices[0].text)
print("".join(text))

REST API 示例

export PREDIBASE_API_TOKEN="<YOUR TOKEN HERE>"
export PREDIBASE_ENDPOINT="<YOUR ENDPOINT HERE>"
#PREDIBASE_ENDPOINT_EXAMPLE: https://serving.app.predibase.com/{tenantID}/deployments/v2/llms/mistral-7b-instruct
curl -i $PREDIBASE_ENDPOINT/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${PREDIBASE_API_TOKEN}" \
-d '{"model": "", "messages": [{ "role": "user", "content": "How many helicopters can a human eat in one sitting?"}],"max_tokens": 100}'