본문

[실습] SQL Quicktart 예제 (Text to SQL)

✅  실습 준비물: apikey

https://server-engineer.tistory.com/983

 

[실습] OpenAI apikey 발급 및 사용하기

1. 회원가입하기 먼저 OpenAI 플랫폼에 접속합니다. (바로가기) 홈페이지에서 회원가입 절차를 완료해주세요. 2. API 키 발급 받기 로그인 후, 오른쪽 상단에 있는 'View API Keys'를 클릭합니다. 직접 링

server-engineer.tistory.com


https://python.langchain.com/docs/use_cases/sql/quickstart
Text to SQL
Answer the question
테이블 특정정보 질의응답

 

✅  실습 자료

https://colab.research.google.com/github/i-am-shuan/learn-langchain/blob/main/langchain_sql_quickstart.ipynb

 

langchain_sql_quickstart.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

✅  서비스 설명

설명

  • 자연어(한국어)로 원하는 요청을 하면, LLM이 그것을 SQL로 자동변환하여 DB와 상호작용을 할 수 있는 SQL Agent를 구현한다.
  • 사용자가 텍스트로 질문하면 그에 맞는 SQL을 반환한다.
  • 테이블의 정보를 파악하고 싶을때 텍스트로 질문하면 테이블의 정보를 요약하여 반환한다.

 

서비스 활용방안

랭체인 SQL Quicktart 예제는 다음과 같은 경우에 유용할 수 있습니다.

  • 고객 서비스: 고객이 제품이나 서비스에 대해 질문할 때, AI를 사용하여 SQL 데이터베이스에서 답변을 찾을 수 있습니다.
  • 데이터 분석: AI를 사용하여 SQL 데이터베이스에서 데이터를 분석하고 통찰력을 얻을 수 있습니다.
  • 보고서 작성: AI를 사용하여 SQL 데이터베이스에서 데이터를 추출하고 보고서를 작성할 수 있습니다.
  • 의사 결정 지원: AI를 사용하여 SQL 데이터베이스에서 데이터를 분석하고 의사 결정을 지원할 수 있습니다.

 

사용된 라이브러리

  • 랭체인: 랭체인은 프롬프트 엔지니어링, 내부 지식베이스 및 외부 데이터 소스를 활용하여 AI 모델을 구축하는 데 사용되는 오픈소스 도구 모음입니다. 랭체인은 사용자 친화적인 인터페이스를 제공하여 AI와 SQL을 잘 모르는 사용자도 쉽게 사용할 수 있습니다.
  • create_sql_query_chain: 랭체인에서 제공하는 함수로, 사용자가 제공한 프롬프트와 SQL 데이터베이스를 사용하여 SQL 쿼리를 생성하는 체인을 만드는 데 사용됩니다.

 

  • create_sql_query_chain 함수를 사용하여 LLM과 SQL 데이터베이스(db)를 인수로 체인을 만듭니다. 이 체인은 사용자의 질문을 분석하여 SQL 질의를 생성하고, 그 질의를 SQL 데이터베이스에서 실행하여 결과를 반환합니다.
from langchain.chains import create_sql_query_chain
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0, openai_api_key=OPENAI_KEY)
db = SQLDatabase.from_uri("sqlite:///chinook.db")
chain = create_sql_query_chain(llm, db)
response = chain.invoke({"question": "employees는 몇명이 있어?"})

 

  • 결과: SELECT COUNT("EmployeeId") AS "EmployeeCount" FROM employees

공유

댓글