Compartilhar via


Como integrar com o LangChain

O fluxo de Prompt também pode ser usado junto com a biblioteca do Python do LangChain, que é a estrutura para o desenvolvimento de aplicativos alimentados por LLMs, agentes e ferramentas de dependência. Nesse documento, mostraremos como superalimentar seu desenvolvimento do LangChain no nosso programa.

Captura de tela de fluxos com a biblioteca de Python do LangChain.

Apresentamos as seguintes seções:

Benefícios da integração do LangChain

Consideramos a integração entre o LangChain e prompt flow como uma combinação poderosa que pode ajudar a criar e testar seus modelos de linguagem personalizados com facilidade, especialmente nos casos em que você possa querer usar módulos do LangChain para criar seu fluxo inicialmente e, em seguida, usar o nosso prompt flow para ampliar com facilidade os experimentos de teste em massa, avaliando e, eventualmente, implantando.

  • Para experimentos de maior escala – converter o desenvolvimento do LangChain existente em segundos. Se você já desenvolveu o prompt flow de demonstração com base no código LangChain localmente, com a integração simplificada no prompt flow, você pode convertê-lo facilmente em um fluxo para experimentação adicional, por exemplo, você pode realizar experimentos de escala maiores com base em conjuntos de dados maiores.
  • Para obter uma engenharia de fluxo mais familiar, Crie com facilidade um fluxo de prompt baseado no SDK do Python com o qual você está acostumado. Se já estiver familiarizado com o SDK do LangChain e preferir usar suas classes e funções diretamente, o nó do Python para criação de fluxos intuitivos permitirá que você crie facilmente fluxos baseados no seu código do Python personalizado.

Como converter o código do LangChain em um fluxo

Suponha que você já tenha seu próprio código do LangChain disponível localmente e que esteja devidamente testado e pronto para implantação. Para convertê-lo em um fluxo executável na nossa plataforma, você precisa seguir as etapas abaixo.

Pré-requisitos para um ambiente e uma sessão de computação

Você pode personalizar o ambiente usado para executar esse fluxo adicionando pacotes no arquivo requirements.txt na pasta de fluxo. Saiba mais sobre sessão de computação

Converter credenciais para solicitar conexão de fluxo

Ao desenvolver seu código LangChain, você pode ter definido variáveis de ambiente para armazenar suas credenciais, como a CHAVE DE API do AzureOpenAI. Isso é necessário para invocar o modelo AzureOpenAI.

Captura de tela do exemplo da OpenAI do Azure em LangChain.

Em vez de codificar diretamente as credenciais em seu código e expô-las como variáveis de ambiente ao executar o código LangChain na nuvem, é recomendável converter as credenciais de variáveis de ambiente em uma conexão no fluxo de prompt. Isso permite que você armazene e gerencie as credenciais separadamente do código.

Criar uma conexão

Crie uma conexão que armazene todas as suas credenciais, como chaves de API do LLM ou outras credenciais requeridas.

  1. Vá para o prompt flow no seu espaço de trabalho e vá para a guia Conexões.
  2. Selecione Criar e selecione um tipo de conexão para armazenar suas credenciais. (Considere a conexão personalizada como um exemplo) Captura de tela de fluxos na guia conexões com destaque para o botão personalizado no menu flutuante criar.
  3. No painel do lado direito, você pode definir o nome da sua conexão e adicionar vários pares de chave-valor para armazenar suas credenciais e chaves ao selecionar Adicionar pares de chave-valor. Captura de tela de adicionar um ponto de conexão personalizado no botão de adicionar pares de chave-valor.

Observação

  • Você pode definir um par de chave-valor como secreto ao marcar a caixa é secreto, o que será criptografado e armazenado na sua chave-valor.
  • Certifique-se de que pelo menos um par de chave-valor esteja definido como secreto, caso contrário, a conexão não será criada com êxito.

Em seguida, essa conexão personalizada será usada para substituir a chave e a credencial que você definiu explicitamente no código do LangChain. Se já tiver um fluxo de prompt com integração do LangChain, você poderá ir para Configurar conexão, entrada e saída.

Conversão do código do LangChain em um fluxo executável

Todo o código do LangChain pode ser executado diretamente nas ferramentas do Python no seu fluxo. Desde que sua sessão de computação contenha os pacotes de dependência, você pode facilmente converter o código do LangChain em um fluxo seguindo as etapas abaixo.

Converter código LangChain em estrutura de fluxo

Observação

Existem duas maneiras de converter seu código do LangChain em um fluxo.

  • Para simplificar o processo de conversão, você pode inicializar o modelo LLM por invocação diretamente em um nó do Python utilizando a biblioteca de LLM integrada do LangChain.
  • Outra abordagem é converter seu consumo de LLM do código do LangChain em nossas ferramentas de LLM no fluxo para um melhor gerenciamento experimental futuro.

Para uma conversão rápida do código do LangChain em um fluxo, recomendamos dois tipos de estruturas de fluxo baseadas no caso de uso:

Tipos Desc Caixa
Tipo A Um fluxo que inclua tanto nós de prompt quanto nós do Python Você pode extrair o modelo de prompt do seu código em um nó de prompt e combinar o código restante em um único nó do Python ou em várias ferramentas do Python. Essa estrutura é ideal para quem deseja ajustar o prompt com facilidade executando variantes de fluxo e, em seguida, escolher a opção ideal com base nos resultados da avaliação.
Tipo B Um fluxo que inclua apenas nós Python Você pode criar um novo fluxo apenas com nós do Python. Todos os códigos, incluindo a definição de prompt, serão executados em nós do Python. Essa estrutura é adequada para quem não precisa ajustar o prompt explicitamente no espaço de trabalho, mas requer testes em lote mais rápidos com base em conjuntos de dados em maior escala.

Por exemplo, um fluxo do gráfico do tipo A seria algo como:

Captura de tela de fluxos com destaque para o botão do prompt e o modelo do sistema.

Captura de tela do modelo do sistema mostrando a variante um e zero com o botão “terminar ajuste” em destaque.

Por outro lado, o fluxo do tipo B seria algo como:

Captura de tela de fluxos mostrando o nó e o grafo do código do LangChain.

Para criar um fluxo no Azure Machine Learning, você pode acessar seu espaço de trabalho, selecionar fluxo de Prompt no painel de navegação à esquerda e, em seguida, selecionar Criar para criar um novo fluxo. Diretrizes mais detalhadas sobre como criar um fluxo são apresentadas em Criar um fluxo.

Configurar conexão, entrada e saída

Depois de ter um fluxo estruturado corretamente e terminar de mover o código para nós de ferramenta específicos, você precisará substituir as variáveis de ambiente originais pela chave correspondente na conexão e configurar a entrada e a saída do fluxo.

Configurar conexão

Para utilizar uma conexão que substitua as variáveis de ambiente que você definiu originalmente no código LangChain, você precisa importar a biblioteca de conexões de fluxo de prompts promptflow.connections no nó do Python.

Por exemplo:

Se você tiver um código LangChain que consome o modelo AzureOpenAI, poderá substituir as variáveis de ambiente pela chave correspondente na conexão OpenAI do Azure:

Importar Biblioteca from promptflow.connections import AzureOpenAIConnection

Captura de tela do código LangChain no fluxo de prompt.

Para ter uma conexão personalizada, você precisa seguir as etapas:

  1. Importe a biblioteca from promptflow.connections import CustomConnection e defina um parâmetro de entrada do tipo CustomConnection na função de ferramenta. Captura de tela do nó da cadeia de pesquisa de documentos com destaque para a conexão personalizada.
  2. Analise a entrada na seção de entrada e, em seguida, selecione a conexão personalizada de destino na lista suspenso de valores. Captura de tela do nó da cadeia com destaque para a conexão.
  3. Substitua as variáveis de ambiente que definiram a chave e a credencial originalmente pela chave correspondente adicionada na conexão.
  4. Salve, retorne à página de criação e configure o parâmetro de conexão na entrada do nó.

Configurar entrada e saída do trabalho

Antes de executar o fluxo, configure a entrada e a saída do nó e também a entrada e a saída do fluxo de modo geral. Essa etapa é crucial para garantir que todos os dados necessários sejam passados corretamente pelo fluxo e que os resultados desejados sejam obtidos.

Próximas etapas