Giter Club home page Giter Club logo

bootcamp-llm4devs's Introduction

LLM4Devs

Olá! Que honra ter você conosco no Bootcamp LLM4Devs! Espero que o bootcamp seja muito útil na sua jornada na criação de aplicações baseadas em LLMs.

Antes de começarmos, vamos nos certificar que você com seu ambiente pronto para o bootcamp -- e assim focamos nosso tempo de sábado para as atividades hands on.

Ferramentas

Para esse bootcamp, iremos utilizar Python como linguagem de programação e o Postgres como banco de dados. Certifique-se que você conseguiu instalar e configurar ambos. Versões recomendadas:

  • Python: 3.10 ou superior
  • PostgreSQL: 15 ou superior

Todas as demais dependencias serão instaladas via pip.

Crie um ambiente virtual e instale as dependencias do Python

Para não criar uma confusão com as bibliotecas do seu sistema e as que serão utilizadas no bootcamp, é recomendado criar um ambiente virtual separado.

python3 -m venv env
source env/bin/activate

Em seguida, instale as bibliotecas:

pip install -r requirements.txt

Instale a extensão pgvector do Postgres

O PGVector é uma ferramenta muito importante para criação de aplicações baseadas em LLMs, uma vez que ele fornece novos tipos de armazenamento e busca de dados. Para instalá-lo, siga as instruções abaixo.

Para usuários Linux, o pgvector pode ser instalado via APT:

sudo apt install postgresql-16-pgvector

Para usuários macOS, pode-se utilizar o homebrew:

brew install pgvector

Para demais métodos de instalação, consulte o repositório oficial.

Crie uma base de dados no postgres

Uma vez instalado, crie uma base de dados e uma tabela usando o tipo VECTOR. Primeiro, se conecte via linha de comando no seu banco de dados;

$ psql -h 127.0.0.1 -U postgres

Uma vez conectado, rode o script abaixo para criar a base e a tabela.

CREATE DATABASE bootcamp_llm;

\c bootcamp_llm

CREATE EXTENSION IF NOT EXISTS vector;

DROP TABLE IF EXISTS embeddings;

CREATE TABLE IF NOT EXISTS embeddings (
    id SERIAL PRIMARY KEY,
    content TEXT,
    chars INTEGER,
    embeddings VECTOR
);

Configure acesso a OpenAI

Muito do nosso trabalho será baseado nas APIs da OpenAI. Para isso, você precisa criar uma chave para acessar a plataforma da OpenAI.

Em seguida, adicione a variavel de ambiente OPENAI_API_KEY dentro do arquivo .env.

OPENAI_API_KEY = "<CHAVE>"

Rode a interface web

Por fim, para garantir que a configuracao foi bem sucedida, rode o seguinte comando:

  • python3 $PATH/bootcamp-llm4devs/backend/core/main.py

Exercícios pós-bootcamp

Após o bootcamp, para continuar progredindo nos estudos, considere implementar essa lista de exercícios:

  • Siga as instruções do BootCamp e implemente uma solução parecida com a que está na branch bootcamp.
  • Teste o exercício do bootcamp com outro modelo (como o Gemini-pro, mistral, etc).
  • Busque novas fontes de dados de outros formatos (arquivos PDFs, vídeos do YouTube).
  • Estude como os dados são inseridos no banco. Brinque com os tamanhos e estratégias de chunking.
  • Estudo e implemente diferentes estratégias para limpeza de dados. Pense como essas estratégias podem ser utilizadas em diferentes tipos de dados (considere tipos de dados como XML, JSON, trechos de código, tabelas, etc).

Ao longo da sua implementação, usse o Discord para discutir suas soluções.

bootcamp-llm4devs's People

Contributors

gustavopinto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.