Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline: Add pipeline subsystem #60

Merged
merged 23 commits into from
Feb 21, 2024
Merged

Conversation

kaancayli
Copy link
Contributor

@kaancayli kaancayli commented Feb 15, 2024

Motivation

For Pyris V2 we need modular and reusable pipelines. This system will support different Pipeline selections in the future, which are all accessible through the same Interface. We also want to send status updates during pipeline processing.

Description

PipelineComponentDiagram

The primary objective of the pipeline subsystem is to abstract the prompting and reasoning logic associated with various LLM use cases, such as exercise creation and tutor chat, from the overall system infrastructure.

The FeaturePipelines component is the initial receiver of user queries from the Endpoint subsystem. It directs these queries to the appropriate functional units specifically designed to handle distinct use cases. These units transform user queries into structured prompts, which are subsequently directed to the LLM subsystem through the corresponding completion and chat interfaces, contingent upon the context of the query. Responses from the LLM subsystem are then conveyed back to the Endpoint subsystem for user delivery.

During query processing, the FeaturePipelines component leverages the retrieval interface from the Retrieval subsystem to obtain contextual data pertinent to the user queries. Further details about the Retrieval subsystem can be found in the later chapters of the documentation.

Simultaneously, the FeaturePipelines component communicates operational progress to the Notification Service. This service processes the progress data and interfaces with the Artemis Connector to disseminate progress notifications. In its role, the Artemis Connector forwards these notifications to the designated Artemis system. The specifics of the Artemis Connector's role and its interaction with the Artemis system are detailed in later chapters of the documentation.

@kaancayli kaancayli added this to the 1.0.0-Prototype milestone Feb 15, 2024
@kaancayli kaancayli changed the title feature/pipeline-subsystem-v1 Pipeline: Initial pipeline setup Feb 15, 2024
@kaancayli kaancayli changed the title Pipeline: Initial pipeline setup Pipeline: Add pipeline subsystem Feb 15, 2024
Copy link
Member

@Hialus Hialus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for leaving so many small comments 😅. But I think they should make the code quality better.
Also please ensure that in the future not all pipelines are in the same file, but are properly split up into multiple files according to their area. Having it all in one file eventually results in an unreadable mess.

app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Outdated Show resolved Hide resolved
Copy link
Contributor

@MichaelOwenDyer MichaelOwenDyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me

@kaancayli kaancayli marked this pull request as ready for review February 19, 2024 09:28
Copy link
Member

@Hialus Hialus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks mostly good, just 3 suggestions :D

app/common/singleton_abstract.py Outdated Show resolved Hide resolved
app/pipeline/pipeline.py Show resolved Hide resolved
app/pipeline/shared/summary_pipeline.py Outdated Show resolved Hide resolved
@Hialus Hialus merged commit 6aa026a into main Feb 21, 2024
4 checks passed
@Hialus Hialus deleted the feature/pipeline-subsystem-v1 branch February 21, 2024 17:33
isabellagessl pushed a commit that referenced this pull request Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants