AI 공급자 — 설정 카탈로그
cMind의 AI 계층은 공급자 독립적입니다 (AI 기능 참조). 두 가지 방법으로 공급자를 구성하세요:
-
UI (소유자): 설정 → AI → 공급자 추가 → 종류 선택, 기본 URL, 모델, 키 (로컬의 경우 선택 사항), 기능 토글, 활성화 설정 → 연결 테스트.
-
구성/환경 (운영):
App:Ai:Providers[]및App:Ai:ActiveProvider시드 — 자격 증명이 없을 때 첫 시작 시 저장소로 가져옴. 예시 (환경, 공급자 인덱스0):App__Ai__ActiveProvider=OpenAiCompatibleApp__Ai__Providers__0__Kind=OpenAiCompatibleApp__Ai__Providers__0__BaseUrl=http://localhost:11434/v1/App__Ai__Providers__0__Model=llama3.1:8b# App__Ai__Providers__0__ApiKey=... (keyless 로컬 엔드포인트는 생략)
정확히 하나의 공급자가 한 번에 활성화됩니다. 키는 암호화되어 저장되며 로컬 엔드포인트는 키가 필요하지 않습니다.
보안: http vs https
일반 텍스트 http://는 로컬루프/프라이빗 (인트라넷) 호스트에만 수용됩니다 — 로컬 LLM 경우 (Ollama, LM Studio, vLLM, 온프레미스 박스). 공개 인터넷에서 라우팅 가능한 모든 호스트는 반드시 https://이어야 하므로 API 키가 일반 텍스트로 전송되지 않습니다. 에어갭/온프레미스: 기본 URL을 내부 엔드포인트 (로컬루프 또는 프라이빗 IP)로 지정하고 런타임이 인증되지 않은 경우 키를 공백으로 둡니다.
기본 제공 로컬 AI (ONNX, 배포됨)
cMind는 기본적으로 활성화된 실제 인프로세스 로컬 LLM (Microsoft.ML.OnnxRuntimeGenAI)을 제공합니다 — 키 없음, 외부 서비스 없음. 첫 시작 시 공급자가 구성되지 않았고 App:Branding:AllowBuiltInAi이 true인 경우 자동으로 시드되고 활성화됩니다.
-
구성:
App:Ai:BuiltIn:Enabled(기본값true),App:Ai:BuiltIn:ModelPath(기본값models/onnx, 앱 기본 디렉토리에 상대),App:Ai:BuiltIn:MaxTokens(기본값1024). -
모델 파일:
ModelPath를 ONNX GenAI 모델을 포함하는 디렉토리로 지정 —genai_config.json, 토크나이저 및.onnx가중치. CPU Phi-3.5-mini-instruct 빌드가 잘 작동합니다. 예를 들어:pip install huggingface_hubhuggingface-cli download microsoft/Phi-3.5-mini-instruct-onnx \--include cpu_and_mobile/cpu-int4-awq-block-128-acc-level-4/* \--local-dir ./models# 그 다음 App:Ai:BuiltIn:ModelPath를 해당 폴더로 설정 (genai_config.json 포함)배포 이미지/Helm 볼륨과 함께 폴더를 번들로 묶거나 런타임에 마운트하세요. 파일이 없으면 기본 제공 모델이 "모델이 설치되지 않음"이라는 명확한 메시지로 저하됩니다 — 앱은 여전히 실행되며 다른 공급자를 구성하거나 모델을 설치할 수 있습니다.
-
GPU: CPU 패키지/모델을 CUDA/DirectML ONNX GenAI 빌드로 교체하세요. 코드 경로는 변경되지 않습니다.
화이트라벨: AI 제한
App:Branding에서 설정 (서버 측에서 적용 — 금지된 업서트는 400 반환):
AllowBuiltInAi: false— 배포된 기본 제공 모델을 완전히 제거합니다.AllowLocalProviders: false— 로컬/자체 호스트 엔드포인트 (Ollama/LM Studio/vLLM 및 모든 로컬루프/프라이빗 OpenAI 호환 URL)를 금지합니다.AllowedAiProviderKinds: ["Anthropic","OpenAiCompatible"]— 이 종류만 허용 (빈 = 모두).
향후 기본 제공 모델 확장
공급자 계층은 어댑터 기반 (AiProviderKind로 키가 지정된 IAiProvider)이므로 향후 기본 제공 모델 런타임은 AI 기능을 터치하지 않고 추가됩니다: 종류를 추가하고 하나의 어댑터를 구현하고 등록합니다. ONNX 기본 제공은 참조 구현입니다. AI 기능 → 확장을 참조하세요.
클라우드 공급자
Anthropic (Claude)
- 키: https://console.anthropic.com/ → API 키.
- 기본 URL:
https://api.anthropic.com/· 모델: 예를 들어claude-opus-4-8. - 기능: 웹 검색 + 비전 기본 활성화.
OpenAI
- 키: https://platform.openai.com/api-keys.
- 기본 URL:
https://api.openai.com/v1/· 모델: 예를 들어gpt-4o. - 종류: OpenAiCompatible. 비전 모델을 사용하는 경우 대화에서 비전 활성화.
Azure OpenAI
- 키 + 엔드포인트: Azure 포털 → Azure OpenAI 리소스.
- 기본 URL:
https://<resource>.openai.azure.com/· 모델: 배포 이름. - 종류: AzureOpenAi (
api-key헤더 +api-version쿼리 및 배포 경로 사용).
Google Gemini
- 키: https://aistudio.google.com/app/apikey.
- 기본 URL:
https://generativelanguage.googleapis.com/· 모델: 예를 들어gemini-2.0-flash. - 종류: Gemini. 웹 검색 그라운딩 + 비전 기본 활성화.
기타 OpenAI 호환 클라우드 (OpenRouter, Groq, Together, Mistral, DeepSeek)
- 종류: OpenAiCompatible. 기본 URL = 공급자의 OpenAI 호환 엔드포인트, 모델 = 해당 모델 ID, ApiKey = 공급자 키. cMind 변경 필요 없음 — 하나의 어댑터가 모두 제공합니다.
로컬 모델 (키 없음)
모든 로컬 런타임은 OpenAI Chat Completions 와이어를 노출하므로 Kind: OpenAiCompatible을 런타임의 기본 URL 및 제공되는 모델 이름과 함께 사용하세요. 키는 공백으로 둡니다.
Ollama
# https://ollama.com에서 설치한 다음:
ollama pull llama3.1:8b
- 기본 URL:
http://localhost:11434/v1/· 모델: 끌어온 이름 (예:llama3.1:8b,qwen2.5-coder). - API 키 없음. 기능은 기본적으로 텍스트 전용입니다. 비전 모델에만 비전 활성화.
LM Studio
- 로컬 서버 시작 (개발자 → 서버 시작).
- 기본 URL:
http://localhost:1234/v1/· 모델: 로드된 모델 ID. API 키 없음.
vLLM / llama.cpp server / LocalAI
- OpenAI 호환 엔드포인트 제공 (각각 하나씩 배포됨).
- 기본 URL: 제공되는 URL (예:
http://localhost:8000/v1/) · 모델: 제공되는 모델 이름. 앞에 인증을 넣지 않으면 키 없음.
확인
- 테스트 연결은 대화에서 작은 핑 완성을 실행하고 성공 + 지연 시간을 보고합니다 — 로컬 엔드포인트를 확인하는 데 이상적입니다.
- 자동화됨: 앱의 E2E 스위트는 기본적으로 인프로세스 가짜 OpenAI 호환 서버에 대해 모든 AI 기능을 구동하거나
AI_E2E_BASEURL(+ 선택 사항AI_E2E_API_KEY/AI_E2E_KIND/AI_E2E_MODEL)이 설정된 경우 실제 공급자를 구동합니다. AI 기능 → 테스트를 참조하세요.
전환 / 로테이션
- 활성 공급자 전환: 설정 → AI → 다른 카드에서 활성화 설정 (하나를 활성화하면 나머지는 비활성화됨).
- 키 로테이션: 공급자를 편집하고 새 키를 입력합니다 (저장된 키를 유지하려면 공백으로 둠).
- 제거: 카드를 삭제합니다. 활성 공급자가 없으면 AI 기능이 비활성화되고 앱의 나머지 부분은 변경 없이 실행됩니다.