Использование OSMI-AI
Потоковая передача
Узнайте о работе потоковой передачи OSMI-AI.
При настройке потоковой передачи для прогнозирования токены будут отправляться в виде событий, содержащих только данные, по мере их появления. Использование библиотек Python/TS OSMI-AI предоставляет две библиотеки:
- Python:
pip install osmi-ai - Typescript:
npm install osmi-ai-sdk
from osmi-ai import osmi-ai, PredictionData
def test_streaming():
client = osmi-ai()
# Test streaming prediction
completion = client.create_prediction(
PredictionData(
chatflowId="<flow-id>",
question="Tell me a joke!",
streaming=True
)
)
# Process and print each streamed chunk
print("Streaming response:")
for chunk in completion:
# {event: "token", data: "hello"}
print(chunk)
if __name__ == "__main__":
test_streaming()
import { osmi-aiClient } from 'osmi-ai-sdk'
async function test_streaming() {
const client = new osmi-aiClient({ baseUrl: 'http://localhost:3000' });
try {
const prediction = await client.createPrediction({
chatflowId: '<flow-id>',
question: 'What is the capital of France?',
streaming: true,
});
for await (const chunk of prediction) {
console.log(chunk);
}
} catch (error) {
console.error('Error:', error);
}
}
test_streaming()
curl https://localhost:3000/api/v1/predictions/{flow-id} \
-H "Content-Type: application/json" \
-d '{
"question": "Hello world!",
"streaming": true
}'
event: token
data: Once upon a time...
Поток событий прогноза состоит из следующих типов событий:
| Тип события | Описание |
|---|---|
| start | Начало передачи потока streaming |
| token | Генерируется при выводе нового токена в потоке output |
| error | Генерируется, если при предсказании возникла ошибка error |
| end | Генерируется по завершении предсказания finishes |
| metadata | Вся метаданные, такие как chatId, messageId и связанные с потоком. Генерируется после того, как все токены были переданы и перед событием end |
| sourceDocuments | Генерируется, когда поток возвращает источники из векторного хранилища store |
| usedTools | Генерируется, когда поток использует инструменты tools |

