권장사항

이 페이지에는 Dialogflow API 작업 방법에 대한 권장사항이 포함되어 있습니다. 이 가이드라인은 Dialogflow API의 적절한 응답 시간과 효율성 및 정확성을 향상하기 위해 마련되었습니다.

에이전트 설계

에이전트 설계는 에이전트의 품질과 성능에 큰 영향을 미칠 수 있습니다. 에이전트 설계 가이드에서 권장사항을 참조하세요.

세션 클라이언트 범위

여러 요청을 다루는 세션 클라이언트를 만들어 코드의 성능을 향상할 수 있습니다.

API 요청에는 API에 대한 액세스 권한을 부여하고 Google Cloud Platform 프로젝트 및 계정을 식별하는 토큰이 포함되어야 합니다. 클라이언트 라이브러리를 사용하여 세션 클라이언트 객체를 만들 때 클라이언트 라이브러리는 제공한 사용자 인증 정보 또는 애플리케이션 기본 사용자 인증 정보에 따라 액세스 토큰을 얻습니다. 액세스 토큰을 얻기 위해 추가적인 처리를 수행하면 API 요청이 1~2초 지연될 수 있습니다.

성능을 향상시키기 위해 여러 요청에 세션 클라이언트 객체의 단일 인스턴스를 사용할 수 있습니다. 세션 클라이언트는 액세스 토큰이 유효한 경우에 한해(일반적으로 1시간) 같은 토큰을 재사용합니다. 이 토큰이 만료되면 세션 클라이언트에서 액세스 토큰을 자동으로 새로 고치므로 액세스 토큰을 새로 고치기 위해 세션 클라이언트를 다시 만들지 않아도 됩니다. 액세스 토큰을 새로 고치는 요청에 2~3초 더 걸릴 수 있습니다.

이 방식은 성능이 더 좋지만 다른 프로젝트로 쉽게 복사할 있는 단일 메소드 호출에 세션 클라이언트를 만드는 코드를 포함할 수 없으므로 이식성은 낮습니다.

예를 들어 다음 Node.js 클라이언트 라이브러리 코드는 같은 세션 클라이언트를 detectTextIntent 메소드에 대한 여러 호출에 사용하므로 성능이 더 좋습니다.

// Import the Dialogflow library
const dialogflow = require('dialogflow');

// Instantiate a session client
const sessionClient = new dialogflow.SessionsClient();

function detectTextIntent(projectId, sessionId, queries, languageCode) {
  if (!queries || !queries.length) {
    return;
  }

  // The path to identify the agent that owns the created intent.
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  ...

또는 다음과 같은 Node.js 클라이언트 라이브러리 코드는 detectTextIntent 메소드에 세션 클라이언트 만들기가 포함되기 때문에 좀 더 이식하기 쉬운 코드로 간주됩니다.

function detectTextIntent(projectId, sessionId, queries, languageCode) {
  // Import the Dialogflow library
  const dialogflow = require('dialogflow');

  // Instantiate a session client
  const sessionClient = new dialogflow.SessionsClient();

  if (!queries || !queries.length) {
    return;
  }

  // The path to identify the agent that owns the created intent.
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  ...

클라이언트 라이브러리를 사용하여 API에 액세스하는 방법에 대한 자세한 내용은 클라이언트 라이브러리를 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Dialogflow 문서
도움이 필요하시나요? 지원 페이지를 방문하세요.