공유 스윕을 잠금하고 두 개의 팟을 실행
모든 @Scheduled Cleaning 여기에는 그 효과가 공유되어 있습니다. SingletonTaskRunner는 아무것도하기 전에, 그래서 대신 함대를 통해 한 번 실행 팟. 그것은 하나의 복제에서이 서비스를 유지하는 유일한 일이었다 - 거기 ShedLock 어디서나 이 플랫폼은,...
리뷰 및 후기
Session guid에 의해 Keyed, 도구 창은 무엇을 운반. 감사하지 않음 disclosure : 계산을 반환하고 transcript의 단어가없는, 녹음 배지 새로 고침은 실제 disclosures를 버리는 것입니다.
YugabyteDB의 포인트 및 PostgreSQLDialect 사용
CockroachDB는 YugabyteDB에 의해 대체되었습니다. 연결 문자열에서 이동 cockroachdb-public:26257 yb-tserver-service:5433, 그리고 Hibernate 방언 ...에서 *********** 에 PostgreSQLDialect.
Persist AI 대화 PHI 액세스 트레일 phi access log
Stored Assistant 대화는 적어도 14 일 동안 감당할 수 있습니다. unqueryable 로그 스트림 : 모듈은 준수 경계 밖에 앉아 있으므로 차용인에 대한 프롬프트는 불확실하고 §164.528 회계 정확히 이길에서 6 년 후 조립됩니다. 레코드Disclosure 이미 쓰기...
저장된 AI 대화 역사의 모든 읽기에 대한 PHI 액세스
공유된 §164.312 (b)를 유선으로 회전시키는 경로에 persisted prompts 그리고 완료. 조수는 모듈을 준수 평가를 넣어 경계를 OUTSIDE — 프롬프트는 BAA가 아닌 외부 공급자로 팬을 그런 다음 무한하게 유지 - 그래서 그 저장의 읽음은 가장 불쾌한 길의 필요, ...
시약 scorecard
각 대리인은 실제로 했습니다: 대화는, 얼마나 자주 사람이 위에 가지고 있던지 그리고 왜, outreach outcomes는 다시 개최, 그리고 그 비용. 각 수는 1개의 자료는 실제로 지원할 수 있습니다. 세 가지는 deliberately 참고 : - ** 토큰 합계 없음.** 그...
모델 가격 카탈로그, 쓰기 경로 및 backfill
비용 회계는 결코 작동하지 않을 수 있었습니다: AiModel에는 가격 란, AiModelController가 있습니다 그들에게 읽고 ChatOrchestrationService는 costEstimate를 계산하기 위해 그들을 읽습니다. 그러나 NOTHING은 어디서든 썼습니다. 모형은...
Agent-initiated handoff 에 인간의, 와 context
AI는 이전에 사람을 요청할 수 없었다 : 에스컬레이션 규칙은 모델에 도달 컴파일 된 프롬프트를 통해, 그러나 기계 읽기 쉬운 신호가 없었다, 그래서 모델은 SAY만이 누군가와 아무것도 일어나지 않을 수 있습니다. - 합성 kamo request human 도구, 에이전트 자체 활성화...
아웃바운드 트리거, 스케줄러 및 웹 채팅 파견
Outreach 회전을 실제로 불을 만듭니다. 문, 접촉 국가, 동의 및 감사는 이미 존재; 아무것도 평가 될 터치 발생. - 자체 k8s/configmap.yaml (각 Java 서비스)를 통해 AIService에 NATS 활성화 k8s dir; KlusterServices는 클러스...
Persist org-wide 필수 텍스트 및 즉시 적용
AiOrgSettings 주어진 forcedPreamble/forcedFooter 및 SalesAgentCompiler 이미 모든 에이전트로 접을 수 있지만 설정 컨트롤러는 읽지 않고 썼습니다. 그들 - 그래서 기능은 죽은이었다: 저장은 성공에 등장하고 다시 와서 reload에 공백. ...
판매 시약 컴파일러, versioning, outreach 문; 수정 도구 재생
Structured Agent config는 시스템 프롬프트에 컴파일하고, 출판당 동결 버전, 그리고 게이트를 얻는 대리인은 개시 접촉의 앞에 통과해야 합니다. 채용 정보 - AgentConfig + SalesAgentCompiler : 구조화의 순수하고 세분화 컴파일 config로 ...
Sales-agent CRUD, 모기지 템플릿 및 에이전트 구동 채팅 프롬프트
- AiSalesAgentController (/api/ai/sales-agents) : org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry : 내장 스타터 템플릿, 시작 mortgage-borrower 조수 (complianc...
Inline 이미지 비전 + tier fallback은 약초보다 더 강한 것을 선호합니다
2개의 한계는 org-configured 시각을 호출기의 전체적인 종류를 위해 무능하게 했습니다. 1. 비전은 URL-ONLY이었습니다. 모든 콜러는 대중을 서있었습니다, 공급자 fetchable 서빙 인프라 - 서명자, 불확실한 봉사 endpoint, 진입. 클러스터IP 서비스는 o...
통합 공개 AI 신속한 + 세션 attribution
Per-org에서 public-chat system-prompt 폭포 업그레이드 per-integration: PublicAiChatController 지금 읽기 X-Public-Chat-Key-Hash 헤더 (nullable) APIService에 의해 전달 그것을 전달 *******...
Tier-aware 내부 텍스트 완료 (POST /api/ai/internal/text)
Vision Path를 미러: selectTextProvider 요청된 org의 활성 공급자를 선택합니다. Cost tier (LIGHT/MEDIUM/HEAVY), 우선순위로 떨어지기; textComplete는 한 샷 완료를 통해 실행 org의 자체 구성 공급자. X-Internal-A...
공급자 cost-tier/vision passthrough + 내부 원샷 비전 엔드포인트
AiProviderController reads/echoes costTier + supportVision. 계정 관리 서비스 이득 selectVisionProvider (orgId, 계층). *************** 원샷 실행 org의 공급자/adapter ( session/RAG/...
익명 방문자를위한 RAG 통합으로 공공 AI 채팅 엔드 포인트 추가
/api/ai/public/sessions endpoints를 마케팅 사이트에 익명 AI 채팅에 추가합니다. OTK auth 필터를 우회합니다. public-facing 시스템 프롬프트 사용 RAG with memberType=null for public-only KB 기사 가시성.
RAG를 통한 회원유형 조회
MemberRepository에서 회원 유형에 용해하고 RAG 검색 요청에 포함 그래서 벡터 DB는 청중 가시성에 의해 KB 기사를 필터링 할 수 있습니다.
Wire ConversationContextService for sliding window context management
Trims conversation history to fit model's context window before sending to LLM. Keeps recent messages verbatim, summarizes older ones.
Include clickable source links in RAG context for AI chat
Update RagClient to embed markdown links in the context sent to the AI model. KB articles link to /kb/{guid}, notes link to /notes?id={noteId}. Instructs the mo...
Pass memberId to RAG for note-aware AI chat
Add extractMemberId to SessionHelper. Update RagClient to send memberId in search requests so RAG returns both org KB articles and the member's own AI-enabled n...
Add RAG context injection for Knowledge Base in AI chat
- New RagClient service for calling RAGService semantic search - ChatOrchestrationService injects KB context before AI responds - Configurable via AiOrgSettings...
Support enabling/disabling models via PUT /api/ai/providers/{id}
When the frontend sends a 'models' array of model IDs in the provider update request, models in the array are set active and models not in the array (belonging ...
Add POST **************** endpoint for sending chat messages
Receives user message, sends to AI provider via ChatOrchestrationService, returns complete response. Supports REST-based chat flow.
Add Hugging Face as dedicated provider type with custom adapter
- HuggingFaceAdapter handles HF's URL structure **************** - Model discovery via HF API (warm text-generation models) - Registered in ProviderAdapterFacto...
Add manual model creation, handle 410/404 in test, use discovered model for CUSTOM providers
- POST /api/ai/models endpoint for manually adding models - DELETE /api/ai/models/{id} endpoint - CUSTOM providers use first discovered model for chat test inst...
Implement model auto-discovery on provider test connection
Each provider adapter discovers available models from the provider API. Models are automatically saved to the database when Test Connection succeeds.
Scaffold AIService project with providers, services, websocket, and controllers
AI chat orchestration service on port 4205 with: - WebSocket streaming with session auth via ***/Redis - Chat orchestration with auto-routing, usage tracking, a...