模拟 OpenAI API
生成连接到 OpenAI 的应用时,通常只有一部分应用与 OpenAI API 交互。 在处理不需要 OpenAI API 实际答复的应用部分时,可以使用开发代理模拟响应。 使用模拟响应可以避免产生不必要的成本。 使用 OpenAIMockResponsePlugin
在 Ollama 上运行的本地语言模型来模拟 OpenAI API 的响应。
开始之前
若要使用开发代理模拟 OpenAI API 响应,需要在计算机上安装 Ollama。 若要安装 Ollama,请按照 Ollama 文档中的说明进行操作。
默认情况下,开发代理使用 phi-3 语言模型。 若要使用不同的模型,请更新 model
开发代理配置文件中的属性 。
配置开发代理以模拟 OpenAI API 响应
提示
本教程中所述的步骤在现成的开发代理预设中提供。 若要使用预设,请在命令行中运行 devproxy preset get simulate-openai
并按照说明进行操作。
若要使用开发代理模拟 OpenAI API 响应,需要在文件中启用OpenAIMockResponsePlugin
devproxyrc.json
该响应。
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
]
}
接下来,将开发代理配置为截获对 OpenAI API 的请求。 OpenAI 建议使用 https://api.openai.com/v1/chat/completions
终结点,这使你可以从最新的模型和功能中受益。
{
// [...] trimmed for brevity
"urlsToWatch": [
"https://api.openai.com/v1/chat/completions"
]
}
最后,将开发代理配置为使用本地语言模型。
{
// [...] trimmed for brevity
"languageModel": {
"enabled": true
}
}
完整的配置文件如下所示。
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://api.openai.com/v1/chat/completions"
],
"languageModel": {
"enabled": true
}
}
模拟 OpenAI API 响应
使用 phi-3 语言模型启动 Ollama。 在命令行中,运行 ollama run phi3
。
接下来,启动开发代理。 如果使用预设,请运行 devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.json
。 如果使用名为的 devproxyrc.json
自定义配置文件(存储在当前工作目录中),请运行 devproxy
。 开发代理会检查它是否可以访问 Ollama 语言模型,并确认它已准备好模拟 OpenAI API 响应。
info OpenAIMockResponsePlugin: Checking language model availability...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
运行应用程序并向 OpenAI API 发出请求。 开发代理使用本地语言模型截获请求并模拟响应。
下一步
详细了解 OpenAIMockResponsePlugin。
示例
另请参阅相关的开发代理示例: