Osmi
Использование 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