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ể:
-
Trò chuyện với khách hàng.
-
Gọi tool lấy sản phẩm phù hợp.
-
Gửi email giới thiệu sản phẩm (qua SendGrid).
-
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
- Cài đặt thư viện
pip install openai sendgrid python-dotenv
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})"
.env
: Lưu API Key
SENDGRID_API_KEY=SG.xxxxxxxx
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], )
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())
- 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
Không có bình luận