Histórico
A saída bruta de um modelo de linguagem grande (LLM) geralmente é um texto de forma livre, o que dificulta o processamento programático. A biblioteca Instructor foi projetada especificamente para resolver esse problema, simplificando o processo de processamento de dados subsequente por meio de saída estruturada.
Soluções essenciais
- Definição de estruturas usando o modelo PydanticPrimeiro, crie uma classe que herde do BaseModel, definindo explicitamente os campos e os tipos de saída que você espera
- Cliente LLM integradoAdicionar recursos de processamento estruturado envolvendo o cliente padrão por meio de constructor.from_openai()
- Especifique o parâmetro response_model: passe sua classe de modelo definida na chamada de API e deixe que o LLM retorne os dados nesse formato
- verificação automatizadaO instrutor verifica automaticamente se os dados retornados estão em conformidade com a definição do modelo e garante que o tipo está correto.
solução alternativa
- Para estruturas aninhadas complexas, você pode usar o recurso Nested Models do Pydantic
- Se alguns campos puderem ser nulos, você poderá usar a anotação de tipo Optional
- Para formatos de dados especiais, o validador personalizado do Pydantic pode ser utilizado
ponto de partida
O uso da biblioteca do instrutor + abordagem do modelo Pydantic não só resolve o problema da saída confusa, mas também detecta erros de formatação em um estágio inicial dos dados, reduzindo drasticamente a dificuldade do processamento subsequente.
Essa resposta foi extraída do artigoInstrutor: uma biblioteca Python para simplificar fluxos de trabalho de saída estruturada para grandes modelos de linguagemO































