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
- Recherche par concepts
- Recherche par contexte
- Recherche par similarité
- Recherche par relations
- Recherche par intention
2. Analyse d'information
- Analyse de documents
- Analyse de données
- Analyse de tendances
- Analyse de sentiment
- Analyse de contexte
3. Extraction de connaissances
- Extraction d'entités
- Extraction de relations
- Extraction de faits
- Extraction de concepts
- Extraction de résumés
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.
"""