Skip to content

Commit c05b414

Browse files
committed
Update README
Signed-off-by: Keshava Munegowda <keshava.gowda@gmail.com>
1 parent 2e640c3 commit c05b414

File tree

1 file changed

+65
-1
lines changed

1 file changed

+65
-1
lines changed

README.md

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The sbk-charts application can be used to visualize these results in a more user
2121
<SBK directory>./sbk-charts
2222
...
2323
(venv-sbk-charts) kmg@Mac-Studio sbk-charts % sbk-charts -h
24-
usage: sbk-charts [-h] -i IFILES [-o OFILE] [-secs SECONDS] [-nothreads NOTHREADS] {huggingface,lmstudio,noai,ollama} ...
24+
usage: sbk-charts [-h] -i IFILES [-o OFILE] [-secs SECONDS] [-nothreads NOTHREADS] [-chat] {huggingface,lmstudio,noai,ollama} ...
2525
2626
SBK Charts - Storage Benchmark Visualization Tool
2727
@@ -37,6 +37,7 @@ options:
3737
Timeout seconds, default : 120
3838
-nothreads, --nothreads NOTHREADS
3939
No parallel threads, default : False
40+
-chat, --chat Start interactive chat mode with AI
4041
4142
Please report issues at https://github.com/kmgowda/sbk-charts
4243
@@ -211,6 +212,69 @@ sbk-charts -i input.csv -o output.xlsx ollama
211212

212213
For more details, see the documentation in [custom AI models](src/custom_ai/README.md)
213214

215+
## Interactive Chat Mode
216+
217+
SBK Charts provides an interactive chat mode that allows you to query your CSV data using AI-powered analysis with a RAG (Retrieval-Augmented Generation) pipeline.
218+
219+
### Chat Mode Features
220+
221+
- **Natural Language Queries**: Ask questions about your storage benchmark data in plain English
222+
- **RAG Pipeline**: Uses advanced retrieval to provide context-aware answers based on your CSV data
223+
- **Multiline Support**: Type complex queries across multiple lines
224+
- **Interactive Interface**: Real-time conversation with AI about your data
225+
- **Data Context**: AI has access to all storage statistics from your benchmark results
226+
227+
### Using Chat Mode
228+
229+
To start an interactive chat session:
230+
231+
```bash
232+
sbk-charts -i input.csv -o output.xlsx -chat huggingface
233+
```
234+
235+
Or with other AI backends:
236+
237+
```bash
238+
# Using Ollama
239+
sbk-charts -i input.csv -o output.xlsx -chat ollama
240+
241+
# Using LM Studio
242+
sbk-charts -i input.csv -o output.xlsx -chat lmstudio
243+
```
244+
245+
### Chat Interface
246+
247+
Once in chat mode:
248+
249+
1. **Type your query** and press **Enter twice** to submit
250+
2. **Multiline queries** are supported - just press Enter twice when done typing
251+
3. **Press Ctrl+D** to exit chat mode
252+
4. **AI responses** appear after processing with status indicators
253+
254+
### Example Queries
255+
256+
You can ask questions like:
257+
258+
- "Which storage system performs better for read operations?"
259+
- "Compare the throughput between FILE and ROCKSDB storage systems"
260+
- "What is the best storage system for high IOPS workloads?"
261+
- "Show me the latency analysis for all storage systems"
262+
- "Which storage has the lowest tail latency?"
263+
264+
### Chat Mode Workflow
265+
266+
1. **Initialization**: The chat mode initializes a RAG pipeline with your storage statistics
267+
2. **Context Loading**: All performance data from your CSV files is made available to the AI
268+
3. **Interactive Loop**: Ask questions and receive AI-powered insights
269+
4. **Smart Responses**: AI uses the RAG pipeline to provide accurate, context-aware answers
270+
271+
### Technical Details
272+
273+
- **RAG Pipeline**: Uses Simple RAG for maximum compatibility without external dependencies
274+
- **Data Ingestion**: Automatically processes storage statistics from all worksheets
275+
- **Threaded Processing**: AI responses run in separate threads for non-blocking interaction
276+
- **Error Handling**: Graceful handling of AI backend errors and timeouts
277+
214278
## Contributing
215279

216280
We welcome and appreciate contributions from the open-source community!

0 commit comments

Comments
 (0)