QLLM: 언어 모델 상호작용 간소화
npm version
Stars
Forks
Downloads
Chapter 1: 소개
1.1 QLLM에 오신 것을 환영합니다
Large Language Models (LLMs)와 상호작용하기 위한 궁극적인 커맨드라인 도구, QLLM에 오신 것을 환영합니다.
터미널에서 복잡한 작업을 처리하고, 창의적인 콘텐츠를 생성하며, 데이터를 분석하는 데 도움을 줄 수 있는 강력한 AI 비서가 손끝에 있다고 상상해 보세요.
이 README는 QLLM의 모든 잠재력을 활용하고 AI 기반 생산성의 마스터가 되는 데 필요한 모든 것을 안내할 것입니다.
1.2 지지 부탁드립니다
QLLM을 유용하게 느끼고 사용하는 것이 즐겁다면, GitHub에서 별점 ✨을 주시는 것을 고려해 주세요! 여러분의 지원은 저희가 프로젝트를 계속 개선하도록 동기를 부여할 뿐만 아니라 다른 사람들이 QLLM을 발견하는 데도 도움이 됩니다. 커뮤니티의 일원이 되어주셔서 감사합니다!
Chapter 2: QLLM의 이점
2.1 왜 QLLM과 QLLM-LIB인가?
주요 이점:
- 통합 접근: QLLM은 여러 LLM 제공업체를 하나의 지붕 아래에 모았습니다. 더 이상 다양한 도구와 API 간에 컨텍스트를 전환할 필요가 없습니다.
- 커맨드라인의 강력함: 개발자로서 여러분은 터미널에서 생활합니다. QLLM은 기존 워크플로우에 원활하게 통합됩니다.
- 유연성과 사용자 정의: 광범위한 설정 옵션과 사용자 지정 템플릿 지원을 통해 특정 요구 사항에 맞게 AI 상호작용을 조정할 수 있습니다.
- 시간 절약 기능: 빠른 질의부터 지속적인 대화까지, QLLM은 빠르게 답변을 얻도록 도와줍니다.
- 크로스 플랫폼 호환성: Windows, macOS, Linux에서 일관되게 작동합니다.
2.2 일화: 생산성 향상
시간이 촉박한 데이터 분석가라고 상상해 보세요. 방대한 데이터셋을 빠르게 분석하고 팀 보고서를 작성해야 합니다. 데이터를 수동으로 뒤지거나 보고서를 작성하는 대신, QLLM에 의존합니다. 몇 가지 간단한 명령만으로 다음 작업을 수행할 수 있습니다:
- 데이터셋의 핵심 통찰력 요약.
- 중요한 추세를 강조하는 시각화 생성.
- 간결하고 잘 쓰인 보고서 초안 작성.
이 모든 과정을 터미널을 벗어나지 않고 처리할 수 있습니다. 절약된 시간 덕분에 더 높은 수준의 분석에 집중하여 예정보다 일찍 보고서를 제출할 수 있게 됩니다. 매니저는 깊은 인상을 받고, 당신은 QLLM이 워크플로우를 간소화하는 강력한 힘을 입증하게 된 것입니다.
Chapter 3: 패키지 (Packages)
graph TD
A[qllm-cli] --> B[qllm-lib]
3.1 qllm-lib
A versatile TypeScript 라이브러리로, 원활한 LLM 통합을 지원합니다. 다양한 AI 모델과의 작업 과정을 간소화하며, 템플릿팅(templating), 스트리밍(streaming), 대화 관리(conversation management)와 같은 기능을 제공합니다.
실습 예제 (Practical Example)
import { createLLMProvider } from 'qllm-lib';
async function generateProductDescription() {
...
3.2 qllm-cli
A 명령줄 인터페이스(command-line interface)로, qllm-lib을 활용하여 터미널에서 LLM 기능에 쉽게 접근할 수 있도록 합니다.
실습 예제 (Practical Example)
qllm ask "Write a 50-word product description for a smart home security camera with night vision and two-way audio."
...
Chapter 4: 시작하기 (Getting Started)
4.1 시스템 요구 사항 (System Requirements)
QLLM의 흥미로운 세계로 뛰어들기 전에, 시스템이 준비되었는지 확인해 봅시다:
- Node.js (버전 16.5 이상)
- npm (일반적으로 Node.js에 포함됨)
- 터미널 또는 명령 프롬프트
- 인터넷 연결 (결국 QLLM은 AI와 통신해야 하니까요!)
4.2 단계별 설치 가이드
- 터미널 또는 명령 프롬프트를 여세요.
- 다음 명령어를 실행하세요:
npm install -g qllm
이 명령어는 npm에게 QLLM을 시스템 전체(globally)에 설치하도록 지시하며, 어느 디렉토리에서든 사용할 수 있게 만듭니다.
3. 설치가 완료될 때까지 기다리세요. 진행률 표시줄과 일부 텍스트가 스크롤되는 것을 볼 수 있습니다. 당황하지 마세요, 정상적인 현상입니다!
4. 완료되면 다음 명령어를 실행하여 설치를 확인하세요:
```bash
qllm --version
버전 번호(예: 1.8.0)가 표시되어야 합니다. 만약 그렇다면 축하합니다! QLLM을 성공적으로 설치했습니다.
💡 전문가 팁: 설치 중 권한 오류가 발생하면, Unix 기반 시스템에서는 sudo를 사용하거나 Windows에서는 명령 프롬프트를 관리자 권한으로 실행해야 할 수도 있습니다.
4.3 설정(Configuration)
이제 QLLM이 설치되었으니, 설정을 진행해 봅시다. 이것을 QLLM에게 사용자의 선호도를 가르치고 AI 왕국에 대한 열쇠를 주는 것이라고 생각하세요.
기본 설정 구성하기
설정 모드에서 다음의 기본 환경설정들을 할 수도 있습니다:
- 기본 제공업체(provider)와 모델을 선택합니다.
- 온도(temperature)나 최대 토큰(max tokens) 같은 매개변수들의 기본값을 설정합니다.
- 로그 레벨(log level)이나 사용자 지정 프롬프트 디렉토리(custom prompt directory) 같은 다른 설정을 구성합니다.
이것이 어떻게 생겼는지 예시를 보여드리겠습니다:
$ qllm configure
? 기본 제공업체: openai
? 기본 모델: gpt-4o-mini
...
AWS 설정
QLLM과 함께 AWS Bedrock을 사용하려면, AWS 자격 증명(credentials)을 구성해야 합니다. 다음 환경 변수들이 설정되어 있는지 확인하세요:
AWS_ACCESS_KEY_ID: 사용자의 AWS 액세스 키 ID.
AWS_SECRET_ACCESS_KEY: 사용자의 AWS 비밀 액세스 키.
AWS_BEDROCK_REGION: 사용하려는 AWS 리전 (선택 사항이며, 미리 정의된 리전으로 기본 설정됩니다).
AWS_BEDROCK_PROFILE: AWS 자격 증명 파일에서 이름이 지정된 프로필을 사용하는 것을 선호하는 경우, 이 변수를 액세스 키와 비밀 대신 설정합니다.
이러한 변수들은 터미널에서 설정하거나 편의를 위해 환경 설정 파일(예: .env 파일)에 포함할 수 있습니다.
💡 프로 팁: 이러한 설정은 언제든지 qllm configure 명령이나 ~/.qllmrc에 위치한 구성 파일에서 직접 변경할 수 있습니다.
지원되는 Provider
- openai
- anthropic
- AWS Bedrock (Anthropic)
- ollama
- groq
- mistral
- claude
- openrouter
4.4 첫 QLLM 명령어 사용하기
설정은 충분히 마쳤으니, 이제 QLLM이 작동하는 것을 보겠습니다! 간단한 질의로 시작하여 분위기를 파악해 봅시다.
간단한 질의 실행하기
- 터미널에서 다음을 입력합니다:
qllm ask "What is the meaning of life, the universe, and everything?"
2. Enter를 누르고 마법이 일어나는 것을 지켜보세요!
#### 출력 이해하기
QLLM은 AI의 응답을 표시할 것입니다. 다음과 같은 형태일 수 있습니다:
```plaintext
Assistant: The phrase "the meaning of life, the universe, and everything" is a reference to Douglas Adams' science fiction series "The Hitchhiker's Guide to the Galaxy." In the story, a supercomputer named Deep Thought is asked to calculate the answer to the "Ultimate Question of Life, the Universe, and Everything." After 7.5 million years of computation, it provides the answer: 42...
🧠 잠시 멈추고 생각하기: 이 응답에 대해 어떻게 생각하십니까? 간단한 웹 검색에서 얻었을 결과와 비교했을 때 어떤가요?
Chapter 5: 핵심 명령어
5.1 'ask' 명령어
ask 명령어는 빠르고 일회성 질문을 할 때 사용하는 기본 도구입니다. 마치 항상 도움을 줄 준비가 된 지식 있는 비서가 있는 것과 같습니다.
구문 및 옵션
-p, --provider: LLM Provider 지정 (예: openai, anthropic)
-m, --model: 특정 모델 선택
-t, --max-tokens: 응답 최대 토큰 설정
--temperature: 출력 무작위성 조정 (0.0 ~ 1.0)
사용 사례 및 예시
- 빠른 사실 확인:
qllm ask "첫 달 착륙은 몇 년도였나요?"
2. 코드 설명:
```bash
qllm ask "다음 Python 코드를 설명해 주세요: print([x for x in range(10) if x % 2 == 0])"
- 언어 번역:
qllm ask "'Hello, world!'를 프랑스어, 스페인어, 일본어로 번역해 주세요"
### 5.2 'chat' 명령어
`ask`가 간단한 질의에 완벽하다면, `chat`은 QLLM이 진가를 발휘하는 곳입니다. 이는 여러 차례의 대화(multi-turn conversations)를 가능하게 하며, 전체 과정에서 맥락(context)을 유지합니다.
#### 대화 시작 및 관리
채팅 세션을 시작하려면:
```bash
qllm chat
채팅 세션에 들어가면 다양한 명령어를 사용할 수 있습니다:
/help: 사용 가능한 명령어 표시
/new: 새로운 대화 시작
/save: 현재 대화 저장
5.3 'run' 명령어
run 명령어는 미리 정의된 템플릿(predefined templates)을 실행하여 복잡하거나 반복적인 작업을 간소화할 수 있게 합니다.
사전 정의된 템플릿 사용하기
템플릿을 실행하려면:
예를 들어:
qllm https://raw.githubusercontent.com/quantalogic/qllm/main/prompts/chain_of_thought_leader.yaml
사용자 지정 템플릿 생성하기
YAML 파일로 자신만의 템플릿을 만들 수 있습니다. 간단한 예시는 다음과 같습니다:
name: "Simple Greeting"
version: "1.0"
author: "Raphaël MANSUY"
...
이를 greeting.yaml로 저장하고 다음 명령어로 실행합니다:
🧠 잠시 멈추고 생각하기: 사용자 지정 템플릿을 사용하여 워크플로우를 간소화할 수 있는 방법은 무엇일까요? 일상 업무에서 AI의 도움이 필요할 만한 반복적인 작업을 생각해 보세요.
Chapter 6: 실용적 예제
6.1 코드 분석 워크플로우
코드 검토(code reviews)를 마주하는 개발자라고 상상해 봅시다. 이 과정을 간소화하기 위해 코드 검토 템플릿을 설정해 보겠습니다.
코드 검토 템플릿 설정하기
이를 code_review.yaml로 저장합니다:
name: "Code Review"
description: "코드를 분석하고 개선 제안을 제공합니다"
input_variables:
...
아이디어 구상부터 초안 작성 및 편집까지, QLLM이 콘텐츠 제작을 어떻게 도울 수 있는지 살펴보겠습니다.
브레인스토밍 아이디어를 위한 템플릿을 만듭니다. 이를 `brainstorm_ideas.yaml`로 저장합니다:
```yaml
name: "콘텐츠 브레인스토밍"
description: "주제와 타겟 청중에 기반한 콘텐츠 아이디어 생성"
input_variables:
...
6.3 데이터 분석 어시스턴트
판매 데이터가 담긴 CSV 파일이 있다고 상상해 보세요. QLLM을 사용하여 이 데이터를 해석하는 데 도움을 받을 수 있습니다:
cat sales_data.csv | qllm ask "이 CSV 데이터를 분석해 주세요. 총 판매액, 가장 많이 팔린 제품, 그리고 주목할 만한 추세에 대한 요약을 제공해 주세요. 응답 형식은 글머리 기호 목록으로 해 주세요."
6.4 이미지 분석 및 설명
QLLM은 또한 이미지 분석을 지원하여 명령줄(command line)을 통해 이미지를 직접 설명하고 분석할 수 있게 합니다.
이미지 분석 예시
qllm ask "이 이미지에서 무엇을 보이나요?" -i path/to/image.jpg
이 명령어는 지정된 이미지를 AI로 전송하여 분석하고, 그 내용에 기반한 설명을 생성합니다.
6.5 스크린샷 기능
CLI(Command Line Interface)에서 직접 스크린샷을 캡처하고 분석할 수 있어 시각적 콘텐츠로부터 통찰력을 얻기 더 쉬워집니다.
스크린샷 사용 예시
qllm ask "이 스크린샷을 분석해 주세요" --screenshot 0
이 명령어는 현재 화면을 캡처하여 AI로 전송하고, 표시된 내용에 기반한 통찰력을 제공합니다.
Chapter 7: 일반적인 문제 해결 (Troubleshooting Common Issues)
가장 강력한 도구조차 때때로 오작동할 수 있습니다. QLLM 사용 시 발생할 수 있는 일반적인 문제와 해결 방법을 알려드립니다:
- 속도 제한 (Rate Limiting): 지수 백오프(exponential backoff)를 사용하여 재시도 메커니즘을 구현합니다.
- 예상치 못한 출력 형식 (Unexpected Output Format): 프롬프트에서 더 구체적으로 작성해 주세요.
Chapter 8: 모범 사례
QLLM을 최대한 활용하려면 다음 모범 사례들을 염두에 두세요:
- 효과적인 프롬프트 엔지니어링: 프롬프트를 구체적이고 명확하게 작성하세요.
- 대화 컨텍스트 관리: 주제를 전환할 때는
/new를 사용하여 새로운 대화를 시작하세요.
- 일관성을 위한 템플릿 활용: 정기적으로 수행하는 작업에 대한 템플릿을 만드세요.
Chapter 9: 결론 및 다음 단계
축하합니다! 이제 QLLM의 필수 내용을 마스터했으며, CLI AI 전문가가 되는 길에 잘 오르고 있습니다.
9.1 최종 과제
앞으로 24시간 이내에 QLLM을 사용하여 업무나 개인 프로젝트에서 직면하고 있는 실제 문제를 해결해 보세요. 데이터 분석, 문서 초안 작성, 또는 까다로운 코드 디버깅 지원 등 무엇이든 될 수 있습니다. 동료나 QLLM 커뮤니티에 여러분의 경험을 공유하세요.
QLLM의 흥미진진한 여정에 함께 해 주셔서 감사합니다. 이제 자신감을 가지고 AI 비서에게 명령해 보세요! 🚀
Chapter 10: 추가 자료
QLLM에서 사용된 패키지에 대한 자세한 문서는 다음 링크를 참조하세요:
10. 기여
QLLM CLI에 대한 기여를 진심으로 환영합니다! 이 프로젝트는 Apache License, Version 2.0 하에 라이선스가 부여되었습니다. 기여하려면 다음 단계를 따르세요: