Skip to main content

En el presente proyecto muestro la construcción de una sistema de recomendación, el sistema permite recomendar recursos a través del uso de mecanismos de Procesamiento de lenguaje natura como agentes langchain, IA generatica y embeddings.

Project description

Sistema de recomendación con agente langchain

Acerca del proyecto

En el presente proyecto muestro la construcción de una sistema de recomendación, el sistema permite recomendar recursos a través del uso de mecanismos de Procesamiento de lenguaje natura como agentes langchain, IA generatica y embeddings.

Procesos

  • Configuración de ChromaDb - Vector Similarity
  • Creación del módulo de generación de embeddings ya sea por openAi o algun otro modelo
  • Módulo de recomendación generativo con agentes langchain y llms

Tecnologías

  • Python
  • ChromaDB
  • Langchain
  • Llama
  • HugginFace
  • pytorch
  • OpenAI
  • Embeddings
  • Mistral
  • GPT

Prerequisitos

Inicializacion manual

  • Clonar el repositorio

    git clone https://github.com/johansquintero/recommender-agent
    
  • Crear el entorno virtual

    python -m venv env
    
  • Activar entorno virtual (windows):

    env\Scripts\activate
    
  • Instalar las dependencias del proyecto:

    pip install -r requirements.txt
    

Instalando con pip

pip install recommender-agent

Ejemplo de implementacion del sistema

Imports

from recommender_agent.recommenderSystem import CoreRecommendation
import pandas as pd

Se importa el dataset de la ruta donde este ubicado

books = pd.read_csv("../dataset_books/Books2.csv")
books = books.fillna('')
books.drop(columns=["isbn13","thumbnail","subtitle"],axis=1,inplace=True)

Un requisito es que cada uno de los elementos tengan un id

books["id"] = books.index + 1

Se convierte a diccionario el dataset

books_dict = books.to_dict(orient='records') 

Si se cuenta con una api key de openai se agrega en este apartado

openai_api_key = ""

Se inicializa la instancia el recomendador

recommender = CoreRecommendation(openai_key=openai_api_key)

De la intancia anterior se crea ruta de persistencia de los recursos

recommender.init_components(collection_name="books",resources=books_dict)

Usuario de prueba en formato JSON

user = {
  "user": {
    "id": 234567,
    "name": "Carlos Rodriguez",
    "email": "carlos_rodriguez@email.com",
    "address": {
      "street": "Calle Principal",
      "city": "Barcelona",
      "state": "Spain",
      "postal_code": "08001"
    },
    "preferences": {
      "genres": ["Philosophy","Novels", "History"],
      "favorite_authors": ["Dan Brown", "Ken Follett", "René Descartes"]
    },
    "purchase_history": [
      {
        "book": "The Da Vinci Code",
        "author": "Dan Brown",
        "price": 17.99,
        "purchase_date": "2023-12-12"
      },
      {
        "book": "The Pillars of the Earth",
        "author": "Ken Follett",
        "price": 22.99,
        "purchase_date": "2024-01-05"
      }
    ]
  }
}

Se ejecuta el recomendador con la informacion del usuario

print(recommender.get_recommendation(user=user))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recommender-agent-0.2.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

recommender_agent-0.2.1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file recommender-agent-0.2.1.tar.gz.

File metadata

  • Download URL: recommender-agent-0.2.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for recommender-agent-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a6d950277427410ba842d917c7c4a6b36102fb990b212d1657eae6c98629f7b6
MD5 c2c1e8fed396a6b365331464344eee18
BLAKE2b-256 033e600429fec2773542d0f65632618d2a340a446b2c79b5713fc63f57b4b91d

See more details on using hashes here.

File details

Details for the file recommender_agent-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for recommender_agent-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 238ce2e855b05bda7cb71ea2ef757e08375ac69ffbe56846fd5ed9c1565d7233
MD5 5a5f54b2dd8e56ae869bcb89be5d3519
BLAKE2b-256 01f522f3762ae9c898c4d1586b93c412ac5092eab7ae30ac3d1fc1ca54d2c6ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page