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.7.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.7-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ionic_langchain-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 8c17fb483dc52a8f08fc80391bafb19af03f7d44079213e0a4d9c4b73673e7e9
MD5 6c6d1447faf83c1c4c874ccdf60c573d
BLAKE2b-256 8e9b901e1b57d79d147c0ca9ad66fcbc3ec873257b6472aa2f341cb6cdc8b5ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ionic_langchain-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cb6ff4f1ab58fb9fc1d5cc01b8ecb4272cb7bbc980353389f893cd87951a974a
MD5 aad56066938ff10cef7f3c6d0b88acff
BLAKE2b-256 196d22978114271948a6b9fd22d5645088f534eaa453dc771003771ecc5894f0

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