Criando um Chatbot com IA local

O modelo Llama 3 pode ser usado em código Python para gerar respostas através da biblioteca Langchain.

Em resumo, a utilização do modelo Llama 3 com Langchain em Python envolve a importação, a instanciação, a definição do prompt, a invocação do modelo e o processamento da resposta. Esse processo permite que o código interaja com o modelo de forma programática para realizar tarefas de geração de texto.

Para usar o Llama 3 em Python, primeiro, é necessário importar a classe Ollama de langchain_community.llms. Em seguida, cria-se um objeto [Ollama](Ollama.md) especificando o modelo a ser usado, neste caso, "Llama 3". Após instanciar o modelo, a função invoke é utilizada para passar um prompt e obter uma resposta.

Passo a passo

O passo a passo para usar o modelo Llama 3 em código Python, utilizando a biblioteca Langchain, é o seguinte:

Inicialmente certifique-se que a LLm local como o Ollama está devidamente instalado para executar o llama3.1.

Importar as Bibliotecas Necessárias

Para começar a trabalhar com o modelo Llama 3 utilizando a biblioteca Langchain, é necessário importar as classes e funções necessárias utilizando o pip. Isso inclui a classe Ollama do módulo langchain_community.llms. Lembre-se de criar um ambiente virtual antes:

Criando Ambiente Virtual e Instalando Bibliotecas

Antes de começar, é importante criar um ambiente virtual para evitar conflitos com outras bibliotecas instaladas no Python padrão. Você pode usar o python -m venv para criar um novo ambiente virtual.

python -m venv meu-ambiente-virtual

Após criar o ambiente virtual, ative-o executando:

source meu-ambiente-virtual/bin/activate  # (Linux/Mac)
meu-ambiente-virtual\Scripts\activate  # (Windows)

Com o ambiente virtual ativado, você pode instalar as bibliotecas necessárias utilizando pip:

Importando Bibliotecas

Agora que as bibliotecas estão instaladas, é hora de importar as classes e funções necessárias para trabalhar com o modelo Llama 3. Você precisará da classe Ollama do módulo langchain_community.llms.

pip install langchain_community
pip install langchain langchain-ollama ollama  

Importação das Classes e Funções Necessárias

Após instalar as dependências, você precisará importar as classes e funções necessárias para trabalhar com o modelo Llama 3. Isso inclui a classe Ollama do módulo langchain_community.llms.

from langchain_community.llms import Ollama

Configuração do Modelo

Para utilizar o modelo Llama 3, você precisará criar uma instância da classe Ollama. Isso pode ser feito passando as credenciais necessárias para acessar o modelo.

model = Ollama()

Agora que você tem a instância do modelo configurada, você estará pronto para utilizar o modelo Llama 3 com a biblioteca Langchain.

Além disso, o código Python também pode incluir outras funcionalidades, como:

É importante destacar que a biblioteca Langchain está em constante desenvolvimento, com novas funcionalidades e atualizações sendo adicionadas frequentemente, o que pode implicar mudanças na forma como os modelos são utilizados.

Exemplos

Exemplo simplificado:

from langchain_ollama import OllamaLLM

model = OllamaLLM(model="llama3.1", base_url="http://localhost:11434",)

result = model.invoke(input="Hello world!")
print(result)

O código fornecido demonstra o seguinte processo:

Exemplo com função em loop:

from langchain_ollama import OllamaLLM
from langchain_core.prompts import ChatPromptTemplate

template = """
Responda a questão abaixo.

Aqui está a conversação até agora: {contexto}

Questão: {questão}

Resposta:
"""

model = OllamaLLM(model="llama3.1", base_url="http://localhost:11434",)
prompt = ChatPromptTemplate.from_template(template)
chain = prompt | model


def handle_conversation():
    contexto = ""
    print("Bem-vindo ao chatbot! Digite 's' para sair.")
    while True:
        questao = input("Você: ")
        if questao.lower() == "s":
            break
        resultado = chain.invoke({"contexto": contexto, "questão": questao})
        print("Bot: ", resultado)
        contexto += f"\nUsuario: {questao}\nAI: {resultado}\n"


if __name__ == "__main__":
    handle_conversation()

O código fornecido demonstra o seguinte processo:

Em resumo, o código Python utiliza a biblioteca Langchain para importar o modelo Llama 3, enviando um prompt e obtendo uma resposta de forma programática.

Referências