Chuyển đến nội dung chính
Phiên bản: 2.0.0

Ứng dụng thời tiết ngôn ngữ tự nhiên

Ứng dụng web đơn giản này cho phép bạn kiểm tra thời tiết hiện tại hoặc dự báo thời tiết cho một địa điểm bằng cách sử dụng các truy vấn ngôn ngữ tự nhiên (ví dụ: "Dự báo cho Tokyo", "Trời có mưa ở Seattle không?").

Công cụ này tận dụng Mô hình ngôn ngữ Gaia (thông qua điểm cuối tương thích với OpenAI) để hiểu yêu cầu của bạn và API thời tiết Nubila để lấy dữ liệu thời tiết thực tế.

hình ảnh

hình ảnh

Thông tin

Mã nguồn đầy đủ và hướng dẫn chi tiết để thiết lập và chạy ví dụ này có thể được tìm thấy trong kho lưu trữ Gaia Cookbook .

Đặc trưng

  • Nhận thông tin thời tiết hiện tại hoặc dự báo bằng tiếng Anh thông thường.
  • Sử dụng Gaia LLM để diễn giải vị trí và thông tin mong muốn (hiện tại/dự báo) từ truy vấn của bạn.
  • Lấy dữ liệu thời tiết chi tiết từ API Nubila.
  • Hiển thị thông tin giải thích của LLM (vị trí, tọa độ, loại yêu cầu).
  • Minh họa khái niệm "lệnh gọi công cụ" của LLM bằng cách chỉ ra hàm và đối số nào mà LLM quyết định sử dụng về mặt khái niệm.
  • Cung cấp lời nhắc ví dụ có thể nhấp vào để sử dụng nhanh chóng.
  • Giao diện người dùng đơn giản, gọn gàng được xây dựng bằng JavaScript, Node.js và CSS nguyên bản.

Nó hoạt động như thế nào

  1. Truy vấn của người dùng: Bạn nhập truy vấn như "Thời tiết ở Berlin như thế nào?" vào giao diện web.
  2. Yêu cầu phía sau: Truy vấn được gửi từ trình duyệt của bạn đến máy chủ phía sau Node.js.
  3. Phân tích LLM (Gaia): Phần phụ trợ gửi truy vấn của bạn đến Gaia API. Gaia phân tích truy vấn đó để:
    • Xác định vị trí (ví dụ: "Berlin").
    • Xác định tọa độ địa lý gần đúng (vĩ độ và kinh độ).
    • Hiểu xem bạn muốn biết 'thời tiết hiện tại' hay 'dự báo'.
  4. Cuộc gọi API (Nubila): Phần phụ trợ sử dụng tọa độ và loại yêu cầu ('hiện tại' hoặc 'dự báo') được Gaia xác định để gửi yêu cầu đến điểm cuối API thời tiết Nubila thích hợp.
  5. Dữ liệu thời tiết: API Nubila phản hồi bằng dữ liệu thời tiết được yêu cầu.
  6. Màn hình Frontend: Phần phụ trợ gửi cả dữ liệu phân tích của Gaia và dữ liệu thời tiết của Nubila trở lại trình duyệt của bạn. Sau đó, phần giao diện sẽ hiển thị:
    • Gaia đã giải thích yêu cầu của bạn như thế nào.
    • Mô phỏng "tiếng gọi công cụ" mà Gaia sẽ thực hiện.
    • Chi tiết dự báo hoặc thời tiết hiện tại được định dạng.

Điều kiện tiên quyết

  • Node.js và npm: Tải xuống và cài đặt từ nodejs.org .
  • Khóa API Nubila: Bạn cần khóa API từ Nubila Weather API. Đăng ký hoặc đăng nhập tại đây để lấy khóa.

Thiết lập & Cài đặt

  1. Sao chép kho lưu trữ (hoặc tải xuống các tệp):

    git clone <repository-url>
    cd <repository-folder-name>

    (Thay thế <repository-url><repository-folder-name> theo đó)

  2. Cài đặt các phụ thuộc:

    Cài đặt npm

    Lệnh này sẽ cài đặt Express, node-fetch, dotenv và cors.

Cấu hình

  1. Tạo nên .env tài liệu: Trong thư mục gốc của dự án, tạo một tệp có tên .env.

  2. Thêm Khóa API và Cài đặt: Mở .env tập tin và thêm các dòng sau, thay thế KHÓA API NUBILA CỦA BẠN Ở ĐÂY với khóa API Nubila thực tế của bạn:

    NUBILA_API_KEY=KHÓA_API_NUBILA_CỦA BẠN_TẠI ĐÂY
    GAIA_API_ENDPOINT=https://llama70b.gaia.domains/v1/chat/completions
    GAIA_API_KEY=khóa-api-gaia-của-bạn
    CỔNG=3000
    • KHÓA API NUBILA: Khóa bí mật của bạn cho API Nubila.
    • ĐIỂM KẾT THÚC GAIA_API: Điểm cuối của Gaia LLM.
    • GAIA_API_KEY: Nhận khóa API Gaia của bạn bằng cách làm theo hướng dẫn này: https://docs.gaianet.ai/getting-started/authentication
    • CẢNG: Cổng mà máy chủ cục bộ sẽ chạy (mặc định là 3000).
  3. Quan trọng: Các .env tệp chứa thông tin nhạy cảm (khóa API của bạn). Đảm bảo nó được liệt kê trong .gitignore tệp (sẽ là mặc định nếu bạn sao chép) để bạn không vô tình đưa nó vào kiểm soát phiên bản.

Chạy ứng dụng

  1. Khởi động máy chủ:

    máy chủ nút.js
  2. Mở ứng dụng: Mở trình duyệt web của bạn và điều hướng đến: http://localhost:3000 (hoặc http://localhost:YOUR_PORT nếu bạn đã thay đổi CẢNG trong .env).

  3. Nhập câu hỏi về thời tiết của bạn hoặc nhấp vào một trong các nút gợi ý!

Công nghệ Stack

  • Phần cuối: Node.js, Express.js
  • Giao diện: JavaScript gốc (ES6+), HTML5, CSS3
  • API:
    • API Gaia (thông qua điểm cuối tương thích OpenAI) để hiểu ngôn ngữ tự nhiên
    • Nubila Weather API cho dữ liệu thời tiết
Thông tin

Mã nguồn đầy đủ và hướng dẫn chi tiết để thiết lập và chạy ví dụ này có thể được tìm thấy trong kho lưu trữ Gaia Cookbook .