ตัวอย่างการแชทพื้นฐานกับ 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

  1. เปิดโปรเจกต์ใน VS Code
  2. กด F5 หรือใช้แผง "Run and Debug"
  3. เลือกการตั้งค่า "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_ENDPOINTURL จุดเชื่อมต่อ 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 หลัก

แหล่งข้อมูล


ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้