Azure-Search与OpenAI集成项目本地开发指南
项目概述
Azure-Search与OpenAI集成项目是一个结合了Azure搜索服务和OpenAI大语言模型的智能问答系统。本文将详细介绍如何在本地开发环境中运行和调试这个项目,帮助开发者更高效地进行二次开发和功能扩展。
本地开发环境准备
在开始本地开发之前,需要确保已经完成了以下准备工作:
- 已经通过
azd up
命令成功部署过项目到Azure环境 - 本地已安装必要的开发工具链(Node.js、Python等)
- 已通过
azd auth login
完成身份验证
启动本地开发服务器
根据不同的操作系统,启动方式略有差异:
Windows系统
./app/start.ps1
Linux/Mac系统
./app/start.sh
启动后,后端服务将默认运行在50505端口,并支持代码热重载功能。
前端热重载配置
虽然后端已经支持热重载,但前端需要额外配置才能实现这一功能:
- 打开新的终端窗口
- 导航到前端目录:
cd app/frontend
- 启动Vite开发服务器:
npm run dev
启动成功后,Vite会提供一个本地开发地址(通常是http://localhost:5173/),所有前端代码修改都会自动刷新,无需手动刷新浏览器。
VS Code调试配置
项目已预置了VS Code调试配置,位于.vscode/launch.json
文件中,提供三种调试模式:
- 后端(Python)调试:仅启动Python后端服务
- 前端调试:仅启动Vite前端开发服务器
- 全栈调试:同时启动前后端服务
开发者可以在代码中设置断点,利用VS Code强大的调试功能进行问题排查和功能验证。
使用本地OpenAI兼容API
为了节省开发成本,项目支持连接本地运行的LLM服务器,如Ollama或llamafile。但需要注意以下限制:
- 本地模型通常性能较低且功能有限
- 必须禁用向量搜索功能(设置
USE_VECTORS=false
) - 聊天功能可能受限,取决于本地模型是否支持函数调用
配置步骤
- 设置环境变量:
azd env set USE_VECTORS false
azd env set OPENAI_HOST local
azd env set OPENAI_BASE_URL <本地API地址>
azd env set AZURE_OPENAI_CHATGPT_MODEL 本地模型名称
- 重启开发服务器
Ollama服务器配置示例
azd env set OPENAI_HOST local
azd env set OPENAI_BASE_URL http://localhost:11434/v1
azd env set AZURE_OPENAI_CHATGPT_MODEL llama3.1:8b
azd env set USE_VECTORS false
llamafile服务器配置示例
azd env set OPENAI_HOST local
azd env set OPENAI_BASE_URL http://localhost:8080/v1
azd env set USE_VECTORS false
注意事项
- 在运行
azd up
或azd provision
前,必须将OPENAI_HOST
设置回非本地值 - 本地模型可能无法正确处理长对话历史,可能会遇到token限制错误
- 在VS Code Dev Container中运行时,需要使用特殊的主机地址
host.docker.internal
通过本文的指导,开发者可以快速搭建本地开发环境,充分利用热重载和调试功能提高开发效率,同时根据需求灵活选择使用云端或本地的大语言模型服务。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考