vsql_ai는 SQL에서 모델을 직접 호출하여 그 중간
과정을 없앱니다. 함수 두 개로 충분합니다. 하나는 프롬프트용, 하나는 임베딩용입니다.
프롬프트 함수는 Anthropic Claude, Google Gemini, OpenAI 또는 Ollama로 로컬에서
실행하는 모델과 함께 동작합니다. 임베딩 함수는 Anthropic을 제외한 모든 제공자와
함께 동작합니다.
설치
설치 스크립트, Docker 이미지 또는 릴리스 tarball로 VillageSQL을 설치했다면vsql_ai.veb는 이미 서버의 lib/veb/ 디렉터리에 있습니다. 문 하나로 서버에
설치하세요:
추가되는 기능
provider는 anthropic, google, openai 또는 local입니다. 로컬 모델은
Ollama를 통해 실행되며 빈 API 키를 받습니다. ai_embedding은 Google, OpenAI,
로컬 모델을 지원합니다.
예제
로컬 모델에 질문합니다:VillageSQL 0.0.6 이하에서는 결과가 binary 문자 집합을 가지며, 두 가지 결과가
따릅니다. JSON 함수나
JSON 열이 이를 거부하므로, 위의 임베딩 예제는 해당
버전에서
ERROR 3144 (22032): Cannot create a JSON value from a string with CHARACTER SET 'binary'. 오류로 실패합니다. JSON_OBJECT()나 JSON_ARRAY() 안에서는
허용되지만 base64로 인코딩되므로, SELECT JSON_OBJECT('v', ai_prompt(...))는
{"v": "base64:type15:UGFyaXMu"}를 반환합니다. 해당 버전에서는 호출을
CONVERT(... USING utf8mb4)로 감싸세요. 0.0.7 이상에서는 필요하지 않으며,
위의 예제가 그대로 실행됩니다.참고 항목
- AI API 키 설정하기 — 키를 둘 위치와 로그에 남기지 않는 방법
- MySQL에서의 AI 프롬프트 — 테이블과 함께 써도 무너지지 않는 프롬프팅 패턴
- 벡터 임베딩 생성하기 — 벡터 저장과 검색
- 확장 기능 설치 —
INSTALL EXTENSION의 동작 방식과 서버가 번들을 찾는 위치 - 사용 가능한 확장 기능 — 전체 카탈로그
- villagesql/vsql-ai — 소스, 빌드 지침, 알려진 제한 사항