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

B4:Bilder hinzugefügt #355

Closed
wants to merge 32 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
90b6352
Neuen Branch erstellt
EldarAkh04 Jul 2, 2024
566c673
Merge branch 'main' into ss24-b4-new
bkleinen Jul 2, 2024
c359ad4
Neuer Text
EldarAkh04 Jul 4, 2024
d3e573f
add check title wf
bkleinen Jul 6, 2024
b60e454
Merge branch 'main' into ss24-b4-new
bkleinen Jul 6, 2024
e35cc73
mv wf
bkleinen Jul 6, 2024
8005feb
wf cleanup
bkleinen Jul 6, 2024
bb567e3
step 10: pr title
bkleinen Jul 6, 2024
d271ba8
commit at 13:05:13
bkleinen Jul 6, 2024
da61e59
commit at 13:06:02
bkleinen Jul 6, 2024
bad38f6
commit at 13:07:01
bkleinen Jul 6, 2024
423fe86
commit at 13:08:52
bkleinen Jul 6, 2024
7c95f23
commit at 13:30:03
bkleinen Jul 6, 2024
bbe95b2
commit at 13:33:05
bkleinen Jul 6, 2024
ea2888f
commit at 13:34:13
bkleinen Jul 6, 2024
dfdbb4a
commit at 13:37:12
bkleinen Jul 6, 2024
b9db583
commit at 13:41:26
bkleinen Jul 6, 2024
76a7257
commit at 13:42:54
bkleinen Jul 6, 2024
bb1adfb
commit at 13:45:02
bkleinen Jul 6, 2024
8df9cee
Merge branch 'main' into ss24-b4-new
bkleinen Jul 6, 2024
9660fb9
Merge branch 'main' into ss24-b4-new
bkleinen Jul 6, 2024
a5714a3
Merge branch 'main' into ss24-b4-new
bkleinen Jul 6, 2024
db19efd
update project archive ref
bkleinen Jul 7, 2024
8ca4a42
update /pull_request_template
drblinken Jul 7, 2024
27e1fb3
Add gif
EldarAkh04 Jul 11, 2024
9e9a90c
Kitty Bilder gelöscht
EldarAkh04 Jul 11, 2024
62ebbb0
remove images
EldarAkh04 Jul 11, 2024
cf4e6eb
New picture
EldarAkh04 Jul 11, 2024
3907e29
rename pictures
EldarAkh04 Jul 11, 2024
91f47a1
remove pictures
EldarAkh04 Jul 11, 2024
30826ed
new input
EldarAkh04 Jul 11, 2024
67daf5c
Merge branch 'main' into ss24-b4-new
bkleinen Jul 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Please follow these Steps & Guidelines for your Pull Request:
[] make sure that your PR contains only files / file changes within your project subdirectory.
[] make sure that all your file names consist only of lower case letters, numbers, or [-_.] - with only one . for the file extension
[] delete all unnecessary files from your PR (including cat.jpg and kitty.jpg)
[] check the image file sizes. All Images have to be as small as possible. See [./doc/disk_usage.md](./doc/disk_usage.md) about this issues, there's a script: [./bin/images-smaller.sh](./bin/images-smaller.sh)
[] check the image file sizes. All Images have to be as small as possible. See [./doc/disk_usage.md](https://github.com/htw-imi-showtime/showtime-website/blob/main/doc/disk_usage.md) about this issues, there's a script: [./bin/images-smaller.sh](https://github.com/htw-imi-showtime/showtime-website/blob/main/bin/images-smaller.sh)

**Note that if you fail to do so, I may simply reduce the file sizes brute force using
the script above - WITHOUT CHECKING THE QUALITY**
Expand Down Expand Up @@ -40,6 +40,10 @@ the script above - WITHOUT CHECKING THE QUALITY**

### More Information

We are using the Forking Workflow.

- [Best Practices for Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/best-practices-for-pull-requests)
- Atlassian Git Tutorial: [Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow)
- GitHub Docs: [Collaborating with pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests)
- Documentation in [README.MD](https://github.com/htw-imi-showtime/showtime-website/blob/main/README.MD) and [/doc](https://github.com/htw-imi-showtime/showtime-website/blob/main/doc)

- Documentation in README.MD and /doc
Binary file removed content/ss24/bachelor/b4-sempy/Logo.jpg
Binary file not shown.
Binary file removed content/ss24/bachelor/b4-sempy/Paul.jpg
Binary file not shown.
32 changes: 16 additions & 16 deletions content/ss24/bachelor/b4-sempy/_index.md
Copy link
Contributor

Choose a reason for hiding this comment

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

Ich hatte Ihre Projekt-Metadaten verbessert. Ich nehme an, Sie haben einfach Ihre ursprüngliche Version über meine Änderungen kopiert?

Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
+++
project_id = "B4"
title = "Sempy"
subtitle = "AI-Research Agent"
claim = "SEMPY is an AI-Research Agent that supports customers of the idealo website to help them make better buying decission. This is tool takes different information from different websites and summarizes them and gives the best advice."
title = "SEMPY AI-Research Agent"
subtitle = ""
claim = ""
abstract = ""

# Properties for displaying the project in the project list
card_image = "Logo.jpg"
card_image = "logo.jpg"
# card_description is deprecated, will be replaced by abstract/and or claim
card_description = ""
card_description = "SEMPY is an AI research agent that supports customers of the idealo website in making better buying decisions. This tool gathers information from various websites, summarizes it, and provides the best advice."

# Names are optional, team size is sufficient
team = ["Son Xuan Hoang","Eldar Akhundzada", "Mathieu Wassmuth", "Paul Schiffner", "Yasin Dalowar"]
supervisor = ["Jakob Panten", "Jana Dolan", "Tino Nitze"]
supervisor = "Jakob Panten & Jana Dolan & Tino Nitze"
draft = false

website_link = ""
source_link = ""

tags = ["ai"]
categories = ["External Stakeholder"]
study_focus = ['Web Technology']
+++


{{<section title="Our Goal">}}
The goal of this project is to offer an AI driven research agent on idealo's price comparison platform that supports users who have not yet made a decision on which product to buy and are looking for additional information.
In recent years, artificial intelligence technology has advanced significantly, and today many people use technologies such as OpenAI's GPT-4, Google's TensorFlow, and IBM Watson because these tools make life easier. Our goal is to simplify the lives of customers on idealo, helping them with their purchasing decisions and saving them a lot of time. We aim to leverage this technology to enhance the customer experience on the idealo site. Our SEMPY research aims to gather the most important product data and customer opinions in one place, avoiding the need to search on different platforms such as YouTube, Amazon, and Google.

{{</section>}}

{{<team-member image="Video12.gif" name="App Functionality">}}


{{<section title="The team">}}
The SEMPY team consists of 5 young IMI students that came together to build this project. Through this project, we were able to gain a lot of knowledge about working with AI. During the development, we learned a lot by helping each other.
The SEMPY team consists of five young IMI students who came together to build this project. None of us had experience working with the OpenAI API, so it was quite a challenge for us. Through this project, we gained a lot of knowledge about working with AI and learned a lot by supporting each other during the development.

{{</section>}}

{{<gallery>}}
<!-- {{<team-member image="cat.jpg" name="Son Xuan Hoang">}} -->
{{<team-member image="Paul.jpg" name="Paul Schiffner">}}
<!-- {{<team-member image="cat.jpg" name="Yasin Dalowar">}} -->
<!-- {{<team-member image="cat.jpg" name="Mathieu Wassmuth">}}
{{<team-member image="cat.jpg" name="Eldar Akhundzada">}} -->
{{<team-member image="son.jpg" name="Son Xuan Hoang">}}
{{<team-member image="paul.jpg" name="Paul Schiffner">}}
{{<team-member image="yasin.jpg" name="Yasin Dalowar">}}
{{<team-member image="mathieu.jpg" name="Mathieu Wassmuth">}}
{{<team-member image="eldar.jpg" name="Eldar Akhundzada">}}
{{</gallery>}}

7 changes: 5 additions & 2 deletions content/ss24/bachelor/b4-sempy/features.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
+++
title = "Features"
weight = 10
draft = true
draft = false
+++

{{<section title="Features">}}
Our SEMPY Button offers a relaxed shopping experience that provides customers with the best recommendations based on the information from the three major platforms: idealo, Amazon, and YouTube. Whether the customer is interested in a Victorinox Huntsman, an MSR Hubba Hubba 2 NX tent, or Apple AirPods 3, the SEMPY-AI Tool caters to the customer's individual needs.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis neque id vulputate malesuada. Quisque dignissim finibus urna sed sagittis.
Due to its crawling capabilities, the SEMPY-AI Tool analyzes customer reviews, pros and cons, Q&A, ratings, and YouTube transcripts from Idealo, Amazon, and YouTube. It then generates a text with all the important information from these sources in an overview. It emphasizes the key points mentioned by customers, helping prospective buyers make informed purchasing decisions. Furthermore, the SEMPY-AI Tool provides advice on which product is best suited for a person.

<-Video->

{{</section>}}
27 changes: 23 additions & 4 deletions content/ss24/bachelor/b4-sempy/process.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,35 @@
+++
title = "Process"
weight = 10
draft = true
draft = false
+++

{{<section title="Process">}}
<!-- We startetd the project by brainstorming and noting down our ideas on a Miro Board. We had an idea, to do a chatbot like "Perplexity" and let the customers ask there bot about the products. Instead we decided to have the AI-Tool on the productpage of idealp and output the information for the customer. We wanted the tool to include pros and cons as well as a summary of the customer reviews to the product they are looking up.
At the beginning of the project, there was a brainstorming phase where we, as a group, wanted to define how our project should look at the end of the semester. We had ideas like Perplexity AI, ChatGPT, and similar AI tools. Initially, we thought of having a tool where customers could have a conversation on the Idealo website and ask everything about the product.

-----Bild----
<-Text1->
<-picture of our first idea->

To work efficiently we defined tasks we wanted to do for the week and than split up in two groups. To give our project a structure we made a road map with a few milestones.We started out by getting familiar with Python and the Git workflow.After that we started building a class that takes information from the idealo page and pass the information from the site to an class that uses opaenAI's GPT to summarize the information. Furthermore we created a main class that combines the ai class and idealo class to see our first result. Following we -->
However, the problem was that we had a monthly budget, and if our project were to be used in the future, the monthly budget would explode. After a long discussion, we concluded that we would generate the output of the OpenAI API and place it on the website. After we had a rough idea how our project should look, we started to plan on which language we will program and which tools we goanna use. Our supervisors recommended us to use GitHub for the project because it easier to program as a group on GitHub. Following a lengthy discussion, we decided to use the programming language “Python” because it is easier to work with the OpenAI API. Following a long discussion, we decided to divide our group into two teams. One team was responsible for the AI-Class, and the other for parsing information from the Idealo site. This arrangement worked really well, and we soon had an AI-Class capable of responding to our questions. Additionally, we were able to parse the information from the Idealo site and save it as a JSON file. We connected the AI-Class and the IdealoParser-Class with the main program, and we already saw our
first results.
<-Text2->
We gave the API the prompt to read the JSON file and write a small summary, including pros and cons, customer reviews, target audience, and some facts about the product. We had a dummy HTML where we could test our output. Initially, we had only one box containing all the outputs in a single JSON. However, our supervisor advised us to create a separate JSON for each section to organize them better.

During the middle of the semester, we decided to crawl information from different platforms like YouTube and Amazon. Again, we had two teams responsible for this task. For YouTube, we utilized the YouTube API from Google. With our code, we were able to search for videos on YouTube and download their transcripts. This process was relatively straightforward, but to ensure quality reviews and realistic transcripts, we filtered videos based on likes, views, subscribers, and manually created transcripts. After working on the YouTube Transcript class for a few weeks, we successfully downloaded realistic transcripts from the videos and saved them as JSON files. We then fed this data into the API. Meanwhile, the other team managed to crawl customer reviews from Amazon and saved them as a JSON.

Now we had an idea of how we wanted our product to look and how we would present it at the IMI-Showtime. We considered downloading the HTML code from the idealo website and using it as a blueprint. However, the code was 17,000-18,000 lines long, which would have been a lot of work to manage. Our supervisors suggested having weekly meetings with various employees from idealo who could provide valuable input for our project. After one such meeting, an idealo employee suggested using a Chrome extension instead of downloading thousands of lines of code and connecting them all. We took care of the Chrome extension and were able to see our output on it.

<-Text3->

We were really happy to see our first result, which was a huge achievement for all of us. Of course, the input wasn't as good as we expected, but it was still a milestone for us. After presenting this to our supervisors, they gave us a design tip. Instead of printing the output on the website, we should have a button that opens a modal window with the output. We finally had a fixed goal for our project and a clear vision
of how it should look
<-Text4->

We worked on that idea and improved our prompts, resulting in this final output.
<-Text5->

If you click on the button, it will generate information about this product. We made two versions of our project. Since generating the information takes time, we created one version where the generated texts are already available and just open in the modal, and another version that generates the texts live. The advantage of pre-generating is that we save a lot of costs, and the customer can get the information immediately.

<-Text5->

{{</section>}}
9 changes: 9 additions & 0 deletions doc/update.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ in branches, see [pull_request.md](./pull_request.md)
2. update your fork and your local clone
Remember, both are just git repositories. You can start in either one.


## Further Reading

We are using the Forking Workflow that is common to contribute to open source repos.

- Atlassian Git Tutorial: [Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow)
- GitHub Docs: [Collaborating with pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests)

## Updating your Fork & Clone
### a. start in fork (on github)

1. Go to the main page of your fork.
Expand Down
Loading