구조화 된 쿼리 언어 인 SQL은 데이터베이스 관리의 초석으로 효율적인 데이터 저장, 검색 및 조작을 가능하게합니다. 광범위한 채택은 광대 한 데이터 세트를 처리 할 때 단순성과 효과에서 비롯됩니다. 그러나 진화하는 데이터 환경은 새로운 도전을 도입합니다.
인공 지능과 대형 언어 모델 (LLMS)의 상승은 강력한 도구를 제시하지만 이와 상호 작용하는 것은 번거 롭습니다. LMQL이 시작되는 곳입니다
ETH Zürich의 SRI Lab이 개발 한 LMQL은 개발자와 LLMS의 다리 역할을합니다. SQL의 구조화 된 쿼리 쿼리 파워를 언어 모델의 세계에 가져와 상호 작용을 간소화하고 효율성을 향상시킵니다.
이 튜토리얼은 다음과 같습니다
LMQL이란 무엇입니까?
왜 lmql을 사용합니까?
LMQL 설정
실용적인 LMQL 응용 프로그램
lmql 제한
모범 사례
LMQL이란 무엇입니까?
LMQL 또는 Language Models Query Language는 LLM을 위해 설계된 새로운 프로그래밍 언어입니다. 선언적 SQL 유사 기능을 결합하여 명령 스크립팅 구문을 결합하여 LLMS의 정보 추출 및 응답 생성에 대한보다 체계적인 접근 방식을 제공합니다.
중요하게도 LMQL은 파이썬을 확장하여 새로운 기능을 추가하고 기능을 확장합니다. 이를 통해 개발자는 텍스트 및 코드를 통합 한 자연어 프롬프트를 제작하여 쿼리 유연성과 표현력을 높일 수 있습니다. LMQL은 제작자의 상태로서 LLM 상호 작용을 프로그램 코드에 완벽하게 통합하여 기존 템플릿을 넘어 이동합니다. "프롬프트는 프로그래밍 IS 프로그래밍 : 대형 언어 모델의 쿼리 언어", "언어 모델 프롬프트"(LMP)의 솔루션으로 소개되었습니다.
질문 응답 및 코드 생성과 같은 작업에서 llms는 입력 확률을 기반으로 논리 시퀀스를 생성합니다. LMP는 언어 지침 또는 예제를 사용하여 작업을 트리거하여이를 활용합니다. 고급 기술은 사용자, 모델 및 외부 도구 간의 상호 작용을 허용합니다.
도전은 특정 작업에 대한 최적의 성능을 달성하거나 LLM을 조정하는 데 있습니다. 종종 임시 상호 작용에 의존 할 수있는 복잡한 작업 별 프로그램이 필요합니다. LMQL은 텍스트 프롬프트 및 스크립팅의 직관적 인 조화를 제공하여이를 해결하여 사용자가 LLM 출력에 대한 제약 조건을 정의 할 수 있도록합니다.
왜 lmql을 사용합니까?
현대적인 LLM은 개념적으로 프롬프트 될 수 있지만, 잠재력을 극대화하고 새로운 모델에 적응하려면 내부 작업과 공급 업체 별 도구에 대한 깊은 이해가 필요합니다. 출력을 특정 단어 나 문구로 제한하는 것과 같은 작업은 토큰 화으로 인해 복잡 할 수 있습니다. 또한, 로컬 또는 API를 통해 LLM을 사용하는 것은 크기로 인해 비싸다.LMQL은 이러한 문제를 완화시킵니다. 사전 정의 된 동작 및 검색 제약 조건을 활용하여 LLM 호출을 줄입니다. 또한 사용자와 모델 또는 특수 인터페이스 간의 반복적 인 커뮤니케이션을 포함하는 프롬프트 기술을 단순화합니다. LMQL의 제약 조건 기능은 생산 환경에 중요하므로 예측 가능하고 처리 가능한 출력을 보장합니다. 예를 들어, 감정 분석에서 LMQL은 "긍정적", "음성"또는 "중립"과 같은 일관된 출력을 보장합니다. 사람이 읽을 수있는 제약 조건은 모델 토큰으로 직접 작동해야 할 필요성을 대체합니다.
LMQL 설정
를 사용하는 자조 모델에는 로컬 설치가 필요합니다.
설치 및 환경 설정
로컬 설치는 간단합니다 :
Pytorch & gt; = 1.11 : 를 사용한 GPU 지원의 경우
가상 환경 사용이 권장됩니다
LMQL 프로그램을 실행하는 세 가지 방법 :
놀이터 :
브라우저 기반 IDE를 시작합니다 (Node.js 필요). https://www.php.cn/link/4a914e5c38172ae9b61780ffbd0b2f90 를 통해 액세스하십시오
명령 줄 :
는 로컬 파일을 실행합니다
Python Integration :
import pip install lmql
및 또는 데코레이터를 사용하십시오.
놀이터 또는 명령 라인에서 로컬 변압기 모델을 사용할 때 를 사용하여 LMQL 추론 API를 시작하십시오.
LMQL 구문 이해
LMQL 프로그램에는 5 가지 주요 부분이 있습니다
pip install lmql[hf]
쿼리 : 사용자와 LLM 간의 기본 통신 방법. 생성 된 텍스트의 경우
를 사용하고 변수 검색의 경우 .
디코더 : 디코딩 알고리즘 (예 : 빔 검색)을 지정합니다. 쿼리 또는 외부 (파이썬) 내에서 정의 할 수 있습니다.
모델 : LMQL은 다양한 모델 (OpenAi, llama.cpp, huggingface transformers)을 지원합니다. 모델은 를 사용하여로드하고 외부 적으로 쿼리로 전달하거나
절을 사용합니다.
제약 조건 : 다양한 제약 조건을 사용하여 LLM 출력을 제어합니다 (문구 중지, 데이터 유형, 문자/토큰 길이, 정규, 사용자 정의 제약 조건).
분포 : 출력 형식과 구조를 정의합니다
-
LMQL 제한 및 커뮤니티 지원
결론
위 내용은 LMQL 소개 : SQL과 대형 언어 모델 간의 브리지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!