Skip to content

feat(program): add RAG support with streaming output - #19

Merged
rfprod merged 1 commit into
mainfrom
retriever
Oct 31, 2026
Merged

rfprod merged 1 commit into
mainfrom
retriever

Conversation

@rfprod

@rfprod rfprod commented Oct 31, 2026

Copy link
Copy Markdown
Owner
  • bump version to 0.4.0;
  • add rag and skip_embedding parameters to argument functions and CLI;
  • implement streaming mode for print() and print_message();
  • update loop increment style for consistency;
  • replace printf calls with UserInterface and remove emoji from messages;
  • rename config to ollama_config for clarity;
  • add retrieving_utils with RetrievingUtils class and RetrievingUtilsConfig;
  • implement retrieve(), generate_answer(), and run() methods in RetrievingUtils;
  • initialize RetrievingUtils in RAG execution path;
  • add get_config_value and get_url_value getter methods to clients;
  • refactor streaming with callback-based approach for HTTP and LLM;
  • add fetch_web_content_stream and curl_streaming_write_callback;
  • add WebContentStream struct and process_chunk for JSON buffering and parsing;
  • convert WriteCallback to member function curl_write_callback for streaming;
  • move process_response to public section of OllamaClient;
  • refactor process_response_stream to accept const reference;
  • improve variable declaration ordering and extract inline map initialization;
  • improve control flow with else-if pattern;

- [x] bump version to 0.4.0;
- [x] add rag and skip_embedding parameters to argument functions and CLI;
- [x] implement streaming mode for print() and print_message();
- [x] update loop increment style for consistency;
- [x] replace printf calls with UserInterface and remove emoji from messages;
- [x] rename config to ollama_config for clarity;
- [x] add retrieving_utils with RetrievingUtils class and RetrievingUtilsConfig;
- [x] implement retrieve(), generate_answer(), and run() methods in RetrievingUtils;
- [x] initialize RetrievingUtils in RAG execution path;
- [x] add get_config_value and get_url_value getter methods to clients;
- [x] refactor streaming with callback-based approach for HTTP and LLM;
- [x] add fetch_web_content_stream and curl_streaming_write_callback;
- [x] add WebContentStream struct and process_chunk for JSON buffering and parsing;
- [x] convert WriteCallback to member function curl_write_callback for streaming;
- [x] move process_response to public section of OllamaClient;
- [x] refactor process_response_stream to accept const reference;
- [x] improve variable declaration ordering and extract inline map initialization;
- [x] improve control flow with else-if pattern;
@rfprod rfprod self-assigned this Oct 31, 2026
@rfprod rfprod added Feature New feature implementation related changes. Program Main program logic related changes. labels Oct 31, 2026
@rfprod
rfprod enabled auto-merge (squash) October 31, 2026 20:51
@rfprod
rfprod merged commit 11ee26b into main Oct 31, 2026
3 checks passed
@rfprod
rfprod deleted the retriever branch October 31, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New feature implementation related changes. Program Main program logic related changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant