CS
HelpBlend SaaS + OpenCode GoAI 챗봇 SaaS 데모
채팅 위젯이 내장된 샘플 SaaS 애플리케이션입니다. 모든 고객 메시지는 llm_client.py OpenCode Go API를 통해 전달되어 구성된 DeepSeek 모델을 사용한 AI 자동 응답이 이루어집니다.
라이브 데모Port 8081DeepSeek V4 FlashOpenCode Go API
아키텍처
🤖
AI 지원 봇
DeepSeek V4 · OpenCode Go
🤖
안녕하세요! 어떻게 도와드릴까요?
메시지가 라우팅되는 경로: HelpBlend SaaS llm_client OpenCode Go DeepSeek V4
서비스 상태
HelpBlend SaaS :8081
llm_client.py 활성
OpenCode Go API 연결됨
모델deepseek-v4-flash
라우팅직접 (Hermes 에이전트 없음)
데이터 흐름
- 1. 고객이 위젯에 메시지를 입력합니다
- 2. SaaS가 메시지를 저장하고 컨텍스트(가이드라인, RAG, 기록)를 수집합니다
- 3. SaaS가 llm_client.py에서
chat_with_context()를 호출합니다 - 4. llm_client가 OpenCode Go API로 POST를 전송합니다
- 5. OpenCode Go가 DeepSeek V4 Flash를 호출하고 응답을 반환합니다
- 6. 응답이 자동으로 고객에게 반환됩니다
주요 구성 요소
구성
환경 (.env)
HERMES_ROUTING_ENABLED=false ← Direct LLM path OPENCODE_GO_API_KEY=sk-... ← OpenCode Go API key OPENCODE_GO_BASE_URL=https://opencode.ai/zen/go/v1 OPENCODE_DEFAULT_MODEL=deepseek-v4-flash DATABASE_URL=sqlite+aiosqlite:///./hermes_saas.db PORT=8081
LLM 클라이언트 (llm_client.py)
# OpenAI-compatible function calling
# Supports tools/tool_calls for actions
async def chat_with_context(
messages, bot_name,
system_prompt, guidelines=[],
source_context="", model=None,
tools=None
):
# Builds system + user messages
# Calls OpenCode Go /v1/chat/completions
# Returns {"content", "tool_calls"}검증된 테스트 결과
✓ 통과환영 메시지
요청: 신규 고객의 첫 번째 메시지 응답: "안녕하세요! 오늘 어떻게 도와드릴까요?" 유형: 봇이 설정한 환영 메시지
✓ PASS후속 질문 (LLM 응답)
요청: "귀하의 플랫폼은 어떤 기능을 제공하나요?" 응답: RAG 컨텍스트를 사용한 상황별 답변 경로: llm_client.py OpenCode Go DeepSeek V4 ✓