Recherche et analyse d'information avec les LLM

Recherche et analyse d'information avec les LLM

Introduction

Les modèles de langage peuvent être utilisés pour créer des systèmes de recherche intelligents et des outils d'analyse d'information sophistiqués. Ce tutoriel explore les différentes façons d'implémenter ces fonctionnalités avec les LLM.

Types de recherche et d'analyse

1. Recherche sémantique

2. Analyse d'information

3. Extraction de connaissances

Implémentation

1. Système de recherche sémantique

from openai import OpenAI
import json
from typing import List, Dict, Any
import numpy as np

class SemanticSearchSystem:
    def __init__(self, api_key: str):
        self.client = OpenAI(api_key=api_key)
    
    def search(self, query: str, documents: List[Dict[str, Any]], 
               search_type: str = "semantic") -> List[Dict[str, Any]]:
        prompt = self._create_search_prompt(query, documents, search_type)
        
        response = self.client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "Tu es un expert en recherche sémantique."},
                {"role": "user", "content": prompt}
            ],
            temperature=0.3
        )
        
        return json.loads(response.choices[0].message.content)
    
    def _create_search_prompt(self, query: str, documents: List[Dict[str, Any]], 
                            search_type: str) -> str:
        return f"""
        Effectue une recherche {search_type} pour la requête suivante :
        
        Requête : {query}
        Documents : {json.dumps(documents, indent=2)}
        
        Pour chaque résultat, fournis :
        1. Le document pertinent
        2. Le score de pertinence
        3. Les raisons de la pertinence
        4. Les extraits pertinents
        
        Réponds au format JSON.
        """