Skip to content

Instantly share code, notes, and snippets.

View leifermendez's full-sized avatar
👋
Focusing

Leifer Mendez leifermendez

👋
Focusing
View GitHub Profile
@leifermendez
leifermendez / settings.json
Created January 29, 2024 15:32
settings.json
{
"workbench.iconTheme": "moxer-icons",
"workbench.colorCustomizations": {
"tab.activeBorder": "#0077b6",
"tab.unfocusedActiveBorder": "#000000",
"tab.activeBackground": "#0077b6",
"tab.hoverBackground": "#348cff"
},
"highlight.regexes": {
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *TODO(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
@leifermendez
leifermendez / telegram.provider.js
Created December 12, 2023 21:11
telegram.provider.js para tener el chatbot para telegram
const { ProviderClass } = require('@bot-whatsapp/bot')
const TelegramBot = require("node-telegram-bot-api");
class TelegramProvider extends ProviderClass {
vendor
constructor({ token }) {
super()
this.vendor = new TelegramBot(token, { polling: true });
const listEvents = this.busEvents()
for (const { event, func } of listEvents) {
@leifermendez
leifermendez / chatgpt.class.js
Created December 12, 2023 20:43
chatgpt.class.js (usando el state)
const { CoreClass } = require('@bot-whatsapp/bot');
class ChatGPTClass extends CoreClass {
queue = [];
optionsGPT = { model: "gpt-3.5-turbo" };
openai = undefined;
constructor(_database, _provider) {
super(null, _database, _provider)
name: publish
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
publish-hello-docker-image:
runs-on: ubuntu-latest
steps:
@leifermendez
leifermendez / sheet.js
Created September 21, 2023 16:01
sheet.js
const { JWT } = require("google-auth-library");
const { GoogleSpreadsheet } = require("google-spreadsheet");
const SCOPES = [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive.file",
];
class GoogleSheetService {
jwtFromEnv = undefined;
@leifermendez
leifermendez / waiter.sh
Created September 12, 2023 14:39
waiter.sh
```bash
#!/bin/bash
OPENAI_API_KEY=''
ID_TENANT=''
EXTERNAL_API_KEY=''
CONTAINER_NAME=''
PORT=''
while getopts o:i:e:n:p: flag
@leifermendez
leifermendez / chatwood.sh
Created September 6, 2023 12:36
chatwood.sh
#!/bin/bash
# Detener la ejecución en caso de cualquier error
set -e
# Actualizar la lista de paquetes
echo "Actualizando la lista de paquetes..."
sudo apt-get update -qq
# Actualizar todos los paquetes instalados
@leifermendez
leifermendez / qwik-app.js
Created June 28, 2023 11:00
qwik-app.js
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const qwik = require("@builder.io/qwik");
const Logo = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl(() => {
return /* @__PURE__ */ qwik._jsxQ("div", null, null, /* @__PURE__ */ qwik._jsxQ("a", null, {
href: "https://qwik.builder.io/"
}, /* @__PURE__ */ qwik._jsxQ("img", null, {
alt: "Qwik Logo",
width: 400,
height: 147,
@leifermendez
leifermendez / chatgpt.class.js
Last active December 12, 2023 20:47
chatgpt.class.js
require('dotenv').config()
const { CoreClass } = require('@bot-whatsapp/bot');
/**
* 🔥🔥🔥 [NOTA] (Ejemplo 1)🔥🔥🔥
* Esta clase NO extiende "CoreClass" como lo explico en el minuto 4:24 del video
* Titulado: ChatGPT más flujo convencional (PROMPT)
* Link: https://app.codigoencasa.com/courses/curso-chatbot-whatsapp/tbBJYil4
*/
class ChatGPTClass{
@leifermendez
leifermendez / agent.ts
Created April 24, 2023 07:25
agent.ts
import { OpenAI, PromptTemplate } from "langchain";
import { LLMChain, VectorDBQAChain } from "langchain/chains";
import { initializeAgentExecutor } from "langchain/agents";
import { OpenAIEmbeddings } from "langchain/embeddings/openai";
import { HNSWLib } from "langchain/vectorstores/hnswlib";
import { ChainTool, DynamicTool } from "langchain/tools";
import {
CallbackManager,
LangChainTracer,
ConsoleCallbackHandler,