生成连接到 OpenAI 的应用时,通常只有一部分应用与 OpenAI API 交互。 在处理不需要 OpenAI API 实际答复的应用部分时,可以使用开发代理模拟响应。 使用模拟响应可以避免产生不必要的成本。 它使用 OpenAIMockResponsePlugin
本地语言模型来模拟来自 OpenAI API 的响应。
开始之前
要使用 Dev Proxy 模拟 OpenAI API 响应,您需要在计算机上安装 受支持的语言模型客户端 。
默认情况下,Dev Proxy 使用在 Ollama 上运行的 llama3.2 语言模型。 要使用其他客户端或模型,请更新 Dev Proxy 配置文件中的 语言模型设置 。
配置开发代理以模拟 OpenAI API 响应
提示
本教程中所述的步骤在现成的开发代理预设中提供。 若要使用预设,请在命令行中运行 devproxy preset get simulate-openai
并按照说明进行操作。
若要使用开发代理模拟 OpenAI API 响应,需要在文件中启用OpenAIMockResponsePlugin
devproxyrc.json
该响应。
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.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/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://api.openai.com/v1/chat/completions"
],
"languageModel": {
"enabled": true
}
}
模拟 OpenAI API 响应
假设默认配置,使用 llama3.2 语言模型启动 Ollama。 在命令行中,运行 ollama run llama3.2
。
接下来,启动开发代理。 如果使用预设,请运行 devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.json
。 如果使用名为的 devproxyrc.json
自定义配置文件(存储在当前工作目录中),请运行 devproxy
。 Dev Proxy 检查它是否可以访问 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。
示例
另请参阅相关的开发代理示例: