주요 콘텐츠로 건너뛰기
버전: 2.0.0

자연어 날씨 앱

이 간단한 웹 애플리케이션을 사용하면 자연어 쿼리(예: "도쿄 일기 예보", "시애틀에 비가 오나요?")를 사용하여 해당 지역의 현재 날씨 또는 일기 예보를 확인할 수 있습니다.

이 기능은 사용자의 요청을 이해하기 위해 Gaia 언어 모델 (OpenAI 호환 엔드포인트를 통해)을 활용하고, 실제 날씨 데이터를 가져오기 위해 Nubila 날씨 API를 활용합니다.

이미지

이미지

정보

이 예제를 설정하고 실행하기 위한 전체 소스 코드와 자세한 지침은 가이아 쿡북 리포지토리에서 확인할 수 있습니다.

특징

  • 일반 영어를 사용하여 현재 날씨 또는 일기 예보를 확인하세요.
  • Gaia LLM을 사용하여 쿼리에서 위치 및 원하는 정보(현재/예측)를 해석합니다.
  • Nubila API에서 자세한 날씨 데이터를 가져옵니다.
  • LLM의 해석(위치, 좌표, 요청 유형)을 표시합니다.
  • LLM이 개념적으로 사용하기로 결정한 함수와 인수를 보여줌으로써 LLM "도구 호출"의 개념을 설명합니다.
  • 빠른 사용을 위해 클릭 가능한 예제 프롬프트를 제공합니다.
  • 바닐라 자바스크립트, Node.js, CSS로 구축된 심플하고 깔끔한 UI.

작동 방식

  1. 사용자 쿼리: 웹 인터페이스에 "베를린 날씨는 어때요?"와 같은 쿼리를 입력합니다.
  2. 백엔드 요청: 쿼리가 브라우저에서 Node.js 백엔드 서버로 전송됩니다.
  3. LLM 분석(가이아): 백엔드는 사용자의 쿼리를 Gaia API로 전송합니다. Gaia가 이를 분석합니다:
    • 위치를 식별합니다(예: "베를린").
    • 대략적인 지리적 좌표(위도 및 경도)를 결정합니다.
    • '현재' 날씨를 원하는지 '예보'를 원하는지 파악하세요.
  4. API 호출(누빌라): 백엔드는 Gaia에서 식별한 좌표와 요청 유형('현재' 또는 '예보')을 사용하여 적절한 Nubila 날씨 API 엔드포인트에 요청을 보냅니다.
  5. 날씨 데이터: Nubila API는 요청된 날씨 데이터로 응답합니다.
  6. 프론트엔드 디스플레이: 백엔드는 가이아의 분석과 누빌라의 날씨 데이터를 모두 브라우저로 다시 전송합니다. 그러면 프론트엔드에 표시됩니다:
    • 가이아가 귀하의 요청을 해석한 방법.
    • 가이아가 '도구 호출'을 할 때의 시뮬레이션입니다.
    • 형식이 지정된 현재 날씨 또는 일기 예보 세부 정보입니다.

전제 조건

설정 및 설치

  1. 리포지토리를 복제(또는 파일을 다운로드)합니다:

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

    (바꾸기 <repository-url> 그리고 <repository-folder-name> 따라서)

  2. 종속성을 설치합니다:

    npm 설치

    이렇게 하면 Express, node-fetch, dotenv 및 cors가 설치됩니다.

구성

  1. 만들기 .env 파일을 만듭니다: 프로젝트의 루트 디렉터리에서 다음과 같은 이름의 파일을 만듭니다. .env.

  2. API 키 및 설정을 추가합니다: 열기 .env 파일을 열고 다음 줄을 추가하여 YOUR_NUBILA_API_KEY_HERE 를 실제 누빌라 API 키와 함께 사용하세요:

    누빌라_API_키=귀하의_누빌라_API_키_여기
    GAIA_API_ENDPOINT=https://llama70b.gaia.domains/v1/chat/completions
    GAIA_API_KEY=귀하의 가이아 API 키
    PORT=3000
    • NUBILA_API_KEY: 누빌라 API의 비밀 키입니다.
    • GAIA_API_ENDPOINT: Gaia LLM의 엔드포인트입니다.
    • GAIA_API_KEY: 이 튜토리얼을 따라 Gaia API 키를 받으세요: https://docs.gaianet.ai/getting-started/authentication
    • PORT: 로컬 서버가 실행될 포트입니다(기본값은 3000).
  3. 중요: 그리고 .env 파일에 민감한 정보(API 키)가 포함되어 있는지 확인하세요. 해당 파일이 .gitignore 파일(복제한 경우 기본적으로 있어야 함)을 버전 관리에 커밋하여 실수로 커밋하는 일이 없도록 하세요.

애플리케이션 실행

  1. 서버를 시작합니다:

    노드 서버.js
  2. 앱을 엽니다: 웹 브라우저를 열고 다음으로 이동합니다: http://localhost:3000 (또는 http://localhost:YOUR_PORT 를 변경한 경우 PORT in .env).

  3. 날씨 검색어를 입력하거나 추천 버튼 중 하나를 클릭하세요!

기술 스택

  • 백엔드: Node.js, Express.js
  • 프론트엔드: 바닐라 자바스크립트(ES6+), HTML5, CSS3
  • API:
    • 자연어 이해를 위한 Gaia API(OpenAI 호환 엔드포인트를 통한)
    • 날씨 데이터를 위한 누빌라 날씨 API
정보

이 예제를 설정하고 실행하기 위한 전체 소스 코드와 자세한 지침은 가이아 쿡북 리포지토리에서 확인할 수 있습니다.