Nhảy đến nội dung chính

AI Sales Agents sử dụng OpenAI Agent SDK, SendGrid để gửi email chào hàng

Dưới đây là một hướng dẫn chi tiết để bạn có thể xây dựng hệ thống AI Sales Agents sử dụng OpenAI Agent SDK, SendGrid để gửi email chào hàng, và cộng tác nhiều agent với vai trò khác nhau trong một phiên làm việc.

Mục tiêu:

Xây dựng 3 AI Sales Agents có thể:

  1. Trò chuyện với khách hàng.

  2. Gọi tool lấy sản phẩm phù hợp.

  3. Gửi email giới thiệu sản phẩm (qua SendGrid).

  4. Hợp tác với nhau để tối ưu trải nghiệm khách hàng.

Yêu cầu:

  • Python 3.10+

  • OpenAI SDK (openai)

  • SendGrid SDK (sendgrid)

  • API Key SendGrid

  • Tài khoản OpenAI

Cấu trúc tổng thể:

.
├── main.py
├── tools.py         # chứa các tool: lấy sản phẩm, gửi email
├── agents.py        # định nghĩa các agent
├── .env             # lưu API key
  1. Cài đặt thư viện
    pip install openai sendgrid python-dotenv

  2. tools.py: Định nghĩa tool gọi sản phẩm + gửi email
    from openai import tool
    from sendgrid import SendGridAPIClient
    from sendgrid.helpers.mail import Mail
    import os
    
    @tool
    def get_sales_products(category: str) -> list:
        """
        Gợi ý danh sách sản phẩm phù hợp với danh mục được yêu cầu.
        """
        db = {
            "laptop": ["MacBook Pro M3", "Dell XPS 15", "Asus ZenBook"],
            "smartphone": ["iPhone 15", "Samsung S24", "Google Pixel 8"]
        }
        return db.get(category.lower(), ["Không tìm thấy sản phẩm phù hợp"])
    
    @tool
    def send_sales_email(to_email: str, subject: str, content: str) -> str:
        """
        Gửi email giới thiệu sản phẩm cho khách hàng.
        """
        sg = SendGridAPIClient(os.getenv("SENDGRID_API_KEY"))
        message = Mail(
            from_email="your-email@example.com",
            to_emails=to_email,
            subject=subject,
            html_content=content,
        )
        response = sg.send(message)
        return f"Đã gửi email đến {to_email} (status {response.status_code})"

  3. .env: Lưu API Key
    SENDGRID_API_KEY=SG.xxxxxxxx

  4. agents.py: Khai báo các Agent
    from openai import Agent
    from tools import get_sales_products, send_sales_email
    
    agent_professional = Agent(
        instructions="Bạn là nhân viên bán hàng chuyên nghiệp. Hãy giúp khách hàng chọn sản phẩm và gửi email.",
        tools=[get_sales_products, send_sales_email],
    )
    
    agent_funny = Agent(
        instructions="Bạn tư vấn sản phẩm với phong cách hài hước và sáng tạo. Có thể gửi email cho khách.",
        tools=[get_sales_products, send_sales_email],
    )
    
    agent_direct = Agent(
        instructions="Bạn trả lời ngắn gọn và đi thẳng vào vấn đề. Tư vấn đúng trọng tâm và gửi email nhanh chóng.",
        tools=[get_sales_products, send_sales_email],
    )

  5. main.py: Thực thi và tương tác agent
    import asyncio
    from dotenv import load_dotenv
    from openai import trace
    from agents import agent_professional, agent_funny, agent_direct
    
    load_dotenv()
    
    async def run_agent(agent, input_text):
        runner = agent.runner()
        async for chunk in runner.run_stream(input_text):
            print(chunk.delta, end="", flush=True)
        print("\n------------------")
    
    async def main():
        input_text = "Khách hàng muốn mua laptop và nhận email tại khachhang@example.com"
    
        with trace():
            print("🎩 CHUYÊN NGHIỆP:")
            await run_agent(agent_professional, input_text)
    
            print("😄 HÀI HƯỚC:")
            await run_agent(agent_funny, input_text)
    
            print("⚡ NGẮN GỌN:")
            await run_agent(agent_direct, input_text)
    
    asyncio.run(main())

  6. Ví dụ kết quả Agent có thể tạo ra:
    Xin chào! Tôi gợi ý các laptop sau:
    - MacBook Pro M3
    - Dell XPS 15
    - Asus ZenBook
    
    Tôi sẽ gửi danh sách này qua email cho bạn tại khachhang@example.com nhé.
    → Đã gửi email đến khachhang@example.com (status 202)
    • Agents tự gọi tool để lấy danh sách sản phẩm.

    • Tự động gửi email bán hàng thông qua SendGrid.

    • Phân vai linh hoạt: chuyên nghiệp – hài hước – ngắn gọn.


Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft