kproc 0.7.0

Knowledge Processing library.
Documentation
//! Graph Retrieval-Augmented Generation module.

pub mod decoder;
pub mod encoder;

use crate::{processor, values, values::graph, Result};
use kproc_pmacros::{InputStreams, OutputStreams};

/// Text input to graph rag encoders
#[derive(Clone, InputStreams)]
pub struct TextEncoderInputs
{
  /// Textual prompt
  pub prompt: String,
}

#[cfg(feature = "image")]
/// Image input to graph rag encoders
#[derive(Clone, InputStreams)]
pub struct ImageEncoderInputs
{
  /// Image prompt
  pub prompt: ccutils::sync::ArcRwLock<values::Image>,
}

/// Graph output to graph rag encoders
#[derive(Clone, OutputStreams)]
pub struct EncoderOutputs
{
  /// Encoded graph
  pub graph: graph::EncodedGraph,
}

/// Graph input to graph rag decoders
#[derive(Clone, InputStreams)]
pub struct DecoderInputs
{
  /// Encoded graph
  pub graph: graph::EncodedGraph,
}

/// Text output to graph rag decoders
#[derive(Clone, OutputStreams)]
pub struct DecoderOutputs
{
  /// Decoded graph as text
  pub text: String,
}