Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Ai agent và ứng dụng: Xây dựng chatbot cơ bản với openai

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ai agent và ứng dụng: Xây dựng chatbot cơ bản với openai



    AI AGENT VÀ ỨNG DỤNG: XÂY DỰNG CHATBOT CƠ BẢN VỚI OPENAI​
    AI Agent và Vai Trò Của LLM Trong Giao Tiếp Thông Minh

    Trong thế giới trí tuệ nhân tạo (AI), AI Agent là một người trợ lý ảo có thể tự động thực hiện công việc mà không cần sự can thiệp của con người. Bạn có thể tưởng tượng nó như một người bạn luôn sẵn sàng giúp đỡ bạn mọi lúc, mọi nơi.
    Để AI Agent có thể trò chuyện và hiểu bạn một cách tự nhiên, nó cần một công cụ mạnh mẽ – đó chính là LLM (Large Language Models). LLM giống như một bộ não khổng lồ, được huấn luyện từ hàng tỉ câu văn từ sách, báo, và các trang web. Khi bạn nói chuyện với AI, LLM giúp máy tính không chỉ nhận diện từ ngữ mà còn hiểu được ý nghĩa đằng sau câu nói của bạn.


    LLM là gì?
    LLM giống như một cuốn sách khổng lồ chứa đựng các kiến thức về ngôn ngữ. Những mô hình này được huấn luyện từ hàng tỉ câu văn lấy từ sách, báo, các trang web và cuộc trò chuyện của con người. Mục tiêu của LLM là giúp máy tính hiểu và sử dụng ngôn ngữ tự nhiên giống như con người. Ví dụ, khi bạn hỏi “Bạn có thể kể tôi nghe một câu chuyện không?”, LLM sẽ hiểu rằng bạn muốn nghe một câu chuyện và trả lời một cách hợp lý.
    Các mô hình như GPT-3 hay BERT là ví dụ điển hình của LLM. Chúng không chỉ trả lời câu hỏi mà còn tạo ra câu trả lời tự nhiên, gần gũi như khi bạn trò chuyện với một người bạn thân.
    Nhờ vào LLM, AI giờ đây không còn chỉ là công cụ lạnh lùng mà trở thành một người bạn hiểu và phản hồi lại một cách thông minh, tự nhiên.​


    AI Agent là gì?​
    AI Agent là một hệ thống tự động có thể thực hiện các công việc mà không cần sự can thiệp của con người. Nó giống như một "trợ lý ảo" có khả năng hiểu và phản hồi các yêu cầu từ người dùng. Ví dụ, khi bạn nói chuyện với Siri hay Google Assistant, chúng có thể hiểu câu hỏi của bạn và đưa ra câu trả lời phù hợp.
    Để làm được điều này, AI Agent sử dụng LLM để xử lý ngôn ngữ tự nhiên. Nhờ có LLM, AI Agent có thể hiểu được các yêu cầu của người dùng và tạo ra phản hồi tự nhiên, chính xác. LLM giúp AI Agent "nói chuyện" và tương tác một cách thông minh và mượt mà, giống như một người thật, mang lại trải nghiệm giao tiếp tự nhiên và hiệu quả.


    Thực hiện code call api cơ bản

    1. CHUẨN BỊ
    Bước 1: Tạo tài khoản và lấy API Key từ OpenAI

    Đăng ký tài khoản trên OpenAI tại https://platform.openai.com/signup.
    Click image for larger version

Name:	Picture3.png
Views:	0
Size:	22.5 KB
ID:	429458


    Đăng nhập vào OpenAI API.
    Click image for larger version

Name:	Picture4.png
Views:	0
Size:	27.7 KB
ID:	429459


    Lấy API Key:
    ​​1/ Vào mục Settings bằng cách click vào bánh răng phía góc phải trên cùng
    2/ Vào mục API Keys
    3/ Nhấn Create a new secret key
    4/ Sao chép lại API key để sử dụng (vì OpenAI chỉ hiển thị API key một lần).​

    Bước 2: Cài đặt thư viện cần thiết
    Mở terminal hoặc command prompt và cài đặt thư viện OpenAI:
    pip install openai python-dotenv
    • openai: Thư viện để gọi API từ OpenAI.
    • python-dotenv: Hỗ trợ tải API key từ file .env để bảo mật thông tin.
    Bước 3: Cấu hình API Key trong file .env (Khuyến nghị)
    Tạo một file .env trong thư mục chứa project và thêm nội dung sau:
    OPENAI_API_KEY=your_openai_api_key_here
    Điều này giúp bảo mật API key thay vì viết trực tiếp trong code.

    TƯƠNG TÁC VỚI OPEN AI.
    Để bắt đầu, chúng ta sẽ thực hiện theo ba phần cơ bản để dễ dàng tiếp cận:
    1. Tải tệp API Key – Thiết lập và lưu trữ khóa API để xác thực với OpenAI.
    2. Gửi yêu cầu đến OpenAI – Viết mã để gửi truy vấn và nhận phản hồi từ mô hình AI.
    3. Tạo giao diện dòng lệnh đơn giản – Xây dựng một giao diện cho phép người dùng tương tác với chatbot qua terminal.
    Sau khi hoàn thành các bước trên, chúng ta sẽ có một chatbot cơ bản có thể trò chuyện thông qua giao diện dòng lệnh.

    Phần 1: Tải API Key từ tệp .env bằng Python
    Python cung cấp thư viện dotenv, giúp chúng ta dễ dàng đọc các biến môi trường từ tệp .env. Dưới đây là một đoạn mã giúp tải API Key từ tệp .env và kiểm tra xem nó có tồn tại hay không. Nếu không tìm thấy API Key, chương trình sẽ báo lỗi; ngược lại, nó sẽ xác nhận rằng API Key đã được nạp thành công.
    Sử dụng:
    load_dotenv() giúp tải API key từ file .env.

    os.getenv('OPENAI_API_KEY') lấy API key từ biến môi trường.
    Mục đích: Đảm bảo API key được tải đúng cách trước khi gọi API.


    import os
    from dotenv import load_dotenv

    # Tải API key từ file .env
    load_dotenv()
    api_key = os.getenv('OPENAI_API_KEY')

    if not api_key:
    raise ValueError("No API key found. Please check your .env file.")
    else:
    print("API key loaded successfully!")


    Output:
    Click image for larger version

Name:	Picture6.png
Views:	0
Size:	59.4 KB
ID:	429460


    Phần 2: Gửi yêu cầu đến OpenAI và nhận phản hồi
    Sau khi có API key, chúng ta sẽ xây dựng một chương trình Python để gửi tin nhắn đến API của OpenAI và nhận phản hồi từ mô hình GPT-4.

    1. Kết Nối OpenAI API
    Sử dụng API Key để tạo một phiên làm việc với OpenAI:
    client = openai.Client(api_key=api_key)

    2. Gửi Tin Nhắn Đến GPT-4
    Dùng phương thức client.chat.completions.create() để gửi tin nhắn
    • model="gpt-4": Chọn mô hình GPT-4 để xử lý câu hỏi.
    • messages=[]: Danh sách tin nhắn gửi đến AI.
      • {"role": "system", "content": "Bạn là trợ lý tuyệt vời"}: Xác định vai trò của AI.
      • {"role": "user", "content": user_message}: Nội dung tin nhắn của người dùng.
    • temperature=0.7: Điều chỉnh mức độ sáng tạo của phản hồi.
    temperature
    Đặc điểm
    0.0 Câu trả lời rất logic, chính xác, nhưng có thể rập khuôn.
    0.3 Trả lời có sự sáng tạo nhẹ, vẫn khá nhất quán.
    0.7 Cân bằng giữa sáng tạo và logic, phù hợp cho chatbot.
    1.0 Trả lời khá ngẫu nhiên, có thể mất tính nhất quán.
    1.0-2.0 Câu trả lời rất sáng tạo, đôi khi khó hiểu hoặc thiếu chính xác
    Trích xuất phản hồi từ OpenAI: response.choices[0].message.content

    import os
    import openai
    from dotenv import load_dotenv

    # Tải API key từ file .env
    load_dotenv()
    api_key = os.getenv('OPENAI_API_KEY')
    if not api_key:
    raise ValueError("No API key found. Please check your .env file.")

    # Khởi tạo OpenAI client
    openai.api_key = api_key

    response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
    {"role": "user", "content": user_message}
    ],
    temperature=0.7
    )

    # Kiểm tra hàm chính để gọi OpenAI
    if __name__ == "__main__":
    test_message = "Xin chào, bạn là ai?"
    reply = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
    {"role": "user", "content": test_message}
    ]
    )
    print(reply.choices[0].message.content)



    Output:
    Click image for larger version

Name:	Picture7.png
Views:	0
Size:	23.6 KB
ID:	429461


    Phần 3: Xây dựng giao diện người dùng cơ bản
    Để giúp người dùng tương tác với AI một cách dễ dàng hơn, chúng ta có thể xây dựng một giao diện dòng lệnh (CLI) đơn giản. Điều này giúp chatbot hoạt động linh hoạt mà không cần tích hợp giao diện đồ họa phức tạp.
    Cách hoạt động
    • Vòng lặp while True: Giúp chương trình luôn sẵn sàng nhận tin nhắn từ người dùng.
    • Điều kiện if user_input.lower() == "exit": Cho phép thoát khỏi chương trình một cách dễ dàng.
    • Hàm ask_chatAI(user_input): Gửi tin nhắn đến OpenAI và nhận phản hồi từ AI.
    import os
    import openai
    from dotenv import load_dotenv

    # Tải API key từ file .env
    load_dotenv()
    api_key = os.getenv('OPENAI_API_KEY')
    if not api_key:
    raise ValueError("No API key found. Please check your .env file.")

    # Khởi tạo OpenAI client
    openai.api_key = api_key

    def ask_chatAI(user_message):
    response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
    {"role": "user", "content": user_message}
    ],
    temperature=0.7
    )
    return response.choices[0].message.content

    # Kiểm tra hàm chính để gọi OpenAI
    if __name__ == "__main__":
    user_input = input("Bạn: ")
    answer = ask_chatAI(user_input)
    print("AI Agent:", answer)​


    output:
    Click image for larger version

Name:	Picture8.png
Views:	0
Size:	47.6 KB
ID:	429462



    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog
Working...
X