ใช้เวิร์กโฟลว์ในโค้ด

เสร็จสมบูรณ์เมื่อ

หลังจากออกแบบและทดสอบเวิร์กโฟลว์ในตัวออกแบบวิชวล Microsoft Foundry แล้ว คุณสามารถรวมเข้ากับแอปพลิเคชันของคุณโดยใช้ Azure AI Projects SDK สิ่งนี้ช่วยให้คุณสามารถฝังระบบอัตโนมัติที่ขับเคลื่อนด้วยเวิร์กโฟลว์ลงในเว็บแอป API, บริการแบ็กเอนด์ และโซลูชันซอฟต์แวร์อื่นๆ

เวิร์กโฟลว์ถูกสร้างขึ้นในพอร์ทัล Foundry โดยใช้ตัวออกแบบภาพ ซึ่งสร้างข้อกําหนด YAML พื้นฐาน เมื่อบันทึกเวิร์กโฟลว์ในโครงการของคุณแล้ว คุณสามารถเรียกใช้เวิร์กโฟลว์โดยทางโปรแกรมได้โดยการอ้างอิงชื่อของเวิร์กโฟลว์ คุณยังสามารถดาวน์โหลดข้อกําหนด YAML ของเวิร์กโฟลว์ได้จากพอร์ทัล และรวมไว้ในฐานรหัสของคุณ

เรียกใช้เวิร์กโฟลว์

ก่อนเรียกใช้เวิร์กโฟลว์ ให้สร้างการเชื่อมต่อกับโครงการ Microsoft Foundry ของคุณโดยใช้ปุ่มAIProjectClient ไคลเอ็นต์นี้จัดการการรับรองความถูกต้องและให้การเข้าถึง API ที่เข้ากันได้กับ OpenAI เพื่อดําเนินการสนทนาและเรียกใช้เวิร์กโฟลว์ เมื่อต้องการเรียกใช้เวิร์กโฟลว์ที่มีอยู่ในโปรเจ็กต์ของคุณ ให้สร้างการสนทนาและเรียกใช้เวิร์กโฟลว์ตามชื่อ

# Reference a workflow created in the Foundry portal
workflow_name = "triage-workflow"

# Create a conversation context for the workflow
conversation = openai_client.conversations.create()

# Execute the workflow, passing input to drive the workflow logic
stream = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": workflow_name, "type": "agent_reference"}},
    input="Users can't reset their password from the mobile app.",
    stream=True,
)

พารามิเตอร์นี้ input ช่วยให้คุณสามารถส่งข้อความแจ้งหรือข้อความไปยังเวิร์กโฟลว์ ซึ่งเวิร์กโฟลว์สามารถใช้เพื่อขับเคลื่อนตรรกะ เช่น การประมวลผลคําขอของผู้ใช้ การคัดกรองตั๋วการสนับสนุน หรือการตอบคําถาม ข้อมูลนี้อาจเป็นดังนี้

  • คําถามของผู้ใช้ที่ตัวแทนวิเคราะห์และตอบกลับ
  • คําอธิบายตั๋วสนับสนุนสําหรับการจัดประเภทและการกําหนดเส้นทาง
  • เพย์โหลดข้อมูลที่ทริกเกอร์ตรรกะการประมวลผล
  • สตริงว่างที่เริ่มเวิร์กโฟลว์โดยไม่ต้องป้อนข้อมูลเฉพาะ

เหตุการณ์เวิร์กโฟลว์กระบวนการ

เมื่อเปิดใช้งานการสตรีม แอปพลิเคชันของคุณจะได้รับเหตุการณ์ขณะที่เวิร์กโฟลว์ดําเนินการ เหตุการณ์เหล่านี้ช่วยให้คุณแสดงความคืบหน้าแบบเรียลไทม์ บันทึกผลลัพธ์ของตัวแทน และตอบสนองต่อการดําเนินการของเวิร์กโฟลว์

for event in stream:
    if event.type == "response.completed":
        print("Workflow completed:")
        for message in event.response.output:
            if message.content:
                for content_item in message.content:
                    if content_item.type == 'output_text':
                        print(content_item.text)
    if (event.type == "response.output_item.done") and event.item.type == ItemType.WORKFLOW_ACTION:
        print(f"Action '{event.item.action_id}' completed with status: {event.item.status}")

ประเภทเหตุการณ์ที่พบบ่อย ได้แก่

ชนิดเหตุการณ์ คำอธิบาย
response.completed เวิร์กโฟลว์เสร็จสิ้นการดําเนินการและส่งคืนการตอบสนองขั้นสุดท้าย
response.output_item.done รายการผลลัพธ์แต่ละรายการ (เช่น การดําเนินการเวิร์กโฟลว์) เสร็จสมบูรณ์

เมื่อตรวจสอบเหตุการณ์เหล่านี้ คุณจะเห็นว่าเวิร์กโฟลว์ดําเนินไปอย่างไรแบบเรียลไทม์ หรือทริกเกอร์การดําเนินการภายนอกตามสถานะเวิร์กโฟลว์ หรือคุณสามารถเลือกที่จะรอให้เวิร์กโฟลว์ทั้งหมดเสร็จสมบูรณ์และประมวลผลการตอบกลับขั้นสุดท้ายโดยไม่ต้องสตรีม สําหรับเวิร์กโฟลว์ที่มีรูปแบบ human-in-the-loop แอปพลิเคชันของคุณอาจต้องจัดการกับการหยุดชั่วคราวที่เวิร์กโฟลว์รอการป้อนข้อมูลของผู้ใช้ ในกรณีเหล่านี้ คุณสามารถส่งข้อความเพิ่มเติมไปยังการสนทนาเพื่อให้ข้อมูลที่ร้องขอและดําเนินการเวิร์กโฟลว์ต่อ

ประโยชน์ของการรวมโค้ด

การรวมเวิร์กโฟลว์เข้ากับโค้ดของคุณช่วยให้มีหลายสถานการณ์:

สถานการณ์สมมติ Benefit
เว็บแอปพลิเคชัน ฝังเวิร์กโฟลว์ที่ขับเคลื่อนด้วย AI โดยตรงในแอปที่ผู้ใช้ต้องเผชิญ
API และไมโครเซอร์วิส เปิดเผยความสามารถของเวิร์กโฟลว์ผ่านปลายทาง REST
การประมวลผลชุดงาน เรียกใช้เวิร์กโฟลว์โดยทางโปรแกรมสําหรับการดําเนินการจํานวนมาก
การทดสอบและการตรวจสอบความถูกต้อง ทําให้การทดสอบเวิร์กโฟลว์เป็นแบบอัตโนมัติโดยเป็นส่วนหนึ่งของไปป์ไลน์ CI/CD
อินเทอร์เฟซแบบกําหนดเอง สร้าง UI เฉพาะที่ปรับให้เหมาะกับกรณีการใช้งานเวิร์กโฟลว์ที่เฉพาะเจาะจง

ด้วยการรวมประสบการณ์การออกแบบภาพของพอร์ทัล Foundry เข้ากับความยืดหยุ่นของการรวมโค้ด คุณสามารถสร้างโซลูชันที่ขับเคลื่อนด้วย AI อันทรงพลังซึ่งเข้ากับสถาปัตยกรรมซอฟต์แวร์ที่มีอยู่ของคุณได้อย่างลงตัว