찾다
기술 주변기기일체 포함Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

빠르게 발전하는 소프트웨어 개발 환경에서 인공 지능, 데이터 검증 및 데이터베이스 관리의 교차점은 전례없는 가능성을 열었습니다. 이 블로그 게시물은 최신 Pydanticai 프레임 워크와 Google의 Gemini-1.5 모델을 사용하여 SQL 코드 생성 및 SQL 코드 설명에 대한 혁신적인 접근 방식을 탐색하여 최첨단 AI 기술이 데이터베이스 쿼리 개발을 간소화하고 향상시킬 수있는 방법을 보여줍니다.

개발자, 데이터 과학자 및 데이터 분석가의 경우이 탐색은 복잡한 데이터베이스 쿼리를 쉽고 정확하게 만들 수있는 자연 언어 처리에서 지능형 코드 생성의 미래를 엿볼 수 있습니다.

학습 목표

  • Pydantic과 Pydanticai의 기본 사항을 이해하십시오.
  • AI 기반 SQL 코드 생성 시스템을 구현하는 방법에 대해 알아보십시오.
  • SQL 번역을 위해 자연 언어로 Gemini-1.5-Flash의 기능을 탐색하십시오.
  • 데이터베이스 상호 작용을위한 지능형 AI 에이전트를 구축하는 것에 대한 통찰력을 얻으십시오.

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

목차

  • Pydanticai는 무엇입니까?
  • 행동중인 Pydanticai의 예
  • AI 에이전트 란 무엇입니까?
  • 에이전트 워크 플로는 무엇입니까?
  • AI 에이전트 및 에이전트 워크 플로의 현대 사용
  • Pydanticai 프레임 워크는 무엇입니까?
  • 프로젝트를 시작합니다
  • 프로젝트 구현에 대한 단계별 안내서
  • 결론
  • 자주 묻는 질문

Pydanticai는 무엇입니까?

Pydanticai는 데이터 검증 및 유형 확인에 혁명을 일으키는 강력한 파이썬 라이브러리입니다. 데이터 모델 정의에 대한 선언적 접근 방식을 제공하여 복잡한 데이터 구조를 쉽게 만들고 검증 할 수 있습니다.

Pydantic의 중요한 기능은 다음과 같습니다.

사용자 정의

  • 원시 유형 및 복잡한 중첩 구조를 포함하여 광범위한 데이터 유형을 검증합니다.
  • 검증 및 직렬화를 위해 거의 모든 Python 객체를 지원합니다

유연성

데이터 검증 엄격함을 제어 할 수 있습니다.

  • 예상 유형으로 데이터를 강요합니다
  • 필요할 때 엄격한 유형 확인을 시행하십시오

직렬화

  • Pydantic Object, Dictionary 및 JSON 간의 원활한 변환을 지원합니다.
  • 자체 문서화 API 및 JSON 스키마를 사용하는 도구와 호환성을 활성화합니다.

성능

  • 핵심 검증 로직은 탁월한 속도와 효율성을 위해 Rust로 작성됩니다.
  • 확장 가능한 REST API와 같은 고 처리량 애플리케이션에 이상적입니다.

생태계

  • Fastapi, Langchain, Llamaindex 등과 같은 인기있는 Python 라이브러리에서 널리 사용됩니다.
  • 현대 에이전트 LLM은 Pydantic 없이는 구현할 수 없습니다.

행동중인 Pydanticai의 예

Pydanticai는 Python에서 데이터 검증 및 유형 검사를 단순화하여 강력한 데이터 모델을 만드는 강력한 도구입니다. 그 기능을 보여주는 몇 가지 실제 예를 살펴 보겠습니다.

기본 데이터 검증

 Pydantic Import Basemodel에서


클래스 사용자 (Basemodel) :
    이름 : str
    나이 : int


# 유효한 데이터
user = user (name = "alice", age = 30)
인쇄 (사용자)

print ( "==========================================")
# 잘못된 데이터 (나이는 문자열입니다)
노력하다:
    user = user (name = "alice", age = "Thirty")
E로 예외를 제외하고 :
    인쇄 (e)

위의 코드는 Pydantic의 Basemodel을 사용하여 사용자 모델을 정의하여 이름을 문자열로, 정수로서 나이로 시행합니다. 올바른 데이터를 유효성있게 유지하지만 잘못된 데이터 (연령에 대한 문자열)가 제공되면 유효성 검사 오류가 발생합니다.

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

자동 유형 강요

 Pydantic Import Basemodel에서
클래스 제품 (Basemodel) :
    가격 : 플로트
    수량 : int

# 불일치 유형의 데이터
Product = Product (가격 = "19.99", 수량 = "5")
인쇄 (제품)

print (type (product.price))
print (type (product.quantity))

여기서는 가격이 플로트로, 정수로서의 수량을 가진 제품 모델. Pydantic은 문자열 입력 ( "19.99"및 "5")을 올바른 유형 (float and int)으로 자동으로 강요하여 유형 변환 기능을 보여줍니다.

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

중첩 된 모델

 Pydantic Import Basemodel에서
클래스 주소 (Basemodel) :
    거리 : Str
    도시 : Str
클래스 사용자 (Basemodel) :
    이름 : str
    주소 : 주소

# 유효한 데이터
user = user (name = "bob", address = { "street": "123 Main St", "City": "Wonderland"})
인쇄 (사용자)

# 중첩 속성에 액세스합니다
print (user.address.city)

여기서는 주소 모델이 포함 된 중첩 사용자 모델을 정의합니다. Pydantic은 중첩 검증을 허용하고 사전을 모델로 자동 전달합니다. 유효한 데이터는 사용자 객체를 초기화하고 ' user.address.city' 와 같은 중첩 속성에 직접 액세스 할 수 있습니다.

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

사용자 정의 규칙으로 유효성 검사

 Pydantic Import Basemodel, Field, Field_validator에서

클래스 사용자 (Basemodel) :
    이름 : str
    age : int = field (..., gt = 0, description = "연령은 0보다 클 사람")

    @field_validator ( "이름")
    def name_must_be_non_empty (cls, value) :
        value.strip ()가 아닌 경우 :
            ValueError Raise ( "이름은 비어있을 수 없습니다")
        반환 값

# 유효한 데이터
user = user (name = "charlie", age = 25)
인쇄 (사용자)

# 잘못된 데이터
노력하다:
    user = user (name = "", age = -5)
E로 예외를 제외하고 :
    인쇄 (e)

여기서 검증 규칙이있는 사용자 모델을 정의하고 나이는 0보다 크기 때문에 이름이 비어있을 수 없습니다 ( 이름_must_be_non_empty 메소드를 통해 검증). 유효한 데이터는 사용자 인스턴스를 생성하지만 유효하지 않은 데이터 (빈 이름 또는 마이너스 연령)는 상세한 유효성 검사 오류가 발생하여 Pydantic의 유효성 검사 기능을 보여줍니다.

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

이것들은 Pydantic의 핵심 예 중 일부입니다. 데이터 검증의 기본 원리를 이해하는 데 도움이되기를 바랍니다.

AI 에이전트 란 무엇입니까?

AI 에이전트는 작업을 자율적으로 수행하고 결정을 내리고 환경과 상호 작용하여 특정 목표를 달성하도록 설계된 지능형 시스템입니다. 이 에이전트는 새로운 것이 아니라 최근의 생성 AI에서 빠른 발전이 아니며이를 에이전트와 결합하여 새로운 시대에 에이전트 소프트웨어 개발을 만듭니다. 이제 에이전트는 입력을 처리하고 동작을 실행하며 동적으로 적응할 수 있습니다. 그들의 행동은 인간과 같은 문제 해결을 모방하여 최소한의 인간 개입으로 다양한 영역에서 기능 할 수 있습니다.

에이전트 워크 플로는 무엇입니까?

에이전트 워크 플로우는 하나 또는 여러 AI 에이전트가 관리하고 실행하는 구조, 목표 중심 작업 순서를 나타냅니다. 비선형 전통적인 워크 플로우, 에이전트 워크 플로우는 적응성, 자율성 및 상황 인식을 나타냅니다. 이러한 워크 플로 내의 AI 에이전트는 독립적으로 결정을 내리고 하위 작업을 위임하고 피드백을 통해 학습하여 효율적이고 최적화 된 결과를 초래할 수 있습니다.

AI 에이전트 및 에이전트 워크 플로의 현대 사용

AI 에이전트 및 에이전트 워크 플로의 통합은 복잡한 작업을 자동화하고 의사 결정을 향상 시키며 효율성을 높여 산업에 혁명을 일으켰습니다. 이 지능형 시스템은 동적으로 적응하여 다양한 도메인에서 더 똑똑한 솔루션을 가능하게합니다.

비즈니스 자동화

AI 에이전트는 챗봇, 이메일 관리 및 판매 파이프 라인 최적화를 통해 고객 지원과 같은 반복적 인 작업을 자동화합니다. 그들은 고 부가가치 작업에서 인적 자원을 확보하여 생산성을 향상시킵니다.

소프트웨어 개발

AI 기반 에이전트는 코드를 생성, 테스트 및 디버깅하여 소프트웨어 라이프 사이클을 가속화하여 개발 시간과 인적 오류를 줄입니다.

의료

AI 에이전트는 의료 진단, 환자 모니터링 및 치료 개인화를 지원하여 의료 전달 및 운영 효율성을 향상시킵니다.

재원

금융 시스템의 대리인 워크 플로우 사기 탐지, 위험 평가 및 투자 분석을 자동화하여보다 빠르고 신뢰할 수있는 의사 결정을 가능하게합니다.

전자 상거래

정보 대행사는 쇼핑 경험의 개인화를 향상시켜 제품 권장 사항 및 고객 서비스를 최적화합니다.

AI 에이전트 및 에이전트 워크 플로의 상승은 복잡한 프로세스를 관리 할 수있는 높은 자율 시스템으로의 전환을 의미합니다. 그들의 적응성과 학습 능력은 현대 산업에 필수 불가결하고 혁신, 확장 성 및 도메인의 효율성을 주도합니다. AI가 계속 발전함에 따라 AI 에이전트는 일일 워크 플로에 더 통합되어 작업 관리 및 실행 방식을 변화시킬 것입니다.

Pydanticai 프레임 워크는 무엇입니까?

Pydanticai는 Pydantic, Fastapi의 제작자가 개발 한 Python Agent 프레임 워크로 생성 AI를 활용하여 생산 등급 응용 프로그램의 구성을 간소화하여 유형 안전, 모델 거주 설계 및 대규모 언어 모델 (LLMS)과의 원활한 통합을 강조합니다.

주요 기능 Pydanticai는 다음을 포함합니다.

  • 모델 공장 지원 : Pydanticai는 OpenAi, Antropic, Gemini, Groq, Mistral 및 Ollama를 포함한 다양한 모델과 호환되며 추가 모델을 통합 할 수있는 간단한 인터페이스가 있습니다.
  • 타입 안전 : Python의 유형 시스템과 Pydantic의 검증을 활용하여 Pydanticai는 강력하고 확장 가능한 에이전트 개발을 보장합니다.
  • 의존성 주입 시스템 : 새로운 TY-SAFE 의존성 주입 메커니즘을 도입하여 테스트 및 평가 중심 개발을 향상시킵니다.
  • 구조화 된 응답 검증 : Pydantic의 검증 기능을 활용하여 정확하고 신뢰할 수있는 구조 응답을 보장합니다.
  • 로그 파이어 통합 : LLM 기반 애플리케이션의 디버깅 및 모니터링을위한 Pydantic Logfire와 통합을 제공합니다.

Pydanticai의 최소 예는 다음과 같습니다.

 OS 가져 오기
pydantic_ai 수입 에이전트에서
pydantic_ai.models.gemini import geminimodel에서
dotenv import load_dotenv에서

load_dotenv ()

gemini_api_key = os.getenv ( "<google_api_key>")

model = geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
))

에이전트 = 에이전트 (
    모델 = 모델,
    system_prompt = "간결하고 한 문장으로 답장하십시오.",
))

result = agent.run_sync ( 'Hello World "는 어디에서 왔습니까?')
print (result.data)</google_api_key>

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

이제 진짜 일을 할 시간입니다. Pydanticai Agent Framework를 사용하여 Postgres SQL 쿼리 생성을 구축 할 것입니다.

프로젝트를 시작합니다

필수 도구와 환경을 설정하기위한 단계별 가이드와 함께 프로젝트의 기초를 마련하십시오.

설정 환경

우리는 프로젝트를위한 콘다 환경을 만들 것입니다.

 #env를 만들어냅니다
$ conda create -name sql_gen python = 3.12

# env 활성화
$ Conda는 SQL_GEN을 활성화합니다

이제 프로젝트 폴더를 만듭니다

 # 폴더를 만듭니다
$ mkdir sql_code_gen
# 폴더로 변경됩니다
$ cd sql_code_gen

Postgres 및로드 데이터베이스를 설치하십시오

Postgres, PSQL-Command-Tools 및 PGADMIN-4를 설치하려면 시스템의 설치 프로그램 EDBDownload로 이동하여 모든 도구를 한 번에 설치하십시오.

이제 HEREAND에서 DVDRENAL 데이터베이스를 다운로드하여 Postgres에로드하십시오.

1 단계 : 터미널을 엽니 다

 psql -u postgres

# 암호를 요구합니다

2 단계 : 데이터베이스를 만듭니다

 # postgres =#에서

데이터베이스 DVDRENAL을 만듭니다.

3 단계 : 터미널 명령

이제 PSQL 명령을 종료 한 다음 터미널을 입력하십시오.

 pg_restore -u postgres -d dvdrental d : /sampledb/postgres/dvdrental.tar

4 단계 : PSQL에 연결됩니다

이제 PSQL에 연결하여 데이터베이스가로드되었는지 확인하십시오.

 psql -u postgres

# dvdrental과 연결하십시오
\ c dvdrental

# 테이블을 보자

\ dt

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

위의 테이블이 보이면 괜찮습니다. 우리는 모두 메인 프로젝트를 시작할 예정입니다.

이제 필요한 파이썬 라이브러리를 SQL_GEN CONDA ENV에 설치하십시오.

 Conda는 sql_gen을 활성화합니다

# 라이브러리를 설치하십시오
Pip Pydantic Asyncpg asyncio pydantic -ai를 설치하십시오 

PIP Python-Dotenv Fastapi Google-Generativeai를 설치하십시오

PIP 설치 DevTools 주석 유형 유형 유형 확장

프로젝트 구조

우리 프로젝트에는 4 개의 파일, 즉 기본, 모델, 서비스 및 스키마가 있습니다.

 sql_query_gen/
|
|-메인 .py
|-모드 .py
| -schema.py
| --- 서비스 .py
|-. Env
| -__ init__.py
|-. Gitignore

프로젝트 구현에 대한 단계별 안내서

이 포괄적 인 구현 안내서를 통해 프로젝트를 개념에서 현실로 가져 오기 위해 자세한 단계와 실용적인 기술을 살펴보십시오.

Pydantic 모델

Models.py 파일에서 데이터 모델을 작성하여 시작합니다.

 Dataclasses에서 Dataclass를 가져옵니다
가져 오기 입력에서 주석이 붙어 있습니다
asyncpg 가져 오기
annotated_types import minlen에서
Pydantic Import Basemodel, Field에서

@dataclass
클래스 DEPS :
    Conn : Asyncpg.connection

클래스 성공 (Basemodel) :
    sql_query : 주석이 달린 [str, minlen (1)]
    설명 : str = field ( "", description = "sql 쿼리의 설명, Markdown")

클래스 invalidRequest (Basemodel) :
    ERROR_MESSAGE : str

위 코드에서

  • DEPS 클래스는 데이터베이스 연결 종속성을 관리합니다. @dataclass는 __init__ 및 __repr__와 같은 특수 메소드를 자동으로 생성합니다. Conn은 `asyncpg.connection` 으로 입력되며 활성 PostgreSQL 연결을 나타냅니다. 이 디자인은 종속성 주입 패턴을 따라 코드를보다 테스트 가능하고 유지 관리 할 수 ​​있습니다.
  • 성공 클래스는 성공적인 SQL-Query 생성을 나타내고 SQL_Query는 비어 있지 않은 문자열 ( Minlen (1))이어야하며 주석을 달아 유효성 검사 제약 조건을 추가해야합니다. 설명 은 기본 빈 문자열이있는 옵션 필드입니다.
  • InvalidRequest 클래스는 실패한 SQL-Query 생성 시도를 나타내는 오류 응답 모델입니다.

이 코드는 데이터베이스 연결 관리, 입력 유효성 검사, 구조화 된 응답 처리 및 오류 처리를위한 기반을 설정했습니다.

서비스 모듈

이제 서비스 모듈에서 SQL 생성을위한 Pydanticai 서비스를 구현할 것입니다.

가져 오기 라이브러리 및 구성

 OS 가져 오기
수입 조합 입력에서
dotenv import load_dotenv에서
asyncpg 가져 오기
typing_extensions import findealias에서
pydantic_ai import Agent, ModelEtry, RunContext에서
pydantic_ai.models.gemini import geminimodel에서
스키마에서 db_schema를 가져옵니다
모델에서 DEP, 성공, InvalIdRequest를 가져옵니다

구성하려면 프로젝트 루트에서 .env 파일을 작성하고 Gemini API 키를 거기에 넣으십시오.

 # .env

gemini_api_key = "asgfhkdhjy457gthjhajbsd"

그런 다음 service.py 파일에서 :

 load_dotenv ()

gemini_api_key = os.getenv ( "google_api_key")

`에서 Google API 키를로드합니다. Env` 파일.

모델과 에이전트 생성

 응답 : findealias = Union [성공, InvalidRequest]

model = geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
))

에이전트 = 에이전트 (
    모델,
    result_type = 응답, # 유형 : 무시
    deps_type = deps,
))
  • 먼저 성공 또는 InvalidRequest가 될 수있는 응답 유형을 정의합니다.
  • API 키로 Gemini 1.5 플래시 모델을 초기화합니다
  • 지정된 응답 및 종속성 유형으로 Pydanticai 에이전트 작성

시스템 프롬프트 정의

이제 SQL 쿼리 생성에 대한 시스템 프롬프트를 정의합니다.

 @agent.system_prompt
Async def system_prompt () -> str :
    반환 f "" "\

다음 Postgresql 레코드 테이블을 감안할 때 귀하의 직업은 다음과 같습니다.
사용자의 요청에 맞는 SQL 쿼리를 작성하십시오.

데이터베이스 스키마 :
{db_schema}

예
    요청 : 임대료가 $ 4.00보다 큰 임대료와 'PG'등급을 가진 모든 영화를 찾으십시오.
    응답 : 제목, rental_rate를 선택하십시오
    영화에서
    여기서 rental_rate> 4.00 및 등급 = 'pg';
예
    요청 : 가장 긴 길이의 필름을 찾으십시오
    응답 : 제목, 길이를 선택하십시오
    영화에서
    여기서 길이 = (필름에서 최대 (길이)를 선택);
예
    요청 : 각 카테고리에서 필름의 평균 임대 기간을 찾으십시오.
    응답 : C.Name, avg (f.rental_duration)를 평균 _rental_duration으로 선택하십시오
    카테고리에서 c
    c.category_id = fc.category_id에서 film_category fc에 가입하십시오
    fc.film_id = f.film_id에서 필름 F에 가입하십시오
    C.Name에 의해 그룹
    평균 _rental_duration desc의 주문;
"" "

여기서 AI 모델의 기본 컨텍스트를 정의하고 모델의 응답을 안내하기위한 예제 쿼리를 제공합니다. 또한 모델에 데이터베이스 스키마 정보가 포함되어 모델이 스키마를 분석하고 더 나은 응답을 생성 할 수 있습니다.

응답 검증

AI 모델로부터 오류가없고 프로젝트 요구 사항까지 응답을 얻으려면 응답을 확인합니다.

 @agent.result_validator
Async def validate_result (ctx : runcontext [deps], 결과 : 응답) -> 응답 :
    Isinstance (결과, InvalidRequest) :
        반환 결과

    # Gemini는 종종 SQL에 Extraneos 백래시를 추가합니다
    result.sql_query = result.sql_query.replace ( "\\", "")
    결과가 아닌 경우 SQL_QUERY.UPPER (). StartSwith ( "Select") :
        ModelEtry Raven ( "선택 쿼리를 작성하십시오")

    노력하다:
        ctx.deps.conn.execute를 기다립니다 (f "expler {result.sql_query}")
    asyncpg.exceptions.postgreserror를 제외하고 E :
        e에서 modelretry (f "유효하지 않은 sql : {e}")를 높이십시오
    또 다른:
        반환 결과

여기서 생성 된 SQL 쿼리를 검증하고 처리합니다.

주요 유효성 검사 단계 :

  • 결과가 invalidrequeste 인 경우 즉시 반환하고 추가 백 슬래시를 정리하십시오.
  • 쿼리가 일부 명령문인지 확인하십시오
  • PostgreSQL을 사용하여 SQL 구문을 확인합니다
  • 잘못된 쿼리를 위해 ModelEtry를 높이십시오

데이터베이스 스키마

데이터베이스 스키마를 얻으려면 Postgres 설정 중에 설치 한 PGADMIN4를 엽니 다. ' DVDRental' 데이터베이스로 이동하여 마우스 오른쪽 버튼을 클릭 한 다음 'ERD를 클릭하여' ERD '를 클릭하십시오.
아래의 ERD 다이어그램을 얻을 수 있으며 이제 ERD에서 SQL을 생성합니다 (이미지의 둥근 검은 색 표시 참조).

스키마를 schema.py 모듈로 복사하십시오.

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

 # schema.py
db_schema = "" "
시작하다;


공개되지 않은 경우 테이블을 만듭니다
(
    actor_id Serial NOT NULL,
    First_Name 문자 Varying (45) PG_CATALOG를 수집합니다. "기본값"NOT NULL,
    last_name 문자 Varying (45) PG_CATALOG를 수집합니다. "기본값"NOT NULL,
    시간대가없는 last_update timestamp not null default now (),
    구속 조건 actor_pkey 1 차 키 (actor_id)
);
.
.
.
  
.
.
.
"" "

위의 코드 블록은 중단되어 전체 코드를 얻으려면 프로젝트 리포지어를 방문하십시오.

이제 필요한 모든 모듈이 완료되었으며 주요 방법을 구현하고 테스트 할 시간입니다.

메인 구현

주요 기능 정의 및 프롬프트 처리를 수행합니다.

 Asyncio 가져 오기
OS 가져 오기
SYS 가져 오기
수입 조합 입력에서
dotenv import load_dotenv에서
asyncpg 가져 오기
DevTools 가져 오기 디버그에서
typing_extensions import findealias에서
pydantic_ai 수입 에이전트에서
pydantic_ai.models.gemini import geminimodel에서
모델에서 DEP, 성공, InvalIdRequest를 가져옵니다

load_dotenv ()

gemini_api_key = os.getenv ( "google_api_key")


응답 : findealias = Union [성공, InvalidRequest]

model = geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
))

에이전트 = 에이전트 (
    모델,
    result_type = 응답, # 유형 : 무시
    deps_type = deps,
))


Async def main () :
    LEN (sys.argv) == 1 : 1 :
        프롬프트 = "선택 쿼리를 작성하십시오"
    또 다른:
        프롬프트 = sys.argv [1]

    # 데이터베이스 연결
    conn = aisyncpg.connect (
        user = "postgres",
        password = "avizyt",
        host = "localhost",
        포트 = 5432,
        데이터베이스 = "dvdrental",
    ))
    노력하다:
        deps = deps (Conn)
        result = await agent.run (프롬프트, deps = deps)
        결과 = 디버그 (result.data)
        print ( "========== 쿼리 ========")
        print (debug (result.sql_query))
        print ( "========== 설명 ========")
        print (debug (result.explanation))

    마지막으로:
        conn.close ()를 기다립니다.


__name__ == "__main__"인 경우 :
    asyncio.run (main ())

여기서 먼저 비동기 기본 함수를 정의하고 클라이언트 쿼리의 명령 줄 인수를 확인하십시오. ARG가 제공되지 않으면 기본 프롬프트를 사용하십시오.

그런 다음 Postgres Connection 매개 변수를 설정하여 DVDRental 데이터베이스 서비스와 연결합니다.

Try Block에서 데이터베이스 연결을 사용하여 DEPS 인스턴스를 작성하고 프롬프트로 AI 에이전트를 실행하고 디버그 기능 ( PIP 설치 DevTools )을 사용하여 결과를 처리합니다. 그런 다음 생성 된 SQL 쿼리 및 쿼리 설명을 포함하여 형식화 된 출력을 인쇄합니다. 그 후 마침내 데이터베이스 연결을 닫았습니다.

이제 다음과 같은 기본 모듈을 실행하십시오.

 # 터미널에서
Python Main.py "각 고객에 대한 총 임대 수 받기"

산출:

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

PGADMIN4에서 SQL 쿼리를 테스트 한 후 :

Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오

우와! 우리가 원하는 것처럼 작동합니다. 이와 같은 더 많은 쿼리를 테스트하고 학습을 즐기십시오.

결론

이 프로젝트는 데이터베이스 상호 작용을보다 직관적이고 액세스 할 수있는 중요한 단계를 나타냅니다. AI의 힘을 강력한 소프트웨어 엔지니어링 원칙과 결합함으로써 SQL 쿼리를 생성 할뿐만 아니라 실제 사용을 위해 안전하고 교육적이며 실용적인 방식으로 수행하는 도구를 만들었습니다.

이 구현의 성공은 AI가 기존 데이터베이스 운영을 대체하기보다는 향상 될 가능성을 보여 주며 학습과 생산성 모두에 귀중한 도구를 제공합니다.

프로젝트 Repo -이 프로젝트에 사용 된 모든 코드는 여기에서 제공됩니다.

주요 테이크 아웃

  • Pydanticai는 지능적이고 컨텍스트 인식 코드 생성을 가능하게합니다.
  • Gemini-1.5-Flash는 기술 작업에 대한 고급 자연어 이해를 제공합니다.
  • AI 에이전트는 데이터베이스와 상호 작용하는 방식을 변환하고 코드를 생성 할 수 있습니다.
  • AI 생성 코드 시스템에서 강력한 검증이 중요합니다.

자주 묻는 질문

Q 1. SQL 생성에 대한 Pydanticai의 장점은 무엇입니까?

A. Pydanticai는 내장 오류 확인 및 상황에 맞는 이해를 갖춘 유형 안전, 검증 된 코드 생성을 제공합니다.

Q 2. Gemini-1.5-Flash는 프로젝트에 어떻게 기여합니까?

A. Gemini 모델은 고급 자연 언어 처리를 제공하여 복잡한 인간 쿼리를 정확한 SQL 문으로 변환합니다.

Q 3.이 프로젝트를 다른 AI 응용 프로그램으로 확장 할 수 있습니까?

A. 절대적으로! 이 아키텍처는 다양한 도메인에서 코드 생성, 데이터 변환 및 지능형 자동화에 적합 할 수 있습니다.

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

위 내용은 Pydanticai를 사용하여 생산 등급 LLM 구동 응용 프로그램을 구축하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

격변 게임 : AI 에이전트와의 게임 개발 혁명 Blizzard 및 Obsidian과 같은 업계 대기업의 재향 군인으로 구성된 게임 개발 스튜디오 인 Upheaval은 혁신적인 AI 구동 Platfor로 게임 제작에 혁명을 일으킬 준비가되어 있습니다.

Uber는 Robotaxi 상점이되기를 원합니다. 제공자가 그들을 허락할까요?Uber는 Robotaxi 상점이되기를 원합니다. 제공자가 그들을 허락할까요?May 02, 2025 am 11:16 AM

Uber의 Robotaxi 전략 : 자율 주행 차량을위한 승차원 생태계 최근 Curbivore 컨퍼런스에서 Uber의 Richard Willder는 Robotaxi 제공 업체를위한 승마 플랫폼이되기위한 전략을 공개했습니다. 그들의 지배적 인 위치를 활용합니다

비디오 게임을하는 AI 요원은 미래의 로봇을 변화시킬 것입니다비디오 게임을하는 AI 요원은 미래의 로봇을 변화시킬 것입니다May 02, 2025 am 11:15 AM

비디오 게임은 특히 자율적 인 에이전트 및 실제 로봇의 개발에서 최첨단 AI 연구를위한 귀중한 테스트 근거로 입증되며, 인공 일반 정보 (AGI)에 대한 탐구에 잠재적으로 기여할 수 있습니다. 에이

스타트 업 산업 단지, VC 3.0 및 James Currier 's Manifesto스타트 업 산업 단지, VC 3.0 및 James Currier 's ManifestoMay 02, 2025 am 11:14 AM

진화하는 벤처 캐피탈 환경의 영향은 미디어, 재무 보고서 및 일상적인 대화에서 분명합니다. 그러나 투자자, 신생 기업 및 자금에 대한 구체적인 결과는 종종 간과됩니다. 벤처 캐피탈 3.0 : 패러다임

Adobe 업데이트 Adobe Max London 2025에서 Creative Cloud and FireflyAdobe 업데이트 Adobe Max London 2025에서 Creative Cloud and FireflyMay 02, 2025 am 11:13 AM

Adobe Max London 2025는 Creative Cloud and Firefly에 상당한 업데이트를 제공하여 접근성 및 생성 AI로의 전략적 전환을 반영했습니다. 이 분석에는 Adobe Leadership과의 사전 이벤트 브리핑의 통찰력이 포함되어 있습니다. (참고 : Adob

모든 메타는 Llamacon에서 발표했습니다모든 메타는 Llamacon에서 발표했습니다May 02, 2025 am 11:12 AM

Meta의 Llamacon 발표는 OpenAi와 같은 폐쇄 된 AI 시스템과 직접 경쟁하도록 설계된 포괄적 인 AI 전략을 보여 주며 동시에 오픈 소스 모델을위한 새로운 수익원을 만듭니다. 이 다각적 인 접근법은 Bo를 대상으로합니다

AI가 정상적인 기술에 지나지 않는다는 제안에 대한 양조 논쟁AI가 정상적인 기술에 지나지 않는다는 제안에 대한 양조 논쟁May 02, 2025 am 11:10 AM

이 결론에 대한 인공 지능 분야에는 심각한 차이가 있습니다. 어떤 사람들은 "황제의 새로운 옷"을 폭로 할 때라고 주장하는 반면, 인공 지능은 단지 일반적인 기술이라는 생각에 강력하게 반대합니다. 논의합시다. 이 혁신적인 AI 혁신에 대한 분석은 다양한 영향력있는 AI 복잡성을 식별하고 설명하는 것을 포함하여 AI 분야의 최신 발전을 다루는 진행중인 Forbes 열의 일부입니다 (링크를 보려면 여기를 클릭하십시오). 공통 기술로서의 인공 지능 첫째,이 중요한 토론을위한 토대를 마련하기 위해서는 몇 가지 기본 지식이 필요합니다. 현재 인공 지능을 발전시키는 데 전념하는 많은 연구가 있습니다. 전반적인 목표는 인공 일반 지능 (AGI) 및 가능한 인공 슈퍼 인텔리전스 (AS)를 달성하는 것입니다.

모델 시민, AI 가치가 다음 비즈니스 척도 인 이유모델 시민, AI 가치가 다음 비즈니스 척도 인 이유May 02, 2025 am 11:09 AM

회사의 AI 모델의 효과는 이제 핵심 성과 지표입니다. AI 붐 이후 생일 초대장 작성부터 소프트웨어 코드 작성에 이르기까지 생성 AI는 모든 데 사용되었습니다. 이로 인해 언어 모드가 확산되었습니다

See all articles

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

메모장++7.3.1

메모장++7.3.1

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

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경