목차
학습 목표
목차
전통적인 텍스트 간 SQL 접근법의 한계
Rag-to-SQL이란 무엇입니까?
Google Cloud로 Rag-to-SQL 설정 : 단계별 가이드
코드의 사전 반품
코드 흐름도
1 단계 : 필요한 라이브러리 설치
2 단계 : Google 클라우드 프로젝트 및 자격 증명 구성
3 단계 : 테이블 스키마 스토리지 용 벡터 데이터베이스 구축
4 단계 : SQL 쿼리, 해석 및 에이전트 체인에 대한 LLM 모델 인스턴스화
5 단계 : SQL 쿼리 체인 구성
6 단계 : 해석을 위해 SQL 체인 출력을 정제합니다
7 단계 : 쿼리 결과를위한 해석 체인 구축
8 단계 : 동적 쿼리 라우팅을위한 에이전트 체인 구현
관찰
결론
주요 테이크 아웃
자주 묻는 질문
기술 주변기기 일체 포함 Google Cloud의 Rag-to-SQL

Google Cloud의 Rag-to-SQL

Mar 20, 2025 am 10:16 AM

Text-to-SQL Technologies는 종종 사용자의 요청의 완전한 컨텍스트와 의미를 캡처하기 위해 고군분투하여 의도 한 것과 정확히 일치하지 않는 쿼리를 초래합니다. 개발자는 이러한 시스템을 향상시키기 위해 열심히 노력하지만 더 나은 방법이 있는지 의문을 제기 할 가치가 있습니다.

자연 언어 이해와 강력한 데이터 검색을 결합하여 정확한 SQL 쿼리를 생성하는 새로운 접근법 인 Rag-to-SQL을 입력하십시오. Rag-to-SQL은 최고의 자연어 처리 및 정보 검색을 혼합하여 일상 언어를 데이터베이스의 의미있는 통찰력으로 전환하는보다 안정적인 방법을 제공합니다.

이 기사에서는 Rag-to-SQL이 특히 BigQuery 및 Vertex AI와 같은 Google Cloud 서비스를 사용하여 데이터베이스와 상호 작용하는 방식을 변환 할 수있는 방법을 살펴 보겠습니다.

학습 목표

  • 사용자 의도를 정확하게 캡처 할 때 텍스트 간 SQL 시스템의 한계를 식별하십시오.
  • 보다 신뢰할 수있는 SQL 쿼리를 생성하기위한 새로운 패러다임으로 Rag-to-SQL의 장점을 이해하십시오.
  • BigQuery 및 Vertex AI와 같은 Google Cloud 서비스를 사용하여 Rag-to-SQL 접근 방식을 구현하십시오.
  • Rag-to-SQL 구현을 위해 여러 Google 클라우드 도구를 통합하고 활용하는 방법을 알아보십시오.

이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .

목차

  • 학습 목표
  • 전통적인 텍스트 간 SQL 접근법의 한계
  • Rag-to-SQL이란 무엇입니까?
  • Google Cloud로 Rag-to-SQL 설정 : 단계별 가이드
    • 코드의 사전 반품
    • 코드 흐름도
    • 1 단계 : 필요한 라이브러리 설치
    • 2 단계 : Google 클라우드 프로젝트 및 자격 증명 구성
    • 3 단계 : 테이블 스키마 스토리지 용 벡터 데이터베이스 구축
    • 4 단계 : SQL 쿼리, 해석 및 에이전트 체인에 대한 LLM 모델 인스턴스화
    • 5 단계 : SQL 쿼리 체인 구성
    • 6 단계 : 해석을 위해 SQL 체인 출력을 정제합니다
    • 7 단계 : 쿼리 결과를위한 해석 체인 구축
    • 8 단계 : 동적 쿼리 라우팅을위한 에이전트 체인 구현
  • 결론
    • 주요 테이크 아웃
  • 자주 묻는 질문

전통적인 텍스트 간 SQL 접근법의 한계

LLM의 SQL 모델에 대한 텍스트의 주요 아이디어는 SQL에 대해 모르는 사람들이 데이터베이스와 상호 작용하고 자연어를 사용하여 정보를 얻을 수 있도록하는 것이 었습니다. 기존 텍스트 2 SQL 프레임 워크는 주로 LLM 지식에 의존하여 자연어 쿼리를 SQL 쿼리로 변환 할 수 있습니다. 이로 인해 SQL 쿼리가 잘못되거나 잘못 공식화 될 수 있습니다. 이곳은 SQL에 대한 새로운 접근 Rag가 다음 섹션에서 설명되는 구조에 오는 곳입니다.

Rag-to-SQL이란 무엇입니까?

텍스트의 단점을 SQL로 극복하기 위해 Rag의 혁신적인 접근 방식을 SQL로 사용할 수 있습니다. 데이터베이스에 대한 도메인 정보의 통합은 각 텍스트-SQL 소프트웨어가 직면 한 주요 문제입니다. RAG2SQL 아키텍처는 상황에 맞는 데이터 (메타 데이터, DDL, 쿼리 등)를 추가하여 이러한 어려움을 해결합니다. 이 데이터는 "훈련"되어 사용할 수 있습니다.
또한 "리트리버"는 가장 관련성이 높은 컨텍스트를 평가하고 전달하여 사용자 쿼리에 응답합니다. 최종 결과는 크게 개선되었습니다.

Google Cloud로 Rag-to-SQL 설정 : 단계별 가이드

BigQuery 및 Vertex AI와 같은 Google Cloud 서비스를 사용하여 Rag-to-SQL을 구현하려면 자세한 안내서를 따라 가십시오.

코드의 사전 반품

이 코드를 따르고 실행하려면 GCP (결제 정보가 포함 된 Google Cloud 계정)를 설정해야합니다. 처음에는 90 일 동안 무료 300 $ 시험을 제공하므로 요금이 부과되지 않습니다. 계정 설정에 대한 세부 사항 : 링크

코드 흐름도

아래는 다양한 코드 블록을 더 높은 수준에서 설명하는 코드 유량 차트입니다. 우리는 우리가 진행할 때 그것을 따르는 것을 참조 할 수 있습니다.

Google Cloud의 Rag-to-SQL

코드 구현은 3 개의 주요 블록으로 나눌 수 있습니다.

  • SQL 쿼리 체인 : 이 체인은 사용자 질문과 벡터 DB에서 가져온 테이블의 관련 스키마를 기반으로 적절한 SQL 쿼리를 생성하는 책임이 있습니다.
  • 해석 체인 : 이 체인은 이전 체인에서 SQL 쿼리를 가져 와서 BigQuery에서 실행 한 다음 결과를 사용하여 적절한 프롬프트로 응답을 생성합니다.
  • 에이전트 체인 : 이것은 위의 두 체인을 캡슐화하는 최종 체인입니다. 사용자 질문이 발생할 때마다 SQL 쿼리 도구를 호출 할 것인지 또는 질문에 직접 답변할지 여부가 결정됩니다. 질문에 대답하는 데 필요한 작업에 따라 사용자 쿼리를 다양한 도구로 라우팅합니다.

1 단계 : 필요한 라이브러리 설치

Colab 노트북에서는이 구현에 필요한 아래 라이브러리를 설치해야합니다.

 ! PIP 설치 langchain == 0.0.340 -Quiet
! PIP 설치 ChromADB == 0.4.13 -Quiet
! PIP는 Google-Cloud-BigQuery [Pandas]를 설치합니다
! PIP는 Google-Cloud-Aiplatform을 설치합니다
로그인 후 복사

2 단계 : Google 클라우드 프로젝트 및 자격 증명 구성

이제 GCP 프로젝트 및 큰 쿼리 데이터 세트를 초기화하기 위해 일부 변수를 선언해야합니다. 이 변수를 사용하면 노트북에서 GCP를 사용하여 큰 쿼리의 테이블에 액세스 할 수 있습니다.

GCP 클라우드 콘솔 에서이 세부 정보를 볼 수 있습니다. BigQuery에서는 데이터 세트를 만들 수 있으며 데이터 세트 내에서 테이블을 추가하거나 업로드 할 수 있습니다. 자세한 내용은 데이터 세트 및 생성 테이블 작성을 참조하십시오.

 vertex_project = "GCP 프로젝트 ID" # @param {type : "string"}
vertex_region = "us-central1" # @param {type : "string"}

bigQuery_dataset = "Big Query 데이터 세트 이름" # @param {type : "string"}
bigQuery_Project = "Vertex Project ID" # @param {type : "String"}
로그인 후 복사

이제 Colab의 아래 코드를 사용하여 노트북에서 GCP Vertex AI에 인증하고 로그인하십시오.

 Google.Colab Import Auth에서
auth.authenticate_user ()

vertexai 가져 오기
vertexai.init (project = vertex_project, location = vertex_region)
로그인 후 복사

3 단계 : 테이블 스키마 스토리지 용 벡터 데이터베이스 구축

이제 우리는 데이터 세트에 존재하는 다양한 테이블의 스키마를 포함 할 벡터 DB를 만들어야 하며이 벡터 DB 위에 리트리버를 만들어 워크 플로에 Rag를 통합 할 수 있습니다.

Python에서 BQ 클라이언트를 사용하여 큰 쿼리에 연결하고 테이블의 스키마를 가져옵니다.

 Google.Cloud에서 BigQuery 가져 오기
JSON 수입

#테이블의 스키마

bq_client = bigQuery.client (project = vertex_project)
bq_tables = bq_client.list_tables (dataset = f "{bigQuery_project}. {bigQuery_dataset}")
스키마 = []
bq_tables의 bq_table의 경우 :
   t = bq_client.get_table (f "{bigquery_project}. {bigQuery_dataset}. {bq_table.table_id}")
   schema_fields = [f.to_api_repr () t.schema에서 f의 경우]
   schema = f "테이블 {bq_table.table_id}의 스키마는 다음과 같습니다.
   Schemas.Append (스키마)

DataSet {bigQuery_project}에서 {f "{found {len (schemas)} 테이블 : {bigquery_dataset}")#import csv
로그인 후 복사

Chroma DB와 같은 벡터 DB에 스키마를 저장합니다. “ data” 라는 폴더를 만들어야합니다.

 langchain.embeddings 가져 오기 vertexaiembeddings를 가져옵니다
Langchain에서 vectorstores import Chroma

임베딩 = vertexaiembeddings ()
시도 : # 복제 된 문서를 피하십시오
  vector_store.delete_collection ()
제외하고:
  인쇄 ( "벡터 스토어를 청소할 필요 없음")
vector_store = Chroma.from_texts (Schemas, Embedding = Embeddings, persist_directory = './data')
n_docs = len (vector_store.get () [ 'ids'])
Retriever = vector_store.as_retriever (search_kwargs = { 'k': 2})
print (f "벡터 스토어에는 {n_docs} 문서가 있습니다")
로그인 후 복사

4 단계 : SQL 쿼리, 해석 및 에이전트 체인에 대한 LLM 모델 인스턴스화

우리는 3 개의 다른 체인에 대한 3 LLM 모델을 인스턴스화 할 것입니다.

첫 번째 모델은 사용자 질문과 유사한 벡터 DB에서 검색된 사용자 질문 및 테이블 스키마를 기반으로 SQL 쿼리를 생성하는 쿼리 모델입니다. 이를 위해 우리는 "Codechat-지시"를 사용하고 있습니다. 모델 . 이 모델은 다양한 코딩 언어로 코드를 생성하는 데 전문적이므로 사용 사례에 적합합니다.

다른 2 가지 모델은 Chatvertexai의 기본 LLM 모델입니다.“ Gemini-1.5-Flash-001 ”이는 Chat 및 빠른 응답에 최적화 된 최신 Gemini 모델입니다.

 langchain.chat_models에서 chatvertexai를 가져옵니다
langchain.llms import vertexai에서

query_model = chatvertexai (model_name = "codechat-bison", max_output_tokens = 1000)
Induct_Data_Model = ChatVertexai (max_output_tokens = 1000)
agent_model = chatvertexai (max_output_tokens = 1024)
로그인 후 복사

5 단계 : SQL 쿼리 체인 구성

다음은 입력 사용자 질문에 대한 SQL 쿼리를 생성하는 데 사용되는 SQL 프롬프트입니다.

 SQL_PROMPT = "" "귀하는 SQL 및 BigQuery 전문가입니다.

귀하의 임무는 SQL에서 BigQuery에 대한 쿼리를 만드는 것입니다.

다음 단락에는 쿼리에 사용되는 테이블 스키마가 포함되어 있습니다. JSON 형식으로 인코딩됩니다.

{문맥}

위의 표를 사용하여 다음 사용자 입력을 위해 BigQuery SQL 쿼리를 만듭니다.
SQL 쿼리에 대한 스키마에서 언급 된 열만 사용

사용자와 에이전트는 지금 까지이 대화를 수행했습니다.
{chat_history}

이 제한 사항을 엄격하게 따르십시오.
- SQL 코드 만 반환하십시오.
- 백틱이나 마크 업을 추가하지 마십시오. 쿼리를 출력으로만 작성하십시오. 다른 것은 없습니다.
-에서`{project}`를 프로젝트로 사용하고`{dataSet}`을 데이터 세트로 사용하여 항상 전체 테이블 경로를 사용하십시오.
- 항상 국가 이름을 전체 대문자로 변환하십시오. 예를 들어, 국가가 일본인 경우 일본을 쿼리에 사용해야합니다.

사용자 입력 : {Question}

SQL 쿼리 :
"" "
로그인 후 복사

이제 우리는 사용자 질문 입력에 대한 관련 문서, 즉 스키마를 검색하는 함수를 정의합니다.

 langchain.schema에서 vectorstore import vectorstoreretriever
def get_documents (Retriever : VectorStoreretriever, 질문 : str) -> str :
  # 첫 번째 문서 만 반환합니다
  출력 = ""
  retriever.get_relevant_documents (Question)에서 d의 경우 :
    출력 = d.page_content
    출력 = "\ n"
    반환 출력
로그인 후 복사

그런 다음 Langchain 표현 언어 구문을 사용하여 LLM 체인을 정의합니다. 참고 우리는 5 개의 자리 표시 자 변수로 프롬프트를 정의하고 나중에 2 개의 자리 표시 자 변수 프로젝트 및 데이터 세트를 작성하여 부분 프롬프트를 정의합니다. 나머지 변수는 입력, 채팅 기록 및 컨텍스트의 정의 된 기능으로 구성된 수신 요청 사전으로 채워질 것입니다.

 운영자에서 ItemGetter를 가져옵니다
langchain.prompts import prompttemplate
Langchain.schema import Stroutputparser에서

Prompt_template = PrustTemplate (
    input_variables = [ "context", "Chat_history", "Question", "Project", "DataSet"],
    템플릿 = sql_prompt)

partial_prompt = prompt_template.partial (project = bigQuery_project,
                                         DataSet = bigQuery_Dataset)

# 입력은 { "input": "some_question", "Chat_history": "history"}과 같습니다.
docs = { "Context": Lambda x : get_documents (Retriever, x [ 'input'])}
Question = { "Question": ItemGetter ( "입력")}
chat_history = { "chat_history": itemgetter ( "chat_history")}
query_chain = 문서 | 질문 | chat_history | partial_prompt | query_model
query = query_chain | Stroutputparser ()
로그인 후 복사

Langchain의 콜백 처리기를 사용하여 체인을 테스트하여 체인 실행 단계를 자세히 보여줄 각 단계를 테스트하겠습니다.

 Langchain.callbacks.Tracers에서 ConsoleCallbackHandler를 가져옵니다
# 예
x = { "입력": "시작 스테이션이 Atlantic Ave & Fort Greene PL에서 온 여행 기간", "Chat_history": ""}
print (query.invoke (x, config = { 'Callbacks': [ConsoleCallbackHandler ()])))) 
로그인 후 복사

Google Cloud의 Rag-to-SQL

Google Cloud의 Rag-to-SQL

6 단계 : 해석을 위해 SQL 체인 출력을 정제합니다

위의 SQL 체인 출력을 세분화하여 다른 변수를 ALLP에 포함시켜 두 번째 체인 - 해석 체인으로 전달됩니다.

 langchain.output_parsers에서 reptrationschema, studuredoutputparser를 가져옵니다
langchain.schema에서 runnablelambda

#사전 형식의 출력에 다른 변수를 포함하도록 체인 출력을 Refine
def _dict_to_json (x : dict) -> str :
  "````\ n"json.dumps (x) "\ n```````는 반환합니다.

query_response_schema = [
    responseeschema (name = "query", description = "사용자 질문을 해결하려면 SQL 쿼리"),
    ResponseSchema (name = "Question", description = "사용자가 질문 한 질문"),
    responseeschema (이름 = "context", description = "벡터 저장소에서 검색된 문서")
  ]]
query_output_parser = producturedoutputparser.from_response_schemas (query_response_schema)
query_output_json = 문서 | 질문 | { "쿼리": 쿼리} | runnablelambda (_dict_to_json) | Stroutputparser ()
query_output = query_output_json | query_output_parser
로그인 후 복사

이 체인을 실행하려고합니다.

 # 예
x = { "입력": "여행 기간이 가장 높은 2 개의 시작 스테이션을 제공합니까?", "Chat_history": ""}
output = query_output.invoke (x) # 출력은 이제 사전, 다음 체인의 입력입니다.
로그인 후 복사

Google Cloud의 Rag-to-SQL

위의 정제 체인의 출력이 SQL 쿼리임을 볼 수 있습니다.

7 단계 : 쿼리 결과를위한 해석 체인 구축

이제 위에서 정의 된 SQL 쿼리 체인의 출력을 취할 다음 체인을 구축해야합니다. 이 체인은 이전 체인에서 SQL 쿼리를 가져 와서 큰 쿼리로 실행하고 결과를 사용하여 적절한 프롬프트를 사용하여 응답을 생성하는 데 사용됩니다.

 Indupl_Prompt = "" ""귀하는 BigQuery Expert입니다. CSV에서 데이터를 추출하는 전문가입니다.

다음 단락은 쿼리에 사용 된 테이블의 스키마를 설명합니다. JSON 형식으로 인코딩됩니다.

{문맥}

사용자 가이 질문을했습니다.
{질문}

답을 찾기 위해 다음 SQL 쿼리가 BigQuery에서 실행되었습니다.
```
{질문}
```

해당 쿼리의 결과는 CSV 형식의 다음 표였습니다.
```
{결과}
```

이러한 결과를 기반으로 사용자 질문에 대한 간단한 답변을 제공하십시오.

이 제한 사항을 엄격하게 따르십시오.
- 답변을 얻는 방법에 대한 설명을 추가하지 마십시오. 답을 작성하십시오.
- 쿼리 결과에서만 답과 관련된 값을 추출하십시오. 다른 데이터 소스를 사용하지 마십시오.
- 답을 쓰고 답변에서 질문을 생략하십시오. 이것은 채팅이며 답을 제공하십시오.
- 결과에서 답을 찾을 수 없다면 데이터를 구성하지 마십시오. "답을 찾을 수 없습니다"라고 말하십시오.
"" "
로그인 후 복사
 Google.Cloud에서 BigQuery 가져 오기
def get_bq_csv (bq_client : bigquery.client, query : str) -> str :
  cleaned_query = clean_query (query)
  df = bq_client.query (cleaned_query, location = "us"). to_dataframe ()
  반환 df.to_csv (index = false)


def clean_query (query : str) :
  query = query.replace ( "```SQL", "")
  cleaned_query = query.replace ( "````", "")

  Cleaned_Query를 반환합니다
로그인 후 복사

우리는 두 가지 함수를 정의합니다. 이것은 clean_query입니다 - 이것은 Apostrophes 및 기타 불필요한 문자의 SQL 쿼리를 정리하고 다른 불필요한 문자는 get_bq_csv입니다. 이것은 Cleaned SQL 쿼리를 큰 쿼리에서 실행하고 CSV 형식으로 출력 테이블을 얻습니다.

 # 이전 체인의 출력을 얻으십시오


query = { "query": itemgetter ( "query")}
Context = { "Context": itemGetter ( "Context")}
Question = { "Question": ItemGetter ( "Question")}
#cleaned_query = { "결과": Lambda X : Clean_Query (x [ "query"])}
query_result = { "result": lambda x : get_bq_csv (bq_client, x [ "query"])}

프롬프트 = PrustTemplate (
    input_variables = [ "Question", "Query", "result", "context"],
    템플릿 = 해석 _prompt)

run_bq_chain = 컨텍스트 | 질문 | 쿼리 | query_result | 즉각적인
run_bq_result = run_bq_chain | 해석 _data_model | Stroutputparser ()
로그인 후 복사

체인을 실행하고 테스트합시다.

 # 예
x = { "입력": "여행 기간이 가장 높은 2 개의 시작 스테이션을 제공합니까?", "Chat_history": ""}
final_response = run_bq_result.invoke (query_output.invoke (x))
print (final_response)
로그인 후 복사

Google Cloud의 Rag-to-SQL

8 단계 : 동적 쿼리 라우팅을위한 에이전트 체인 구현

이제 우리는 에이전트 체인 인 최종 체인을 구축 할 것입니다. 사용자가 질문을하면 SQL 쿼리 도구를 사용할지 또는 직접 대답할지 여부를 결정합니다. 기본적으로 사용자의 문의에 답하기 위해 완료 해야하는 작업에 따라 사용자 쿼리를 다양한 도구로 보냅니다.

Agent_Memory, 에이전트 프롬프트, 도구 기능을 정의합니다.

 Langchain에서 Memory 가져 오기 대화 BufferWindowMemory

Agent_Memory = ConfertionBufferWindowMemory (
    memory_key = "chat_history",
    k = 10,
    return_messages = true)
로그인 후 복사
 Agent_prompt = "" ""당신은 BigQuery를 사용하여 질문에 대답 할 수있는 매우 강력한 조수입니다.

도구 user_question_tool을 호출하여 BigQuery를 사용하여 질문에 답변 할 수 있습니다.

항상 도구를 사용하여 질문에 답하십시오. 컨텍스트에 채팅 기록을 사용하십시오. 다른 외부 정보를 사용하지 마십시오.

사용자가 철자로 쓸 수 있다고 가정하고 질문을 모든 도구에 전달하기 전에 사용자의 철자를 수정하십시오.

답에 사용한 도구를 언급하지 마십시오.
"" "
로그인 후 복사
 Langchain에서 Tools 가져 오기 도구
Langchain.callbacks.Tracers에서 ConsoleCallbackHandler를 가져옵니다

@도구
def user_question_tool (Question) -> str :
  "" "BigQuery를 사용하는 사용자의 자연 언어 질문에 대답하는 데 유용합니다." ""
  config = { 'Callbacks': [ConsoleCallbackHandler ()]}
  config = {}
  메모리 = agent_memory.buffer_as_str.strip ()
  Question = { "입력": Question, "Chat_history": memory}
  query = query_output.invoke (질문, config = config)
  print ( "\ n \ n ********************* \ n \ n")
  print (query [ 'query'])
  print ( "\ n \ n ********************* \ n \ n")
  결과 = run_bq_result.invoke (query, config = config)
  return result.strip ()

로그인 후 복사

우리는 이제 에이전트의 모든 주요 구성 요소를 모아서 에이전트를 초기화합니다.

 langchain.agents import agenttype, initialize_agent, agentexecutor

agent_kwgards = { "System_Message": agent_prompt}
agent_tools = [user_question_tool]

agent_memory.clear ()

에이전트 = initialize_agent (
    도구 = Agent_Tools,
    llm = agent_model,
    에이전트 = agenttype.chat_conversational_react_description,
    메모리 = agent_memory,
    agent_kwgards = agent_kwgards,
    max_iterations = 5,
    early_stopping_method = 'Generate',
    verbose = true)
로그인 후 복사

지금 에이전트를 실행하자.

 Q = "여행 기간이 가장 높은 2 개의 스타트 스테이션을 줘?"
Agent.invoke (Q) 
로그인 후 복사

Google Cloud의 Rag-to-SQL

Google Cloud의 Rag-to-SQL

에이전트에 대한 후속 질문.

 Q = "이 스테이션 이름 각각의 용량은 얼마입니까?"
Agent.invoke (Q) 
로그인 후 복사

Google Cloud의 Rag-to-SQL

Google Cloud의 Rag-to-SQL

관찰

에이전트는 복잡한 질문을 정확하게 처리하고 채팅 기록을 기반으로 다음 질문에 대한 정답을 생성 한 다음 다른 테이블을 사용하여 Citi 자전거의 용량 정보를 얻었습니다.

결론

Rag-to-SQL 접근법은 상황에 맞는 데이터를 통합하고 검색 기술을 활용하여 전통적인 텍스트-SQL 모델의 한계를 해결하는 데 중요한 발전을 나타냅니다. 이 방법론은 벡터 데이터베이스에서 관련 스키마 정보를 검색하여 쿼리 정확도를 향상시켜보다 정확한 SQL 생성을 허용합니다. BigQuery 및 Vertex AI와 같은 Google 클라우드 서비스 내에서 Rag-to-SQL을 구현하면 실제 응용 프로그램에서 확장 성과 효과가 나타납니다. 쿼리 처리에서 의사 결정 프로세스를 자동화함으로써 Rag-to-SQL은 비 기술적 사용자가 데이터베이스와 완벽하게 상호 작용하면서 높은 정밀도를 유지할 수있는 새로운 가능성을 엽니 다.

주요 테이크 아웃

  • Text-to-SQL 제한은 메타 데이터를 통합하여 전통적인 텍스트-SQL 모델의 일반적인 함정을 해결합니다.
  • 에이전트 기반 시스템은 사용자 쿼리를 처리하는 방법을 효율적으로 결정하여 유용성을 향상시킵니다.
  • Rag-to-SQL을 사용하면 기술이 아닌 사용자가 자연어 입력으로 복잡한 SQL 쿼리를 생성 할 수 있습니다.
  • 이 접근 방식은 BigQuery 및 Vertex AI와 같은 서비스를 사용하여 성공적으로 구현됩니다.

자주 묻는 질문

Q1. gcp vertex ai 액세스가 무료입니까?

A. 아니요, 그러나 처음 등록하면 300 달러의 크레딧으로 90 일의 시험 기간을받을 수 있으며 액세스를위한 카드 세부 정보 만 제공하면됩니다. 카드에서 요금이 공제되지 않으며 300 달러 이상의 크레딧을 넘어 소비하는 서비스를 사용하더라도 Google은 서비스를 사용할 수 있도록 결제 계정을 활성화하도록 요청합니다. 따라서 금액의 자동 공제는 없습니다.

Q2. Rag에 SQL을 사용하면 무엇이 이점이 있습니까?

A.이를 통해 여러 테이블을 사용하는 경우 LLM에 공급되는 테이블 스키마를 자동화 할 수 있습니다. 모든 테이블 스키마를 한 번에 공급할 필요가 없습니다. 사용자 쿼리를 기반으로 관련 테이블 스키마를 걸레에서 가져올 수 있습니다. 따라서, 기존 텍스트에 대한 SQL 시스템에 대한 효율성이 높아집니다.

Q3. 이 사용 사례에 에이전트가 어떻게 유용 할 수 있습니까?

A. 전체적인 챗봇을 구축하는 경우 SQL 쿼리 도구 외에 다른 많은 도구가 필요할 수 있습니다. 따라서 에이전트를 활용하고 웹 검색, 데이터베이스 SQL 쿼리 도구, 기타 RAG 도구 또는 API 도구를 호출하는 기능과 같은 여러 도구를 제공 할 수 있습니다. 이를 통해 사용자 쿼리에 응답하기 위해 수행 해야하는 작업을 기반으로 다양한 유형의 사용자 쿼리를 처리 할 수 ​​있습니다.

이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.

위 내용은 Google Cloud의 Rag-to-SQL의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Meta Llama 3.2- 분석 Vidhya를 시작합니다 Meta Llama 3.2- 분석 Vidhya를 시작합니다 Apr 11, 2025 pm 12:04 PM

메타의 라마 3.2 : 멀티 모달 및 모바일 AI의 도약 Meta는 최근 AI에서 강력한 비전 기능과 모바일 장치에 최적화 된 가벼운 텍스트 모델을 특징으로하는 AI의 상당한 발전 인 Llama 3.2를 공개했습니다. 성공을 바탕으로 o

10 생성 AI 코드의 생성 AI 코딩 확장 대 코드를 탐색해야합니다. 10 생성 AI 코드의 생성 AI 코딩 확장 대 코드를 탐색해야합니다. Apr 13, 2025 am 01:14 AM

이봐, 코딩 닌자! 하루 동안 어떤 코딩 관련 작업을 계획 했습니까? 이 블로그에 더 자세히 살펴보기 전에, 나는 당신이 당신의 모든 코딩 관련 문제에 대해 생각하기를 원합니다. 완료? - &#8217

AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 Apr 11, 2025 pm 12:01 PM

이번 주 AI 환경 : 발전의 회오리 바람, 윤리적 고려 사항 및 규제 토론. OpenAi, Google, Meta 및 Microsoft와 같은 주요 플레이어

직원에게 AI 전략 판매 : Shopify CEO의 선언문 직원에게 AI 전략 판매 : Shopify CEO의 선언문 Apr 10, 2025 am 11:19 AM

Shopify CEO Tobi Lütke의 최근 메모는 AI 숙련도가 모든 직원에 대한 근본적인 기대를 대담하게 선언하여 회사 내에서 중요한 문화적 변화를 표시합니다. 이것은 도망가는 트렌드가 아닙니다. 그것은 p에 통합 된 새로운 운영 패러다임입니다

비전 언어 모델 (VLMS)에 대한 포괄적 인 안내서 비전 언어 모델 (VLMS)에 대한 포괄적 인 안내서 Apr 12, 2025 am 11:58 AM

소개 생생한 그림과 조각으로 둘러싸인 아트 갤러리를 걷는 것을 상상해보십시오. 이제 각 작품에 질문을하고 의미있는 대답을 얻을 수 있다면 어떨까요? “어떤 이야기를하고 있습니까?

GPT-4O vs Openai O1 : 새로운 OpenAI 모델은 과대 광고 가치가 있습니까? GPT-4O vs Openai O1 : 새로운 OpenAI 모델은 과대 광고 가치가 있습니까? Apr 13, 2025 am 10:18 AM

소개 OpenAi는 기대가 많은 "Strawberry"아키텍처를 기반으로 새로운 모델을 출시했습니다. O1로 알려진이 혁신적인 모델은 추론 기능을 향상시켜 문제를 통해 생각할 수 있습니다.

SQL에서 열을 추가하는 방법? - 분석 Vidhya SQL에서 열을 추가하는 방법? - 분석 Vidhya Apr 17, 2025 am 11:43 AM

SQL의 Alter Table 문 : 데이터베이스에 열을 동적으로 추가 데이터 관리에서 SQL의 적응성이 중요합니다. 데이터베이스 구조를 즉시 조정해야합니까? Alter Table 문은 솔루션입니다. 이 안내서는 Colu를 추가합니다

최고의 프롬프트 엔지니어링 기술의 최신 연간 편집 최고의 프롬프트 엔지니어링 기술의 최신 연간 편집 Apr 10, 2025 am 11:22 AM

내 칼럼을 처음 접할 수있는 분들을 위해, 나는 구체화 된 AI, AI 추론, AI의 첨단 획기적인 혁신, AI 교육, AI의 수비, ai re

See all articles