更新
This commit is contained in:
@@ -29,8 +29,9 @@ class AiChatService
|
||||
return ['ok' => false, 'error' => 'AI 密钥未配置'];
|
||||
}
|
||||
|
||||
$ancientBookSources = self::ancientBookSourcesFromMessages($messages);
|
||||
try {
|
||||
$messages = NihaixiaClinicalSkill::augmentMessages($messages);
|
||||
$messages = ClinicalKnowledgeReference::augmentMessages($messages);
|
||||
} catch (\RuntimeException $error) {
|
||||
return ['ok' => false, 'error' => '临床 AI 参考资料不可用'];
|
||||
}
|
||||
@@ -85,7 +86,8 @@ class AiChatService
|
||||
return ['ok' => false, 'error' => 'AI 未返回内容', 'raw' => $decoded];
|
||||
}
|
||||
|
||||
return ['ok' => true, 'content' => $content, 'raw' => $decoded];
|
||||
return ['ok' => true, 'content' => $content, 'raw' => $decoded,
|
||||
'ancient_book_sources' => $ancientBookSources];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -105,8 +107,9 @@ class AiChatService
|
||||
return ['ok' => false, 'error' => 'AI 密钥未配置'];
|
||||
}
|
||||
|
||||
$ancientBookSources = self::ancientBookSourcesFromMessages($messages);
|
||||
try {
|
||||
$messages = NihaixiaClinicalSkill::augmentMessages($messages);
|
||||
$messages = ClinicalKnowledgeReference::augmentMessages($messages);
|
||||
} catch (\RuntimeException $error) {
|
||||
return ['ok' => false, 'error' => '临床 AI 参考资料不可用'];
|
||||
}
|
||||
@@ -188,6 +191,17 @@ class AiChatService
|
||||
return ['ok' => false, 'error' => 'AI 未返回内容'];
|
||||
}
|
||||
|
||||
return ['ok' => true, 'content' => $fullContent];
|
||||
return ['ok' => true, 'content' => $fullContent,
|
||||
'ancient_book_sources' => $ancientBookSources];
|
||||
}
|
||||
|
||||
/** @param array<int,array<string,mixed>> $messages
|
||||
* @return list<array<string,mixed>>
|
||||
*/
|
||||
private static function ancientBookSourcesFromMessages(array $messages): array
|
||||
{
|
||||
$text = implode("\n", array_map(static fn (array $message): string =>
|
||||
($message['role'] ?? '') === 'user' ? (string) ($message['content'] ?? '') : '', $messages));
|
||||
return TcmAncientBooksReference::sourcesForText($text);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user