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

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

Jennifer Aniston
풀어 주다: 2025-03-14 09:21:10
원래의
216명이 탐색했습니다.

빠르게 발전하는 소프트웨어 개발 환경에서 인공 지능, 데이터 검증 및 데이터베이스 관리의 교차점은 전례없는 가능성을 열었습니다. 이 블로그 게시물은 최신 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으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿