人工智能研究
将内部知识源与使用MCP和Azure AI搜索的AI代理一起使用。
演示
相同的MCP服务器,2个不同的平台,这两个平台都不支持Azure AI搜索。
OpenWeb用户界面
https://github.com/user-attachments/assets/e82f75ef-8999-4742-8b41-032626b0222e
GitHub Copilot
https://github.com/user-attachments/assets/fc6121c8-bc79-4afb-b8e5-77549ed4a912
建筑
先决条件
- Python(最好是Python 3.11或3.10,以获得最佳兼容性)
- 紫外线(https://docs.astral.sh/uv/getting-started/installation/)
- MCP Python SDK(https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov文件#安装)
- 对Azure和AI代工厂的基本了解是有益的,但不是必需的。
管道
设置
- 复制
.env.example并将其粘贴到同一目录中。 - 重命名 已复制
.env.example到.env - 打开 Azure门户
- 创建名为的Azure RG
ai_for_research
Azure人工智能搜索
- 在Azure门户上创建名为的AI搜索资源
ai-for-research-search.(重要提示:使用免费定价轮胎,推荐地区:swedencentral) - 在AI搜索中,转到
Search Management>Indexes - 点击
Add Index>Add Index (JSON),这将打开一个侧边栏,您可以在其中输入JSON配置。 - 从复制JSON配置
index_conf.json并将其粘贴到侧边栏中。 - 点击
Save - 在左侧窗格中,单击
Overview - 复制
Url在Essentials - 粘贴那个
Url在.env在该领域AZURE_SEARCH_ENDPOINT - 在左侧窗格中,转到
Settings>Keys - 确保
API Keys在API访问控制中选择 - 复制下的API密钥
Manage query keys. - 将该API密钥粘贴到
.env在该领域AZURE_SEARCH_API_KEY - 在
.env,设置字段AZURE_SEARCH_INDEX_NAME到你的索引名称。如果你不改变它,使用vector-index. - 在...之下
Manage admin keys,复制Primary admin key. - 将主管理员密钥粘贴到
.env现场AZURE_SEARCH_PRIMARY_API_KEY - 矢量索引已设置!
Azure AI Foundry
- 首选 Azure AI Foundry
- 切换
New Foundry - 创建一个名为的项目
ai-for-research-foundry资源组下ai_for_research,理想情况下swedencentral - 复制
Project API Key - 将该项目api密钥粘贴到您的
.env现场AZURE_OPENAI_API_KEY
用于OCR(Mistral文档OCR)
- 在顶部导航中单击
Discover - 在左侧窗格中,单击
Models - 搜索
mistral-document-ai-2505 - 点击调用的第一个结果
mistral-document-ai-2505 - 点击
Deploy>Default Settings - 在你的
.env集AZURE_MISTRAL_ENDPOINT作为https://ai-for-research-foundry-resource.services.ai.azure.com/providers/mistral/azure/ocr - 完成!
用于嵌入(OpenAI文本嵌入3大)
- 在顶部导航中单击
Discover - 在左侧窗格中,单击
Models - 搜索
text-embedding-3-large - 点击第一个结果
text-embedding-3-large - 点击
Deploy>Default Settings - 在你的
.env集AZURE_OPENAI_ENDPOINT作为https://ai-for-research-foundry-resource.cognitiveservices.azure.com - 完成!
用于推理(Mistral 3大)
- 在顶部导航中单击
Discover - 在左侧窗格中,单击
Models - 搜索
Mistral-Large-3 - 点击第一个结果
Mistral-Large-3 - 点击
Deploy>Default Settings - 在你的
.env集AZURE_OPENAI_INFERENCE作为https://ai-for-research-foundry-resource.services.ai.azure.com/openai/v1/ - 完成!
运行管道
- 安装依赖项:
pip install -r requirements.txt
选项A:笔记本电脑 --打开 pipeline.ipynb,选择Python内核,然后按顺序运行单元格。
选项B:CLI(src/) --用于生产的可脚本化Python模块。
python -m src.main ingest # OCR → chunk → embed → upload
python -m src.main query "question" # retrieve + answer有关完整的CLI文档、模块分解和env-var参考,请参阅 src/README.md.主控程序
有关设置和文档,请访问 ./azure-ai-search-mcp/README.md
云部署(Azure容器应用程序)
请参阅完整指南: azure-ai-search-mcp/azure/README.md.
测试提示
从最容易检索到最难检索的示例查询:
| # | 困难 | 提示 |
|---|---|---|
| 1 | 简单 | 引入了什么模块化软件工具包来将经典电子结构计算与量子电路执行联系起来? |
| 2 | 中等 | 在新提出的基于成对测量的表面编码中,在标准电路噪声模型下实现的确切容错阈值是多少? |
| 3 | 难 | 对于单量子比特的泰龙器件,“基于失谐”和“基于切割器”的方法在将量子点与量子比特岛解耦方面有何不同,每种方法具体如何影响剩余耦合和整体量子比特相干性? |
| 4 | Hard(Dev) | QDK/Chemistry工具包如何使用基于工厂的接口让我交换算法后端,比如切换到PySCF,而不重写我的主要Python工作流程? |
故障排除
- 对于Windows ARM64系统,如果您有
Python for ARM,考虑使用Python for x64。您的系统将自动应用虚拟层,以确保Python x64在ARM上运行。
积分
- Aryan Shah(东南实习生):RAG管道+Azure安装+Foundry安装+MCP服务器/部署+GHCP/OpenWebUI集成
- 阿纳斯·加拉斯(SSP实习生):测试AI搜索和GHCP MCP
- Bertille Mathieu(东南实习生):测试AI搜索和OpenWebUI MCP
