![Como planejar sua atualização do MongoDB](https://optimuscloud.com.br/wp-content/uploads/2024/01/Como-planejar-sua-atualizacao-do-MongoDB-150x150.jpg)
Como planejar sua atualização do MongoDB
29 de janeiro de 2024![Aplicativos distribuídos precisam de uma postura de segurança consistente](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706551113_Aplicativos-distribuidos-precisam-de-uma-postura-de-seguranca-consistente-150x150.jpg)
Aplicativos distribuídos precisam de uma postura de segurança consistente
29 de janeiro de 2024Em meu artigo anterior, discuti como a Perplexity AI construiu LLMs online com base na abordagem explicada no artigo FreshLLMs.
Vamos agora ver como podemos construir aplicativos que consomem os LLMs oferecidos pelo Perplexity AI.
Etapa 1: configurar o ambiente
Se você tiver uma conta profissional no Copilot da Perplexity, receberá US$ 5 em créditos todos os meses. Você também pode se inscrever na API separadamente pagando pelos créditos. Consulte a documentação do Perplexity Labs para obter detalhes e limites de taxa da API.
Depois de ter acesso à chave API, você pode usar o módulo Python OpenAI para acessar os modelos.
Crie um ambiente virtual Python 3.10 e instale os módulos OpenAI e Jupyter Notebook.
python3 -m venv venv source venv/bin/activate
pip install openai pip install jupyter
Como estamos acessando em nossa estação de trabalho, podemos iniciar o Jupyter Lab sem senha ou token.
jupyter notebook --ip='*' --NotebookApp.token='' --NotebookApp.password=''
Etapa 2: Acessando o Llama 2 70B por meio da API
Perplexity Labs oferece vários modelos, incluindo seus próprios LLMs online. No momento em que este livro foi escrito, ele tinha os seguintes LLMs:
Acessaremos primeiro o Llama 2 para fazer perguntas sobre a próxima Copa do Mundo T20 Masculina da ICC de 2024. Obviamente, não obteremos uma resposta precisa porque o Llama 2 não é um FreshLLM.
Vamos começar importando o módulo OpenAI.
from openai import OpenAI
Em seguida, inicializaremos as variáveis que contêm a chave da API, o modelo e os valores do prompt.
API_KEY="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" model="llama-2-70b-chat" prompt="What's the schedule of the ICC Men T20 World Cup?"
A próxima etapa é construir o modelo de prompt que contém as funções do sistema e do usuário. A função do usuário terá o prompt que inicializamos na etapa anterior.
messages = ( { "role": "system", "content": ( "You are an artificial intelligence assistant and you need to " "engage in a helpful, detailed, polite conversation with a user." ), }, { "role": "user", "content": ( prompt ), }, )
Estamos prontos para invocar a API e inspecionar a resposta. Você pode usar a mesma API do OpenAI ChatCompletion para acessar o modelo, passando o URI do Perplexity como endpoint.
Observe como inicializamos o objeto cliente com a URL e passamos o identificador do modelo para o método ChatCompletion.
client = OpenAI(api_key=API_KEY, base_url="https://api.perplexity.ai") response = client.chat.completions.create( model=model, messages=messages )
A saída está disponível no objeto de resposta, que pode ser facilmente acessado. Consulte o OpenAI Python SDK para obter detalhes.
print(response.choices(0).message.content)
Recebi a resposta com base na Copa do Mundo realizada em 2020! Isso era esperado, entretanto, já que o Llama 2 não pode acessar os dados em tempo real.
Agora, vamos tentar o mesmo prompt com o LLM online da Perplexity AI, pplx-7b-online
.
Etapa 3: Acessando o LLM Online por meio da API
Vamos mudar o modelo de llama-2-70b-chat
que pplx-7b-online
.
API_KEY="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" model="pplx-7b-online" prompt="What's the schedule of the ICC Men T20 World Cup?"
Como o modelo é um LLM online, ele coleta os dados mais recentes da web e fornece uma resposta precisa.
Algumas advertências a serem observadas
Com base em meus testes, o LLM online do parâmetro 7B é muito preciso mas miserável no raciocínio. Se você precisar de ambos, o pplx-70b-online é o candidato ideal.
Os LLMs online não podem ser usados para conversas multivoltas que normalmente esperamos de modelos capazes, como o GPT-4. Eles são bons para solicitações únicas do tipo “dispare e esqueça” que podem substituir as consultas do mecanismo de pesquisa.
Você pode usar o pplx-api do Perplexity Labs para realizar inferências em modelos abertos populares, como Mistral e Llama. A plataforma também suporta as novidades do Mistral, o mixtral-8x7b-instruct
modelo.
A API é extremamente limitada, com apenas um URI fornecendo um endpoint ChatCompletion compatível com OpenAI. Mas a boa notícia é que ele pode ser usado para construir aplicativos baseados em RAG que funcionem com OpenAI. Frameworks como LangChain e LlamaIndex funcionam bem com este endpoint.
A outra decepção é a falta de uma API para sua popular funcionalidade Copilot. O Copilot do Perplexity possui conceitos de threads e bibliotecas que agrupam conversas em unidades lógicas. Você pode continuar o tópico a qualquer momento acessando a biblioteca. O Copiloto esclarece interagindo com o usuário para inserir informações adicionais para completar a busca. Isso também está faltando na API.
Os LLMs online da Perplexity são inovadores, oferecendo novas funcionalidades que superam os melhores copilotos e assistentes de IA do mercado atualmente. Se eles alinharem a API com a funcionalidade do produto, será uma virada de jogo para os desenvolvedores.
A postagem Acessando LLMs Perplexity Online programaticamente via API apareceu pela primeira vez em The New Stack.