본문
[실습] SQL Quicktart 예제 (Text to SQL)
프로그래밍/LangChain 2024. 3. 22. 17:22
✅ 실습 준비물: apikey
https://server-engineer.tistory.com/983
[실습] OpenAI apikey 발급 및 사용하기
1. 회원가입하기 먼저 OpenAI 플랫폼에 접속합니다. (바로가기) 홈페이지에서 회원가입 절차를 완료해주세요. 2. API 키 발급 받기 로그인 후, 오른쪽 상단에 있는 'View API Keys'를 클릭합니다. 직접 링
server-engineer.tistory.com




✅ 실습 자료
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
댓글