Búsqueda y análisis de información con LLM
Búsqueda y análisis de información con LLM
Introducción
Los modelos de lenguaje pueden utilizarse para crear sistemas de búsqueda inteligentes y herramientas sofisticadas de análisis de información. Este tutorial explora las diferentes formas de implementar estas funcionalidades con LLM.
Tipos de búsqueda y análisis
1. Búsqueda semántica
- Búsqueda por conceptos
- Búsqueda por contexto
- Búsqueda por similitud
- Búsqueda por relaciones
- Búsqueda por intención
2. Análisis de información
- Análisis de documentos
- Análisis de datos
- Análisis de tendencias
- Análisis de sentimiento
- Análisis de contexto
3. Extracción de conocimiento
- Extracción de entidades
- Extracción de relaciones
- Extracción de hechos
- Extracción de conceptos
- Extracción de resúmenes
Implementación
1. Sistema de búsqueda semántica
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.
"""