Pesquisa e análise de informação com LLMs

Pesquisa e análise de informação com LLMs

Introdução

Os modelos de linguagem podem ser usados para criar sistemas de busca inteligentes e ferramentas sofisticadas de análise de informação. Este tutorial explora as diferentes formas de implementar essas funcionalidades com LLMs.

Tipos de pesquisa e análise

1. Busca semântica

2. Análise de informação

3. Extração de conhecimento

Implementação

1. Sistema de busca 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.
        """