ตัวอย่างการแชทพื้นฐานกับ Azure AI Foundry - ตัวอย่างตั้งแต่ต้นจนจบ
July 2, 2026 · View on GitHub
ตัวอย่างนี้เป็นแอปพลิเคชัน Spring Boot ง่ายๆ ที่เชื่อมต่อกับโมเดล Azure AI Foundry โดยใช้ การตรวจสอบสิทธิ์แบบไม่ใช้คีย์ (Microsoft Entra ID) และทดสอบการตั้งค่าของคุณ โดยใช้ ChatClient ของ Spring AI
สารบัญ
- ข้อกำหนดเบื้องต้น
- เริ่มต้นอย่างรวดเร็ว
- วิธีการทำงานของการตรวจสอบสิทธิ์
- การรันแอปพลิเคชัน
- เอกสารอ้างอิงการตั้งค่า
- การแก้ไขปัญหา
- ขั้นตอนถัดไป
- แหล่งข้อมูล
ข้อกำหนดเบื้องต้น
ก่อนที่จะรันตัวอย่างนี้ ให้ตรวจสอบว่าคุณมี:
- ทรัพยากร Azure AI Foundry พร้อมการปรับใช้
gpt-4o-mini— สร้างโดยใช้azd upหรือทำด้วยตนเองตาม คำแนะนำการตั้งค่า Azure AI Foundry - บทบาท Cognitive Services OpenAI User บนทรัพยากรนั้น (เทมเพลต Bicep จะกำหนดบทบาทนี้ให้คุณ)
- Azure CLI (
az) ลงชื่อเข้าใช้ด้วยaz login - Java 21+ และ Maven 3.9+
ไม่ต้องใช้คีย์ API — การตรวจสอบสิทธิ์ใช้แบบไม่ต้องใช้คีย์ผ่าน Microsoft Entra ID
เริ่มต้นอย่างรวดเร็ว
# 1. ไปที่โปรเจกต์
cd 02-SetupDevEnvironment/examples/basic-chat-azure
# 2. ลงชื่อเข้าใช้เพื่อให้การยืนยันตัวตนแบบไม่มีคีย์สามารถรับโทเค็นได้
az login
# 3. กำหนดค่า endpoint
# - หากคุณรัน `azd up` ไฟล์ .env จะถูกเขียนให้คุณ (ข้ามขั้นตอนนี้)
# - หากไม่เช่นนั้นให้คัดลอกแม่แบบและตั้งค่า AZURE_OPENAI_ENDPOINT:
cp .env.example .env
# 4. รันแอปพลิเคชัน
mvn spring-boot:run
วิธีการทำงานของการตรวจสอบสิทธิ์
ตัวอย่างนี้ตรวจสอบสิทธิ์ด้วย Microsoft Entra ID — ไม่มีคีย์ API
เมื่อกำหนดเพียง spring.ai.azure.openai.endpoint เท่านั้น (และไม่มี api-key) Spring AI จะสร้างไคลเอนต์ Azure OpenAI ด้วย DefaultAzureCredential ซึ่งข้อมูลประจำตัวนี้จะดึงโทเค็นจากเซสชัน az login ของคุณที่เครื่อง หรือจาก managed identity เมื่อรันใน Azure — ดังนั้นโค้ดเดียวกันนี้จึงทำงานได้ทั้งสองที่โดยไม่ต้องเปลี่ยนแปลง
การรันแอปพลิเคชัน
การใช้ Maven
mvn spring-boot:run
การใช้ VS Code
- เปิดโปรเจกต์ใน VS Code
- กด
F5หรือใช้แผง "Run and Debug" - เลือกการตั้งค่า "Spring Boot-BasicChatApplication"
หมายเหตุ: การตั้งค่า VS Code จะโหลดไฟล์ .env ของคุณโดยอัตโนมัติ
ผลลัพธ์ที่คาดหวัง
Starting Basic Chat with Azure OpenAI...
Environment variables loaded successfully
Connecting to Azure OpenAI...
Sending prompt: What is AI in a short sentence? Max 100 words.
AI Response:
================
AI, or Artificial Intelligence, is the simulation of human intelligence in machines programmed to think and learn like humans.
================
Success! Azure OpenAI connection is working correctly.
เอกสารอ้างอิงการตั้งค่า
ตัวแปรสภาพแวดล้อม
| ตัวแปร | คำอธิบาย | จำเป็น | ตัวอย่าง |
|---|---|---|---|
AZURE_OPENAI_ENDPOINT | URL จุดเชื่อมต่อ Foundry (Azure OpenAI) | ใช่ | https://my-resource.openai.azure.com/ |
AZURE_OPENAI_DEPLOYMENT | ชื่อการปรับใช้โมเดลแชท | ไม่ | gpt-4o-mini (ค่าเริ่มต้น) |
ไม่มีตัวแปรคีย์ API — การตรวจสอบสิทธิ์เป็นแบบไม่ใช้คีย์ (Microsoft Entra ID ผ่าน
az login)
การตั้งค่า Spring
ไฟล์ application.yml กำหนดค่า:
- Endpoint:
${AZURE_OPENAI_ENDPOINT}- จากตัวแปรสภาพแวดล้อม - Deployment:
${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini}- จากตัวแปรสภาพแวดล้อมพร้อมค่าตั้งต้น - Auth: แบบไม่ใช้คีย์ — ไม่มีการตั้งค่า
api-keyดังนั้น Spring AI จึงใช้DefaultAzureCredential - Temperature:
0.7- ควบคุมความสร้างสรรค์ (0.0 = แน่นอน, 1.0 = สร้างสรรค์) - Max Tokens:
500- ความยาวตอบกลับสูงสุด
การแก้ไขปัญหา
ปัญหาที่พบบ่อย
ข้อผิดพลาด: 401 / "PermissionDenied" / ข้อผิดพลาดโทเค็น
- รัน
az login— การตรวจสอบสิทธิ์แบบไม่ใช้คีย์ต้องการการลงชื่อเข้าใช้ที่ใช้งานอยู่เพื่อรับโทเค็น - ตรวจสอบว่าบัญชีของคุณมีบทบาท Cognitive Services OpenAI User บนทรัพยากร
- หากเพิ่งกำหนดบทบาท รอประมาณหนึ่งนาทีเพื่อให้มีผล
- ยืนยันว่าคุณอยู่ใน tenant/subscription ที่ถูกต้อง (
az account show)
ข้อผิดพลาด: "The endpoint is not valid" / ข้อผิดพลาดการเชื่อมต่อ
- ตรวจสอบว่า
AZURE_OPENAI_ENDPOINTเป็น URL พื้นฐานเต็มรูปแบบ (เช่นhttps://your-resource.openai.azure.com/) - ตรวจสอบความสม่ำเสมอของเครื่องหมายทับหลัง
- ยืนยันว่า endpoint ตรงกับทรัพยากรที่คุณตั้งค่าไว้ (
azd env get-values)
ข้อผิดพลาด: "The deployment was not found"
- ตรวจสอบว่า
AZURE_OPENAI_DEPLOYMENTตรงกับชื่อการปรับใช้ใน Azure - ตรวจสอบว่าโมเดลถูกปรับใช้และใช้งานได้สำเร็จ
- ชื่อการปรับใช้เริ่มต้นคือ
gpt-4o-mini
VS Code: ตัวแปรสภาพแวดล้อมไม่โหลด
- ตรวจสอบว่าไฟล์
.envอยู่ที่โฟลเดอร์รากของโปรเจกต์ (ระดับเดียวกับpom.xml) - ลองรัน
mvn spring-boot:runในเทอร์มินัลแบบบูรณาการของ VS Code - ตรวจสอบว่าได้ติดตั้งส่วนขยาย Java ของ VS Code อย่างถูกต้อง
โหมดดีบัก
เพื่อเปิดใช้งานการบันทึกข้อมูลโดยละเอียด ให้ยกเลิกการคอมเมนต์บรรทัดเหล่านี้ใน application.yml:
logging:
level:
org.springframework.ai: DEBUG
com.azure: DEBUG
ขั้นตอนถัดไป
การตั้งค่าเสร็จสมบูรณ์! ดำเนินการเรียนรู้ของคุณต่อไป:
บทที่ 3: เทคนิค Generative AI หลัก
แหล่งข้อมูล
- เอกสาร Spring AI Azure OpenAI
- การตรวจสอบสิทธิ์แบบไม่ใช้คีย์ด้วย Microsoft Entra ID
- พอร์ทัล Azure AI Foundry
- เอกสาร Azure AI Foundry
ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้