Este é o repositório de código para IA generativa com Langchain, primeira edição, publicada pela Packt.
Ben Aufarth
O ChatGPT e os modelos GPT do OpenAI trouxeram uma revolução não apenas na maneira como escrevemos e pesquisamos, mas também na maneira como podemos processar informações. Este livro discute o funcionamento, os recursos e as limitações dos LLMs subjacentes aos sistemas de bate -papo, incluindo ChatGPT e BARD. Ele também demonstra, em uma série de exemplos práticos, como usar a estrutura de Langchain para criar aplicativos LLM e responsivos à produção, que variam do suporte ao cliente a assistência ao desenvolvimento de software e análise de dados-ilustrando a utilidade expansiva dos LLMs em aplicativos do mundo real.
Desbloqueie todo o potencial do LLMS em seus projetos à medida que você navega por meio de orientações sobre ajuste fino, engenharia imediata e práticas recomendadas para implantação e monitoramento em ambientes de produção. Esteja você construindo ferramentas de escrita criativa, desenvolvendo chatbots sofisticados ou criando auxiliares de desenvolvimento de software de ponta, este livro será seu roteiro para dominar o poder transformador da IA generativa com confiança e criatividade.
Obrigado por escolher "IA generativa com Langchain"! Agradecemos seu entusiasmo e feedback.
Observe que lançamos uma versão atualizada do livro. Consequentemente, existem dois ramos diferentes para este repositório:
Consulte a versão em que você está interessado ou que corresponda à sua versão do livro.
Se você já comprou uma versão de impressão ou Kindle atualizada deste livro, poderá obter uma versão PDF sem DRM sem nenhum custo. Basta clicar no link para reivindicar seu PDF gratuito. Free-E-Book
Também fornecemos um arquivo PDF que possui imagens coloridas das capturas de tela/diagramas usados neste livro em GraphicBundle
Atualizações de código: nosso compromisso é fornecer exemplos de código estáveis e valiosos. Embora o Langchain seja conhecido por atualizações frequentes, entendemos a importância de alinhar nosso código com as mudanças mais recentes. O repositório complementar é atualizado regularmente para se harmonizar com os desenvolvimentos de Langchain.
Espere estabilidade: para estabilidade e usabilidade, o repositório pode não corresponder a todas as atualizações menores do Langchain. Nosso objetivo é consistência e confiabilidade para garantir uma experiência perfeita para nossos leitores.
Como nos alcançar: encontrar problemas ou ter sugestões? Por favor, não hesite em abrir um problema e nós o abordaremos imediatamente. Seu feedback é inestimável e estamos aqui para apoiá -lo em sua jornada com Langchain. Obrigado pelo seu entendimento e codificação feliz!
Você pode se envolver com o autor e outros leitores no servidor Discord e encontrar as últimas atualizações e discussões na comunidade em Discord
Na tabela a seguir, você pode encontrar links para os diretórios neste repositório. Cada diretório contém outros links para scripts Python e notebooks. Você também pode ver links para plataformas de computação, onde pode executar os notebooks no repositório. Observe que existem outros scripts e projetos Python que não são notebooks, que você encontrará nos diretórios do capítulo.
| Capítulos | Colab | Kaggle | Gradiente | Studio Lab |
|---|---|---|---|---|
| Capítulo 1: O que é IA generativa? | Sem exemplos de código | |||
| Capítulo 2: Langchain para aplicativos LLM | Sem exemplos de código | |||
| Capítulo 3: Introdução com Langchain | diretório | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| Capítulo 4: Construindo assistentes capazes | diretório | |||
| ||||
| ||||
| ||||
| Capítulo 5: Construindo um chatbot como chatgpt | diretório | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| Capítulo 6: Desenvolvendo software com IA generativa | diretório | |||
| ||||
| ||||
| ||||
| ||||
| Capítulo 7: LLMS for Data Science | diretório | |||
| ||||
| Capítulo 8: Personalizando LLMs e sua saída | diretório | |||
| ||||
| Capítulo 9: IA generativa na produção | diretório | |||
| Capítulo 10: O futuro dos modelos generativos | Sem exemplos de código |
Este é o repositório de companheiros do livro. Aqui estão algumas instruções que ajudam a ser configurado. Consulte também o capítulo 3.
Todos os capítulos confiam no Python.
| Capítulo | Software necessário | Link para o software | Especificações de hardware | OS necessário |
|---|---|---|---|---|
| Todos os capítulos | Python 3.11 | https://www.python.org/downloads/ | Deve trabalhar em qualquer computador recente | Windows, MacOS, Linux (qualquer), macOS, Windows |
Observe que o Python 3.12 pode não funcionar (consulte #11).
Você pode instalar seu ambiente local com o CONDA (recomendado) ou PIP. As configurações do ambiente para conda, pip e poesia são fornecidas. Todos eles foram testados no macOS. Observe que, se você escolher o PIP como a ferramenta de instalação, poderá precisar de instalação adicional de dependências do sistema.
Se você tiver algum problema com o ambiente, levante um problema, onde você mostra o erro que recebeu. Se você se sentir confiante, vá em frente e crie uma solicitação de tração.
No Windows, algumas pessoas têm enfrentado dificuldades com o Conde e Pip (por causa do ReadLine e Ncurses). Se for esse o caso, dê uma olhada no WSL ou use a instalação do Docker. Algumas pessoas no WinodWs relataram que precisavam instalar ferramentas visuais de construção de cpp. De qualquer forma, se você tiver algum problema com o ambiente, aumente um problema, onde você mostra o erro que recebeu. Se você se sentir confiante de que encontrou uma melhoria, vá em frente e crie uma solicitação de tração.
Para PIP e poesia, instale o Pandoc no seu sistema. No MacOS, use Brew:
brew install pandocNo Ubuntu ou Debian Linux, use APT:
sudo apt-get install pandocNo Windows, você pode usar um instalador.
Este é o método recomendado para instalar dependências. Certifique -se de ter o Anaconda instalado.
Primeiro, crie o ambiente para o livro que contém todas as dependências:
conda env create --file langchain_ai.yaml --force O ambiente do CONDA é chamado langchain_ai . Você pode ativá -lo da seguinte maneira:
conda activate langchain_ai PIP é a ferramenta de gerenciamento de dependência padrão no Python. Com o PIP, você poderá instalar todas as bibliotecas a partir do arquivo de requisitos:
pip install -r requirements.txtSe você estiver trabalhando com uma lenta conexão à Internet, poderá ver um tempo limite com o PIP (isso também pode acontecer com o CONDA e PIP). Como solução alternativa, você pode aumentar a configuração de tempo limite assim:
export PIP_DEFAULT_TIMEOUT=100Há um arquivo do Docker para o ambiente também. Ele usa o ambiente do Docker e inicia um notebook Ipython. Para usá -lo, primeiro construa e depois execute:
docker build -t langchain_ai .
docker run -it -p 8888:8888 langchain_aiVocê deve encontrar o notebook em seu navegador em http: // localhost: 8888.
Verifique se você tem poesia instalada. No Linux e MacOS, você poderá usar o arquivo de requisitos:
poetry install --no-root Isso deve pegar o arquivo pyproject.toml e instalar todas as dependências.
Seguindo as melhores práticas em relação à segurança, não estou cometendo minhas credenciais no Github. Você pode ver declarações import mencionando um arquivo config.py , que não está incluído no repositório. Este módulo possui um método set_environment() que define todas as teclas como variáveis de ambiente como esta:
Exemplo config.py:
import os
def set_environment ():
os . environ [ 'OPENAI_API_KEY' ] = 'your-api-key-here'Obviamente, você colocaria suas credenciais da API aqui. Dependendo da integração (Openai, Azure, etc), você precisa adicionar as teclas da API correspondentes. As teclas da API OpenAI são as mais usadas em todo o código.
Você pode encontrar mais detalhes sobre credenciais da API e configuração no capítulo 3 do livro AI gerador de Langchain.
Se você encontrar algo errado com os notebooks ou dependências, sinta -se à vontade para criar uma solicitação de tração.
Se você deseja alterar a especificação de dependência do CONDA (o arquivo YAML), você pode testá -lo assim:
conda env create --file langchain_ai.yaml --forceVocê pode atualizar os requisitos do PIP como este:
pip freeze > requirements.txtCertifique -se de manter essas duas maneiras de manter as dependências sincronizadas.
Em seguida, certifique -se de testar os notebooks no novo ambiente para ver que eles são executados.
Incluí um Makefile que inclui instruções para validação com Flake8, MyPy e outras ferramentas. Eu corri MyPy assim:
make typecheckPara executar a validação de código em Ruff, execute
ruff check . Ben Aufarth Ben Aufarth é um cientista de dados de pilha completa com mais de 15 anos de experiência profissional. Com um fundo e Ph.D. Em neurociência computacional e cognitiva, ele projetou e conduziu experimentos de laboratório úmido em culturas de células, analisou experimentos com terabytes de dados, executam modelos cerebrais em supercomputadores da IBM com núcleos de até 64 mil, construíram sistemas de produção que processam centenas e milhares de transações por dia e modelos de linguagem traçada em um grande corpo de texto de texto. Ele co-fundou e é o ex-presidente de palestrantes de ciência de dados, Londres.