Skip to content

Add pipeline for different LLMs #18

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

f-kuzey-edes-huyal
Copy link
Collaborator

@f-kuzey-edes-huyal f-kuzey-edes-huyal commented May 20, 2025

Description

Related Issues

Fixes #20

Changes Made

  • Feature implementation
  • Bug fix
  • Documentation update
  • Other (please specify)

How to Test

Screenshots (if applicable)

Checklist

  • Code follows the style guide
  • Tests added/updated where applicable
  • PR has at least two approvals before merging
  • Documentation updated (if applicable)

Copy link
Collaborator

@Sharonsyra Sharonsyra left a comment

Choose a reason for hiding this comment

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

Great work. This looks excellent.

Do you mind adding tests for a timeless effect? Totally optional.

Let me know if you have any questions.

@@ -172,3 +172,5 @@ cython_debug/

# PyPI configuration file
.pypirc

secrets/.env
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe we can have a catch-all for all .env files?

main.py Outdated
from utils.evaluation import evaluate_summary

def main():
input_path = "s20e06-from-supply-chain-management-to-digital-warehousing-and-finops.md"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it possible to make this dynamic? Instead of hard coding the file name, that is.

main.py Outdated

def main():
input_path = "s20e06-from-supply-chain-management-to-digital-warehousing-and-finops.md"
output_path = "summary_groq.md"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe this too in case of duplicates or the user needing a different name output.

main.py Outdated

podcast_text = load_text(input_path)

llm = GroqLLM() # You can easily switch to OpenAI later
Copy link
Collaborator

Choose a reason for hiding this comment

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

ditto. But this is me thinking out loud. Let me know your thoughts.

3. **Guest Introduction**
- Begin with a short introduction of the guest.
- Write one or two complete sentences.
- Each sentence should be between 25 and 40 words.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Isn't this requirement a bit stringent?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

You are right. But I needed something like this to achieve more consistent results that align well with Valeria’s and Ricardo’s suggestions. I have evaluated many outputs that did not match the suggested quality, and in some prompts (especially with lightweight architectures), the output was wildly changing. The final summary outputs seem much more consistent.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

By the way, I may prefer Afsin’s prompt combined with the OpenAI approach for the final case when he shares it. I’ve noticed that the output of LLMs can also vary depending on the style of the prompt we use.

@@ -0,0 +1,10 @@
def chunk_text(text, max_chars=3000, overlap=200):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is chunking optional? Given most API's can handle all the context?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is a very good question. In my case, with two architectures I worked on (Gemma2-9B-IT and LLaMA3-70B-8192), due to token limits, I had to implement chunking. However, for Afsin’s case, it was not a problem. We may also need chunking when a longer podcast comes in for Afsin’s GPT-4o-mini model.

Sharonsyra
Sharonsyra previously approved these changes May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Task: Initial LLM Pipeline Setup with Requirements Tracking
2 participants