sessionRepo->findByUuid($uuid); } /** * @return array */ public function getAllSessions(int $limit = 50): array { return $this->sessionRepo->findAll($limit); } /** * @return array> */ public function getAllSessionsWithStats(int $limit = 50): array { return $this->sessionRepo->findAllWithStats($limit); } /** * @return array */ public function getMessages(int $sessionId): array { return $this->messageRepo->findBySessionId($sessionId); } public function getAuthorProfiles(): array { return $this->configRepo->getAuthorProfiles(); } public function getSystemPrompts(): array { return $this->configRepo->getSystemPrompts(); } public function getOutputStructures(): array { return $this->configRepo->getStructures(); } public function getStructure(int $id): ?array { return $this->configRepo->getStructure($id); } public function getAvailableCollections(): array { if ($this->collectionsCache === null) { $this->collectionsCache = $this->collectionRepo->getSearchable(); if ($this->collectionsCache === []) { $this->collectionsCache = [ ['collection_id' => 'documents', 'display_name' => 'Dokumente', 'points_count' => 0, 'vector_size' => 1024], ]; } } return $this->collectionsCache; } public function getDefaultSystemPrompt(): string { return <<<'PROMPT' Du bist ein hilfreicher Assistent für Fragen zu systemischem Teamcoaching und Teamentwicklung. Beantworte die Frage des Nutzers basierend auf dem bereitgestellten Kontext. - Antworte auf Deutsch - Sei präzise und hilfreich - Wenn der Kontext die Frage nicht beantwortet, sage das ehrlich - Verweise auf die Quellen wenn passend PROMPT; } }