Using Converse API¶
The Converse API provides streaming capabilities for real-time interactions with documents. This guide demonstrates how to use the Converse API with Rhubarb.
Basic Usage¶
Here’s a simple example of how to use the Converse API:
from rhubarb import DocAnalysis, SystemPrompts
import boto3
# Initialize a boto3 session
session = boto3.Session()
# Create a DocAnalysis instance with converse API
da = DocAnalysis(
file_path="./test_docs/employee_enrollment.pdf",
boto3_session=session,
use_converse_api=True,
system_prompt=SystemPrompts().SummarySysPrompt
)
# Stream the response
for resp in da.run_stream(message="Give me a brief summary of this document."):
if isinstance(resp, str):
print(resp, end='')
else:
print("\n")
print(resp)
Key Components¶
DocAnalysis Parameters¶
file_path
: Path to the document you want to analyzeboto3_session
: AWS boto3 session for API authenticationuse_converse_api
: Boolean flag to enable streaming responses (default: False)system_prompt
: System prompt to guide the analysis
Streaming Responses¶
The run_stream()
method yields responses in real-time. The response can be either:
A string containing part of the generated text
A dictionary containing metadata or completion information
Configuration Options¶
System Prompts¶
You can customize the behavior using different system prompts:
# Using custom system prompt
custom_prompt = "Analyze this document and provide key insights."
da = DocAnalysis(
file_path="document.pdf",
boto3_session=session,
use_converse_api=True,
system_prompt=custom_prompt
)
# Using built-in system prompts
da = DocAnalysis(
file_path="document.pdf",
boto3_session=session,
use_converse_api=True,
system_prompt=SystemPrompts().SummarySysPrompt
)