Skip to main content

No project description provided

Project description

Ionic Langchain

Ionic Langchain provides a wrapper around the Ionic Commerce's SDK for use as a Tool in a custom Langchain agent. This tool will enable e-commerce for your agent, allowing your users to ask for product recommendations and purchase products through the agent chat interface.

Installation

This tool requires at least langchain@0.0.350 and can work with any greater patch release the 0.0.x series.

You can install the package from GitHub using pip:

python3 -m pip install git+https://github.com/ioniccommerce/ionic_langchain.git#v0.1.2

or poetry:

poetry add git+https://github.com/ioniccommerce/ionic_langchain.git#v0.1.2

Usage

import os
from typing import List

from ionic_langchain.tool import IonicTool
from langchain.agents import AgentType, Tool
from langchain.agents import initialize_agent
from langchain.chat_models import ChatOpenAI
from langchain.memory import ConversationBufferWindowMemory, RedisChatMessageHistory


tools: List[Tool] =  [
    IonicTool().tool(),
    # others,
]
redis_memory = RedisChatMessageHistory(url=os.environ.get("REDIS_URL"),session_id="chatId"),
memory = ConversationBufferWindowMemory(
    k=12,
    return_messages=True,
    chat_memory=redis_memory,
    memory_key="chat_history",
)

agent = initialize_agent(
    tools=tools,
    llm=ChatOpenAI(openai_api_key=os.environ.get("OPENAI_API_KEY"),temperature=0.5),
    agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,
    memory=memory,
    handle_parsing_errors=True,
    verbose=True,
)

agent.run(input="Roadhouse VHS")

Customizing the SDK

ionic_langchain.tool.IonicTool's constructor accepts an instance of ionic_langchain.tool.Ionic, a wrapper around our SDK. ionic_langchain.tool.Ionic, in turn accepts an instance of that SDK, so you can provide the tool with a custom configuration:

import os
from ionic.sdk import Ionic as IonicSDK
from ionic_langchain.tool import Ionic, IonicTool


sdk = IonicSDK(api_key_header=os.environ.get("IONIC_API_KEY"))
ionic = Ionic(sdk=sdk)
tool = IonicTool(ionic=ionic).tool()

Development

Ionic Langchain is not currently accepting external contributions. Contact us via this form if you would like to contribute.

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

ionic_langchain-0.1.6.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

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

ionic_langchain-0.1.6-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file ionic_langchain-0.1.6.tar.gz.

File metadata

  • Download URL: ionic_langchain-0.1.6.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.12.0 Linux/6.2.0-1018-azure

File hashes

Hashes for ionic_langchain-0.1.6.tar.gz
Algorithm Hash digest
SHA256 fb89c0f8f8485001c0f4d7d8253e0b2ca0cebfcfb9ebdcc870855a7e9b1f4c0d
MD5 b8ce47dc5f141b84e4ecf3e74cbd8771
BLAKE2b-256 64704f924f06c74246e6d4f928c3dd97456dc103128185de6c1711dc6e0f58e0

See more details on using hashes here.

File details

Details for the file ionic_langchain-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: ionic_langchain-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.12.0 Linux/6.2.0-1018-azure

File hashes

Hashes for ionic_langchain-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 98a6a9b3d2654ee0ef479dc4f473b618c4cd0f53d49b43c211006e499990a3a4
MD5 53f59c5dfd19c68e53a3e1143680cd8b
BLAKE2b-256 caea0dbbba6fa45c31fe28a5d822fae1f3a82960d5be6a97f41e2645c75b9929

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