Skip to main content

Ads4GPTs Langchain Toolkit

This is the LangChain toolkit for Ads4GPTs.

A Python package that integrates Ads4GPTs functionalities into LangChain applications, allowing for seamless retrieval of relevant advertisements based on contextual input.


Table of Contents


Introduction

Ads4GPTs LangChain Integration is a Python package designed to seamlessly incorporate Ads4GPTs functionalities into your LangChain and LangGraph applications. It provides tools and utilities to retrieve contextually relevant advertisements, leveraging the power of LangChain's agentic framework.

Whether you're building a chatbot, a recommendation system, or any application that can benefit from targeted ads, this package offers a robust and production-ready solution.

Show Your Support

If you find our ADS4GPTs project helpful, please give it a star ⭐️

GitHub Stars


Features

  • Easy Integration: Quickly integrate ad retrieval capabilities into your LangChain agents.
  • Contextual Ad Retrieval: Fetch relevant ads based on the provided context to enhance user engagement.
  • Asynchronous Support: Both synchronous and asynchronous operations are supported for flexibility.
  • Robust Error Handling: Comprehensive error handling and logging for reliable production deployments.

Installation

Using pip

You can install the package directly from PyPI:

pip install ads4gpts-langchain

From Source

Alternatively, you can install the package from source:

git clone https://github.com/ADS4GPTs/ads4gpts.git
cd ads4gpts/libs/python-sdk/ads4gpts-langchain
pip install .

Usage

Prerequisites

  • Python 3.11+
  • (Optional) OpenAI Account and API Key
    • In order to use the ads4gpts_agent you
    • Sign up at OpenAI and obtain an API key.
  • Ads4GPTs API Key

Environment Variables

The package requires certain environment variables for API authentication:

  • OPENAI_API_KEY: Your OpenAI API key.
  • ADS4GPTS_API_KEY: Your Ads4GPTs API key.

Set them in your environment:

export OPENAI_API_KEY='your-openai-api-key'
export ADS4GPTS_API_KEY='your-ads4gpts-api-key'

Alternatively, you can pass the API keys directly when initializing classes or set up a .env file.

Initialization

Import the necessary classes and functions in your Python script:

from ads4gpts_langchain import Ads4gptsInlineSponsoredResponsesTool, Ads4gptsSuggestedPromptsTool, Ads4gptsToolkit

Examples

Example 1: Using Ads4GPTsTool Directly

from ads4gpts_langchain import Ads4gptsInlineSponsoredResponsesTool

# Instantiate the tool (API key retrieved from environment variable)
ads_tool = Ads4gptsInlineSponsoredResponsesTool(ads4gpts_api_key="your-ads4gpts-api-key")

# Retrieve ads synchronously
ads = ads_tool._run(
    id="test_id",
    user={"gender": "female", "age_range": "25-34", "persona": "test_persona"},
    ad_recommendation="test_recommendation",
    undesired_ads="test_undesired_ads",
    context="Looking for the latest smartphone deals",
    num_ads=2,
    style="neutral"
)
print(ads)

# Retrieve ads asynchronously
import asyncio

async def fetch_ads():
    ads = await ads_tool._arun(
        id="test_id",
        user={"gender": "female", "age_range": "25-34", "persona": "test_persona"},
        ad_recommendation="test_recommendation",
        undesired_ads="test_undesired_ads",
        context="Best travel packages to Europe",
        num_ads=3,
        style="neutral"
    )
    print(ads)

asyncio.run(fetch_ads())

### Using the Toolkit

from ads4gpts_langchain import Ads4gptsToolkit

# Initialize the toolkit
toolkit = Ads4gptsToolkit(ads4gpts_api_key="your-ads4gpts-api-key")

# Get the list of tools
tools = toolkit.get_tools()

# Use the tool from the toolkit
ads = tools[0]._run(
    id="test_id",
    user={"gender": "female", "age_range": "25-34", "persona": "test_persona"},
    ad_recommendation="test_recommendation",
    undesired_ads="test_undesired_ads",
    context="Healthy recipes and cooking tips",
    num_ads=1,
    style="neutral"
)
print(ads)

Examples for using them in your LangChain and LangGraph application exist in the examples folder of the parent repo.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the Repository: Click the "Fork" button at the top right of the repository page.
  2. Clone Your Fork:
git clone git@github.com:ADS4GPTs/ads4gpts.git
  1. Create a Branch:
git checkout -b feature/your-feature-name
  1. Make Changes: Implement your feature or bug fix.
  2. Run Tests: Ensure all tests pass.
pip install pytest pytest-asyncio
python -m unittest discover tests

Formal tests are still under development. 6. Commit Changes:

git commit -am 'Add your commit message here'
  1. Push to Your Fork:
git push origin feature/your-feature-name
  1. Open a Pull Request: Navigate to the original repository and click "New pull request".

License

This project is licensed under the License of the Ads4GPTs repository.

Contact

For issues and feature requests, please use the GitHub issues page.

Release files for ads4gpts-langchain 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ads4gpts-langchain 0.1.15
File Size Uploaded
ads4gpts_langchain-0.1.15.tar.gz 49.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ads4gpts-langchain 0.1.15
File Interpreter ABI Platform
ads4gpts_langchain-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 237.5 kB

Release files / ads4gpts_langchain-0.1.15.tar.gz

Download URL ads4gpts_langchain-0.1.15.tar.gz
Size 49.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dec098e8898b6a93ff9dbf3d42ca1f4ebae261d1773a221f42fb160761db2642
BLAKE2b-256 checksum
How to use checksums
f679b46b8d5f4190061fc21c205daec26b2e68e74fa4e43cc4eca7db2cd7aafd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / ads4gpts_langchain-0.1.15-py3-none-any.whl

Download URL ads4gpts_langchain-0.1.15-py3-none-any.whl
Size 188.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4db6ba4266d6f2bf0b714da18cc4840e2778a5f7a7e63567d3a0f364bd8102ec
BLAKE2b-256 checksum
How to use checksums
113ec85f54c9d922f053b03f31d0819a8105903b1d19a5cc7e224fc2ab2a6094
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page