Koalapp - Des articles générés par IA

vues ​

Introduction

Koalapp est le fruit d'un défi de 24 heures : créer un site dynamique de diffusion d'articles. Grâce à un call API sur Newsapi et l'intégration de ChatGPT pour réinventer titres et contenus, Koalapp propose une lecture enrichie et personnalisée des dernières nouvelles.

Objectifs du Projet

L'objectif principal de Koalapp était de fournir une expérience de lecture innovante en utilisant l'intelligence artificielle pour retravailler les articles de manière personnalisée. En mettant en œuvre des technologies telles que Ruby on Rails, JavaScript, Bootstrap, PostgreSQL, et des call API News API & OpenAI, j'ai créé une plateforme offrant une lecture enrichissante et interactive.

Technologies Utilisées

  • Ruby on Rails : Gère le backend et la logique métier..
  • JavaScript : Utilisé pour rendre l'interface utilisateur dynamique et interactive.
  • Bootstrap : Rend l'interface utilisateur dynamique et interactive.
  • PostgreSQL : Base de données relationnelle utilisée pour stocker les données des articles et des utilisateurs.
  • Call API News API & OpenAI : Intégrés pour récupérer les dernières nouvelles et retraiter les articles.

Configuration et Structure du Projet

Koalapp est configuré pour offrir une expérience de lecture fluide et intuitive. La page d'accueil permet aux utilisateurs de parcourir directement les articles et de laisser des commentaires. La fonction de commentaires intégrée favorise l'interaction et les discussions autour des articles.

Défis et Solutions

Le principal défi était le temps de développement limité à 24 heures. Cela a nécessité des choix rapides et une focalisation sur les fonctionnalités essentielles.

Exploitation de NewsAPI pour les Articles

NewsAPI est utilisée pour rassembler des articles sur le tourisme en français. Les articles sont filtrés selon des critères spécifiques tels que le sujet, la langue et la pertinence. Ensuite, chaque article est analysé individuellement. Si le titre ou le contenu est vide, un modèle GPT-3.5 est utilisé pour générer un titre et poursuivre l'article en utilisant le contenu existant comme base. Cette approche dynamise les articles et offre une expérience de lecture plus engageante.

seed.rb
newsapi = News.new("XXXXXXXXXXXXXXXXXX")
all_articles = newsapi.get_everything(q: 'tourisme',
                                      language: 'fr',
                                      sortBy: 'relevancy',
                                      excludeDomains: 'en.wikipedia.org')
 
all_articles.sample(25).each do |article|
  article.title = "Titre par défaut" if article.title.blank?
  article.content = "Contenu par défaut" if article.content.blank?
 
   # Vérifie si le titre est vide et le remplace par une valeur générée par GPT-3
   if article.title.blank?
    response_title = client.chat(
      parameters: {
        model: "gpt-3.5-turbo-0301",
        messages: [
          { role: "system", content: "Tu es un journaliste." },
          { role: "user", content: "Content: #{article['content']}\n\nCrée un titre pour cet article:" }
        ],
        temperature: 0.5,
        max_tokens: 60
      }
    )
    article.title = response_title['choices'].first['message']['content']
  end
 
  response = client.chat(
    parameters: {
      model: "gpt-3.5-turbo-0301",
      messages: [
        { role: "system", content: "Tu es un journaliste." },
        { role: "user", content: "Title: #{article.title}\nContent: #{article.content}\n\nContinue l'article avec 2000 caractères pile:" }
      ],
      temperature: 0.5,
      max_tokens: 800
    }
  )
  generated_text = response['choices'].first['message']['content']

Réflexions

Koalapp a été une expérience enrichissante qui m'a permis de repousser les limites du développement web dans un délai contraint. Ce projet a non seulement permis de mettre en pratique nos compétences techniques, mais aussi d'explorer de nouvelles possibilités offertes par l'intelligence artificielle.

Project image