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
- Busca por conceitos
- Busca por contexto
- Busca por similaridade
- Busca por relações
- Busca por intenção
2. Análise de informação
- Análise de documentos
- Análise de dados
- Análise de tendências
- Análise de sentimento
- Análise de contexto
3. Extração de conhecimento
- Extração de entidades
- Extração de relações
- Extração de fatos
- Extração de conceitos
- Extração de resumos
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.
"""