Это мой внутренний код Laravel:
Код: Выделить всё
return response()->stream(function () use ($conversation) {
$stream = Prism::text()
->using(Provider::Anthropic, 'claude-3-7-sonnet-latest')
->withMessages($conversation)
->withTools([
...Relay::tools('sequential-thinking'),
])
->asStream();
foreach ($stream as $response) {
if($response->chunkType === ChunkType::ToolCall){
echo "event: toolcall\n";
echo "data: " . json_encode($response->toolCalls, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "\n\n";
}
elseif($response->chunkType === ChunkType::ToolResult){
echo "event: toolresult\n";
echo "data: " . json_encode($response->toolResults, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "\n\n";
}
elseif($response->chunkType === ChunkType::Text){
echo "data: " . str_replace("\n", "\\n", $response->text) . "\n\n";
}
ob_flush();
flush();
}
echo "data: complete\n\n";
ob_flush();
flush();
}, 200, [
'Content-Type' => 'text/event-stream',
'Cache-Control' => 'no-cache',
'Connection' => 'keep-alive',
'X-Accel-Buffering' => 'no',
]);
Код: Выделить всё
source.addEventListener('toolresult', (e)=>{
const toolResult = JSON.parse(e.data);
const [{args: {thought, thoughtNumber, totalThoughts}}] = toolResult;
console.log(`Thought: ${thought}\nThought Number: ${thoughtNumber}\nTotal Thoughts: ${totalThoughts}`);
prismText.value += thought;
console.log("Tool result: ",toolResult)
})
Я использую Prism Relay для добавления сервера MCP.
Как мне правильно отображать все мысли во внешнем интерфейсе?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... and-vue-js
Мобильная версия