Select AI를 사용하여 자연어 프롬프트에서 SQL 생성

Autonomous Database on Dedicated Exadata Infrastructure Select AI를 사용하면 자연어를 사용하여 데이터를 쿼리할 수 있습니다.

AI 선택 기능을 통해 Autonomous Database는 생성형 AI를 대규모 언어 모델(LLM)과 함께 사용하여 사용자의 입력 텍스트를 Oracle SQL로 변환할 수 있습니다. Select AI는 자연어 프롬프트를 처리하고, 메타데이터로 프롬프트를 보완한 후 SQL 질의를 생성 및 실행합니다.

관련 항목

용어

사용하기 전에 Select AI와 함께 사용되는 다양한 용어를 이해하는 것이 중요합니다.

다음은 AI 선택 기능과 관련된 용어입니다.

용어 정의

데이터베이스 인증서

데이터베이스 인증서는 데이터베이스에 액세스하고 데이터베이스와 상호 작용하는 데 사용되는 인증 인증서입니다. 일반적으로 사용자 이름과 암호로 구성되며 때로는 보안 토큰과 같은 추가 인증 요소로 보완됩니다. 이러한 인증서는 응용 프로그램이나 유저와 데이터베이스 간에 보안 연결을 설정하는 데 사용되며, 권한이 부여된 개인이나 시스템만 데이터베이스 내에 저장된 데이터에 액세스하고 조작할 수 있도록 합니다.

LLM에서 환각

대형 언어 모델의 맥락에서 환각은 모델이 입력 프롬프트와 관련이 없거나, 비의미하거나, 관련이 없는 텍스트를 생성하는 현상입니다. 모델이 일관된 텍스트를 생성하려고 시도한 결과에도 불구하고 이러한 인스턴스에는 제작, 오도 또는 순전히 상상력이 있는 정보가 포함될 수 있습니다. 환각은 훈련 데이터의 편향, 적절한 맥락 이해의 부족 또는 모델의 훈련 과정의 제한으로 인해 발생할 수 있습니다.

IAM Oracle Cloud Infrastructure Identity and Access Management(IAM)를 사용하면 클라우드 리소스에 접근할 수 있는 사용자를 제어할 수 있습니다. 사용자 그룹이 갖는 액세스 유형 및 특정 리소스에 대한 액세스를 제어할 수 있습니다. 자세한 내용은 ID 및 액세스 관리 개요를 참조하십시오.

LLM(Large Language Model)

대규모 언어 모델은 인간과 유사한 언어, 소프트웨어 코드 및 데이터베이스 쿼리를 이해하고 생성하기 위해 방대한 양의 텍스트 데이터를 학습한 고급 인공 지능 모델을 가리킵니다. 이러한 모델은 텍스트 생성, 번역, 요약, 질문 답변, 감정 분석 등을 포함한 다양한 자연어 처리 작업을 수행할 수 있습니다. 일반적으로 LLM은 입력 데이터에서 패턴, 컨텍스트 및 의미를 학습하는 신경망 기반 아키텍처로, 일관적이고 상황에 맞는 텍스트를 생성할 수 있습니다.

자연어 프롬프트

자연어 프롬프트는 사람이 읽을 수 있는 지침 또는 대규모 언어 모델과 같은 생성형 AI 모델을 안내하기 위한 요청입니다. 사용자는 특정 프로그래밍 언어 또는 명령을 사용하는 대신 보다 대화형 또는 자연어 형식으로 프롬프트를 입력하여 이러한 모델과 상호 작용할 수 있습니다. 그런 다음 제공된 프롬프트를 기반으로 출력을 생성합니다.

네트워크 액세스 제어 목록(ACL)

네트워크 액세스 제어 목록은 라우터, 방화벽 또는 게이트웨이와 같은 네트워크 장치를 통과할 수 있는 네트워크 트래픽을 정의하는 규칙 또는 권한 세트입니다. ACL은 IP 주소, 포트 번호 및 프로토콜과 같은 다양한 조건에 따라 수신 및 송신 트래픽을 제어하고 필터링하는 데 사용됩니다. 관리자는 무단 액세스, 잠재적 공격 및 데이터 침해를 방지하기 위해 네트워크 트래픽을 관리하고 제한할 수 있으므로 네트워크 보안에서 중요한 역할을 합니다.

Select AI 사용 예

Oracle의 Select AI와 OpenAI, Cohere, Azure Open AI, OCI Generative AI 등의 다양한 AI 제공업체를 통합하여 자연어에서 직접 SQL 쿼리를 생성하는 방법을 살펴보세요.

이 예제에서는 일반적인 Select AI 작업을 소개하고 해당 작업을 활용하기 위해 다양한 AI 제공자와 프로파일을 설정하는 방법을 안내합니다.

예: AI 작업 선택

다음 예에서는 runsql, showsql, narrate, chatexplainsql와 같이 SELECT AI로 수행할 수 있는 작업을 보여 줍니다. 이러한 예에서는 DBMS_CLOUD_AI.CREATE_PROFILE 함수에 설정된 AI 공급자 및 프로파일 속성과 함께 sh 스키마를 사용합니다.

SQL> select ai how many customers exist;
 
CUSTOMER_COUNT
--------------
         55500
 
SQL> select ai showsql how many customers exist;
 
RESPONSE
----------------------------------------------------
SELECT COUNT(*) AS total_customers
FROM SH.CUSTOMERS
 
 
SQL> select ai narrate how many customers exist;
 
RESPONSE
------------------------------------------------------
There are a total of 55,500 customers in the database.
 
SQL> select ai chat how many customers exist;
 
RESPONSE
--------------------------------------------------------------------------------
It is impossible to determine the exact number of customers that exist as it con
stantly changes due to various factors such as population growth, new businesses
, and customer turnover. Additionally, the term "customer" can refer to individu
als, businesses, or organizations, making it difficult to provide a specific num
ber.


SQL> select ai explainsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS customer_count
FROM SH.CUSTOMERS AS c
WHERE c.CUST_STATE_PROVINCE = 'San Francisco' AND c.CUST_MARITAL_STATUS = 'Married';
 
Explanation:
- We use the 'SH' table alias for the 'CUSTOMERS' table for better readability.
- The query uses the 'COUNT(*)' function to count the number of rows that match the given conditions.
- The 'WHERE' clause is used to filter the results:
  - 'c.CUST_STATE_PROVINCE = 'San Francisco'' filters customers who have 'San Francisco' as their state or province.
  - 'c.CUST_MARITAL_STATUS = 'Married'' filters customers who have 'Married' as their marital status.
The result of this query will give you the count of customers in San Francisco who are married, using the column alias 'customer_count' for the result.
 
Remember to adjust the table and column names based on your actual schema if they differ from the example.
 
Feel free to ask if you have more questions related to SQL or database in general.

사용법 지침

향상된 사용자 경험을 보장하기 위해 SQL 생성을 위한 자연어 프롬프트를 효과적이고 적절하게 사용하는 사용 지침을 제공합니다.

용도

이 기능은 사용자가 제공한 자연어 프롬프트로 인해 발생하는 SQL 쿼리를 생성하고 실행하기 위한 것입니다. 또한 사용자가 선택한 대규모 언어 모델(LLM)과 함께 스키마 메타데이터를 기반으로 수동으로 수행할 수 있는 작업을 자동화합니다.

SQL 쿼리 결과의 운용과 관련이 없는 프롬프트를 포함하여 모든 프롬프트를 제공할 수 있지만 Select AI는 SQL 쿼리 생성에 중점을 둡니다. AI를 선택하면 chat 작업을 사용하여 일반 요청을 제출할 수 있습니다.

프롬프트 보강 데이터

데이터베이스는 LLM의 환각을 완화하기 위해 데이터베이스 메타데이터로 사용자 지정 프롬프트를 보완합니다. 그런 다음 증강 프롬프트가 사용자 지정 LLM으로 전송되어 질의를 생성합니다.

데이터베이스는 스키마 메타 데이터로만 프롬프트를 보강합니다. 이 메타 데이터에는 스키마 정의, 테이블 및 열 설명, 데이터 딕셔너리 및 카탈로그에서 사용할 수 있는 컨텐트가 포함될 수 있습니다. SQL 생성을 위해 데이터베이스는 프롬프트를 보강할 때 테이블 또는 뷰 컨텐트(실제 행 또는 열 값)를 제공하지 않습니다.

그러나 narrate 작업은 질의 결과를 설명하는 자연어 텍스트를 생성할 수 있는 사용자 지정 LLM에 데이터베이스 데이터를 포함할 수 있는 질의 결과를 제공합니다.

경고:

대규모 언어 모델(LLM)은 일반적으로 인터넷을 통해 광범위한 텍스트 문서 및 콘텐츠 세트에 대해 교육을 받았습니다. 결과적으로 LLM은 SQL 주입(Injection)을 포함하여 유효하지 않거나 악의적인 컨텐트의 패턴을 통합할 수 있습니다. 따라서 LLM은 유용하고 관련성이 높은 콘텐츠를 생성하는 데 능숙하지만 부정확한 결과를 생성하거나 데이터의 보안을 손상시키는 SQL 쿼리를 포함한 부정확하고 잘못된 정보를 생성할 수도 있습니다.

사용자 지정 LLM 제공자가 사용자를 대신하여 생성한 질의가 데이터베이스에서 실행됩니다. 귀하가 본 기능을 사용하는 것은 전적으로 귀하의 책임이며 Oracle이 제공하는 서비스와 관련된 기타 조항 및 조건에도 불구하고 해당 위험을 수락하고 그 사용으로 인해 발생하는 모든 손해에 대해 Oracle의 책임 또는 책임을 명시적으로 배제합니다.

SQL 생성 정보

이제 자연어를 사용하여 데이터베이스 데이터와 상호 작용할 수 있게 되었습니다. 즉, 일반 영어와 같은 자연어를 사용하여 데이터베이스를 query할 수 있습니다.

Select AI를 사용하면 Autonomous Database가 자연어를 SQL로 변환하는 프로세스를 관리합니다. 즉, SQL 코드 대신 자연어 프롬프트를 제공하여 데이터와 상호 작용할 수 있습니다. Select AI는 SQL 사용자 및 개발자를 위한 생산성 도구 역할을 하며, 비전문가 SQL 사용자가 데이터 구조 또는 기술 언어를 이해하지 않고도 데이터에서 유용한 인사이트를 도출할 수 있도록 지원합니다.

The DBMS_CLOUD_AI package in Autonomous Database enables integration with a user-specified LLM for generating SQL code using natural language prompts. 이 패키지는 데이터베이스 스키마에 대한 정보를 LLM에 제공하고 해당 스키마와 일치하는 SQL 질의를 작성하도록 지시하는 데 도움이 됩니다. DBMS_CLOUD_AI 패키지는 OpenAI, Cohere, Azure OpenAI Service, Oracle Cloud Infrastructure Generative AI와 같은 AI 제공업체와 함께 작동합니다.

주:

사용자는 AI 제공자에 대한 계정이 있어야 하며 Autonomous Database에서 사용하는 DBMS_CLOUD_AI 객체를 통해 자격 증명을 제공해야 합니다.

DBMS_CLOUD_AI를 사용하여 AI 프로파일 구성

Autonomous Database는 AI 프로파일을 사용하여 LLM에 대한 액세스를 지원 및 구성하고, 자연어 프롬프트에서 SQL 문을 생성하도록 설정합니다.

AI 프로파일에는 자연어 쿼리의 대상인 데이터베이스 객체가 포함됩니다. 이러한 대상에서 사용되는 메타 데이터에는 데이터베이스 테이블 이름, 열 이름, 열 데이터 유형 및 주석이 포함될 수 있습니다. DBMS_CLOUD_AI.CREATE_PROFILEDBMS_CLOUD_AI.SET_PROFILE 절차를 사용하여 AI 프로파일을 만들고 구성합니다.

DBMS_CLOUD_AI 패키지 구성 요구 사항

DBMS_CLOUD_AI를 실행하려면 다음이 필요합니다.

  • Oracle Cloud Infrastructure 클라우드 계정 및 Autonomous Database 인스턴스에 액세스합니다.
  • 지원되는 AI 공급자에 대한 유료 API 계정은 다음 중 하나입니다.
    • OpenAI: 자연어 프롬프트에서 SQL을 생성하기 위해 OpenAI를 사용으로 설정하려면 OpenAI 유료 계정에서 API 키를 가져옵니다.

      보안 API 키는 사용자 설정에서 찾을 수 있습니다.

    • Cohere: Cohere가 자연어 프롬프트에서 SQL을 생성할 수 있도록 하려면 Cohere 유료 계정에서 API 키를 받습니다.

      대시보드를 누르고 왼쪽 탐색에서 API 키를 누릅니다. 기본 API 키를 복사하거나 다른 키를 생성합니다. 자세한 내용은 API-Keys를 참조하십시오.

    • Azure OpenAI 서비스: 자연어 프롬프트에서 SQL을 생성하기 위해 Azure OpenAI 서비스를 사용으로 설정하려면 AI 제공자를 구성하고 액세스 권한을 제공합니다.

      Azure OpenAI Service를 사용하려면 다음 단계를 수행합니다.

      1. 보안 API 키를 얻습니다. API 키는 Azure 포털의 Resource Management 섹션에서 찾을 수 있습니다. Azure OpenAI 서비스 리소스 페이지에서 키 및 끝점을 누릅니다. KEY1 또는 KEY2를 복사할 수 있습니다.
      2. Azure OpenAI 서비스 리소스를 생성하고 Azure OpenAI 서비스 리소스 생성 및 배포 모델을 배포합니다.

        참고:

        • 이러한 매개변수는 네트워크 액세스 권한을 제공하고 DBMS_CLOUD_AI.CREATE_PROFILE 프로시저를 사용하여 Azure OpenAI Service 프로파일을 만드는 데 사용되므로 리소스 이름과 배포 이름을 확인합니다.
        • 모델에서 분당 토큰의 비율 제한에 대해 자세히 알아보려면 Azure OpenAI 서비스 할당량 및 제한을 참조하십시오.
      3. Azure OpenAI 서비스에 대한 액세스 허용:
        • 보안 API 키를 사용하여 Azure OpenAI Service에 대한 액세스를 허용할 수 있습니다. 자세한 내용은 Examples of Using Select AI의 예를 참조하십시오.
    • OCI Generative AI: How to Generate the API Signing Key을 참조하십시오.
    • Google: Google AI Studio가 자연어 프롬프트에 대한 SQL 및 텍스트 응답을 생성할 수 있도록 하려면 Google AI Studio 유료 계정에서 API 키를 가져옵니다.
      1. Google AI Studio로 이동합니다.
      2. Sign In to Google AI Studio를 누릅니다.
      3. 프롬프트 화면에서 Get API key를 누릅니다.
      4. 다음 페이지에서 적용 가능한 모든 옵션을 선택합니다.
      5. Create API key를 누릅니다.
      6. 새 프로젝트에서 [API 키 생성]을 누릅니다.

        화면에 진행률이 표시되고 API 키가 생성됩니다. 키를 복사하고 저장합니다.

    • Anthropic: Anthropic Developer Console이 자연어 프롬프트에 대한 SQL 및 텍스트 응답을 생성할 수 있도록 하려면 Anthropic Developer Console 유료 계정에서 API 키를 얻습니다.
      1. Anthropic Developer Console로 이동합니다.
      2. 아직 계정이 없으면 계정을 만드세요.
      3. 로그인한 후 API 섹션 또는 대시보드로 이동합니다.
      4. API 키를 생성하거나 볼 수 있는 옵션을 찾습니다.
      5. 새 API 키를 생성하려면 누릅니다.
      6. 생성된 API 키를 복사하여 저장합니다.

        Claude API는 유료 서비스입니다. API 키를 사용하려면 먼저 계정에 크레딧을 추가해야 합니다.

    • Hugging Face: AI 제공자로서 Hugging Face가 자연어 프롬프트에 대한 SQL 및 텍스트 응답을 생성할 수 있도록 하려면 Hugging Face 유료 계정에서 API 키를 가져옵니다.
      1. Hugging Face로 이동합니다.
      2. 아직 계정이 없으면 계정을 만드세요.
      3. 계정 설정으로 이동합니다.
      4. 탐색 메뉴에서 액세스 토큰을 찾습니다.
      5. 새 API 키를 생성하려면 누릅니다.
      6. 생성된 API 키를 복사하여 저장합니다.
  • 외부 AI 제공자에 액세스할 수 있는 네트워크 ACL 권한입니다.

    주:

    OCI Generative AI에는 네트워크 ACL을 적용할 수 없습니다.
  • AI 제공자에 대한 액세스를 제공하는 인증서입니다.

DBMS_CLOUD_AI 패키지 구성

Select AI를 사용하기 전에 DBMS_CLOUD_AI을 사용으로 설정하는 단계가 있습니다.

DBMS_CLOUD_AI를 구성하려면 다음과 같이 합니다.
  1. Select AI를 사용하려는 사용자에게 DBMS_CLOUD_AI 패키지에 대한 EXECUTE 권한을 부여합니다.

    기본적으로 ADMIN 사용자에게만 EXECUTE 권한이 부여됩니다. ADMIN 사용자는 다른 사용자에게 EXECUTE 권한을 부여할 수 있습니다.

  2. Select AI 및 AI 공급자 끝점을 사용하려는 사용자에게 네트워크 ACL 액세스 권한을 부여합니다.

    ADMIN 사용자는 네트워크 ACL 액세스 권한을 부여할 수 있습니다. 자세한 내용은 Oracle Database 19c PL/SQL Packages and Types ReferenceAPPEND_HOST_ACE Procedure 또는 Oracle Database 23ai PL/SQL Packages and Types Reference를 참조하십시오.

  3. AI 제공자에 대한 액세스를 사용으로 설정할 인증서를 생성합니다.

    자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.

다음 예에서는 EXECUTE 권한을 ADB_USER에 부여합니다.
grant execute on DBMS_CLOUD_AI to ADB_USER;

다음 예에서는 ADB_USERapi.openai.com 끝점을 사용할 수 있는 권한을 부여합니다.

BEGIN  
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'api.openai.com',
         ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                             principal_name => 'ADB_USER',
                             principal_type => xs_acl.ptype_db)
   );
END;
/

APPEND_HOST_ACE 함수 매개변수

매개변수 설명

host

호스트 - 호스트의 이름 또는 IP 주소일 수 있습니다. 와일드카드를 사용하여 도메인 또는 IP 서브넷을 지정할 수 있습니다. 호스트 또는 도메인 이름은 대소문자를 구분하지 않습니다.

OpenAI의 경우 api.openai.com를 사용합니다.

Cohere의 경우 api.cohere.ai를 사용합니다.

Azure OpenAI Service의 경우 <azure_resource_name>.openai.azure.com를 사용합니다. azure_resource_name에 대한 자세한 내용은 프로파일 속성을 참조하십시오.

Google의 경우 generativelanguage.googleapis.com를 사용합니다.

Anthropic의 경우 api.anthropic.com를 사용합니다.

Hugging Face의 경우 api-inference.huggingface.co를 사용합니다.

ace

ACE(액세스 제어 항목)입니다. XS$ACE_TYPE 유형은 ACL에 대한 각 ACE 항목을 구성하기 위해 제공됩니다. 자세한 내용은 Oracle Database 19c Real Application Security Administrator's and Developer's GuideCreating ACLs and ACEs 또는 Oracle Database 23ai Real Application Security Administrator's and Developer's Guide를 참조하십시오.

다음은 OpenAI에 대한 액세스를 사용으로 설정하기 위해 인증서를 생성하는 방법의 예입니다.

EXEC DBMS_CLOUD.CREATE_CREDENTIAL('OPENAI_CRED', 'OPENAI', 'your_api_token');

DBMS_CLOUD.CREATE_CREDENTIAL 매개변수

매개변수 설명

credential_name

저장할 인증서의 이름입니다. credential_name 매개변수는 공백이나 하이픈을 허용하지 않는 Oracle 객체 이름 지정 규칙을 준수해야 합니다.

username

usernamepassword 인수는 AI 제공자 인증서를 함께 지정합니다.

username은 사용자가 지정한 사용자 이름입니다.

password

usernamepassword 인수는 AI 제공자 인증서를 함께 지정합니다.

password은 AI 제공자 보안 API 키로, 제공자에 따라 다릅니다. 예: OpenAI, Cohere, Azure OpenAI Service, OCI, Google, Anthropic, Hugging Face. 자세한 내용은 Requirements to Configure DBMS_CLOUD_AI Package을 참조하십시오.

AI 프로파일 만들기 및 설정

AI 프로파일을 만들고 사용으로 설정하는 단계를 설명합니다.

DBMS_CLOUD_AI.CREATE_PROFILE를 사용하여 AI 프로파일을 만듭니다. 다음으로 DBMS_CLOUD_AI.SET_PROFILE를 시작하여 자연어 프롬프트와 함께 SELECT AI를 사용할 수 있도록 AI 프로파일을 사용으로 설정합니다.

주:

SELECT AI를 사용하기 전에 각각의 새 데이터베이스 세션(연결)에서 DBMS_CLOUD_AI.SET_PROFILE를 실행해야 합니다.

다음 예에서는 OpenAI 제공자가 OPENAI이라는 AI 프로파일을 만들고 현재 사용자 세션에 대해 OPENAI 프로파일을 설정합니다.

-- Create AI profile
--
SQL> BEGIN
  DBMS_CLOUD_AI.create_profile(
      'OPENAI',
      '{"provider": "openai",
        "credential_name": "OPENAI_CRED",
        "object_list": [{"owner": "SH", "name": "customers"},
                        {"owner": "SH", "name": "sales"},
                        {"owner": "SH", "name": "products"},
                        {"owner": "SH", "name": "countries"}]
       }');
END;
/
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
 
PL/SQL procedure successfully completed.

AI 키워드를 사용하여 프롬프트 입력

자연어 프롬프트를 사용하여 데이터베이스와 상호 작용하려면 SELECT 문에서 AI을 키워드로 사용합니다.

SELECT 문의 AI 키워드는 SQL 실행 엔진이 활성 AI 프로파일에서 식별된 LLM을 사용하여 자연어를 처리하고 SQL을 생성하도록 지시합니다.

SQL Developer, OML Notebooks 및 타사 도구와 같은 Oracle 클라이언트와 쿼리에 AI 키워드를 사용하여 자연어로 데이터베이스와 상호 작용할 수 있습니다.

주:

AI 키워드를 사용하여 PL/SQL 문, DDL 문 또는 DML 문은 실행할 수 없습니다.

구문

AI 프롬프트 실행 구문은 다음과 같습니다.
SELECT AI action natural_language_prompt

매개변수

action 매개변수에 사용할 수 있는 매개변수는 다음과 같습니다.
매개변수 설명

runsql

자연어 프롬프트를 사용하여 제공된 SQL 명령을 실행합니다. 기본 작업이며 이 매개변수를 지정하는 것은 선택 사항입니다.

showsql

자연어 프롬프트에 대한 SQL 문을 표시합니다.

narrate

프롬프트 출력은 자연어로 설명됩니다. 이 옵션은 자연어 요약을 생성하기 위해 SQL 결과를 AI 제공자에게 전송합니다.

chat

프롬프트에 따라 LLM에서 직접 응답을 생성합니다. DBMS_CLOUD_AI.CREATE_PROFILE 함수의 conversationtrue로 설정된 경우 이 옵션에는 스키마 메타데이터를 포함하여 이전 상호 작용 또는 프롬프트의 콘텐츠가 포함됩니다.

explainsql

프롬프트에서 생성된 SQL은 자연어로 설명됩니다. 이 옵션은 생성된 SQL을 AI 제공자에게 전송하여 자연어 설명을 생성합니다.

사용법 참고

  • AI 선택은 데이터베이스 작업 또는 APEX 서비스에서 지원되지 않습니다. DBMS_CLOUD_AI.GENERATE 함수만 사용할 수 있습니다.

  • AI 키워드는 SELECT 문에서만 지원됩니다.

  • AI 키워드를 사용하여 PL/SQL 문, DDL 문 또는 DML 문은 실행할 수 없습니다.

  • 순서는 SELECT 뒤에 AI가 옵니다. 이 키워드에서는 대소문자를 구분하지 않습니다. DBMS_CLOUD_AI.SET_PROFILE가 구성된 후 SELECT AI 뒤에 오는 텍스트는 자연어 프롬프트입니다. AI 프로파일이 설정되지 않은 경우 SELECT AI에서 다음 오류를 보고합니다.

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • 특수 문자 사용 규칙은 Oracle 지침에 따라 적용됩니다. 예를 들어 문장에 아포스트로피를 사용하는 경우 작은 따옴표를 두 번 사용합니다.

    select ai how many customers in SF don''t own their own home
  • LLM에는 hallucinations가 적용되며 결과가 항상 정확하지는 않습니다.

    • SELECT AI가 특정 자연어 프롬프트에 대해 생성된 SQL을 실행하지 못할 수 있습니다.

    • SELECT AI가 특정 자연어 프롬프트에 대해 SQL을 생성하지 못할 수 있습니다.

    이러한 시나리오에서 SELECT AI는 유효한 SQL을 생성하는 데 도움이 되는 정보로 응답합니다.

  • chat 작업을 SELECT AI chat와 함께 사용하여 SQL 생성자에 대해 자세히 알아봅니다. chat 작업을 통해 더 나은 결과를 얻으려면 컨텍스트 열 이름이 있는 데이터베이스 뷰 또는 테이블을 사용하거나 열에 저장된 값을 설명하는 열 설명을 추가하는 것이 좋습니다.

  • DBA 또는 USER 뷰에 액세스하려면 DBMS_CLOUD_AI 뷰를 참조하십시오.