跳至主要內容

Ionic Shopping Tool

Ionic 是一個即插即用的 AI 助理電子商務市場。透過在您的代理程式中包含 Ionic 工具,您可以輕鬆地讓您的使用者直接在您的代理程式中購物和交易,並且您將獲得交易的一部分。

這是一個基本的 jupyter 筆記本,示範如何將 Ionic 工具整合到您的代理程式中。有關使用 Ionic 設定您的代理程式的更多資訊,請參閱 Ionic 文件

這個 Jupyter Notebook 示範如何將 Ionic 工具與 Agent 搭配使用。

注意:ionic-langchain 套件由 Ionic Commerce 團隊維護,而不是 LangChain 維護者。


設定

pip install langchain langchain_openai langchainhub
pip install ionic-langchain

設定 Agent

from ionic_langchain.tool import Ionic, IonicTool
from langchain import hub
from langchain.agents import AgentExecutor, Tool, create_react_agent
from langchain_openai import OpenAI

# Based on ReAct Agent
# https://langchain-python.dev.org.tw/docs/modules/agents/agent_types/react
# See the paper "ReAct: Synergizing Reasoning and Acting in Language Models" (https://arxiv.org/abs/2210.03629)
# Please reach out to support@ionicapi.com for help with add'l agent types.

open_ai_key = "YOUR KEY HERE"
model = "gpt-3.5-turbo-instruct"
temperature = 0.6

llm = OpenAI(openai_api_key=open_ai_key, model_name=model, temperature=temperature)


ionic_tool = IonicTool().tool()


# The tool comes with its own prompt,
# but you may also update it directly via the description attribute:

ionic_tool.description = str(
"""
Ionic is an e-commerce shopping tool. Assistant uses the Ionic Commerce Shopping Tool to find, discover, and compare products from thousands of online retailers. Assistant should use the tool when the user is looking for a product recommendation or trying to find a specific product.

The user may specify the number of results, minimum price, and maximum price for which they want to see results.
Ionic Tool input is a comma-separated string of values:
- query string (required, must not include commas)
- number of results (default to 4, no more than 10)
- minimum price in cents ($5 becomes 500)
- maximum price in cents
For example, if looking for coffee beans between 5 and 10 dollars, the tool input would be `coffee beans, 5, 500, 1000`.

Return them as a markdown formatted list with each recommendation from tool results, being sure to include the full PDP URL. For example:

1. Product 1: [Price] -- link
2. Product 2: [Price] -- link
3. Product 3: [Price] -- link
4. Product 4: [Price] -- link
"""
)

tools = [ionic_tool]

# default prompt for create_react_agent
prompt = hub.pull("hwchase17/react")

agent = create_react_agent(
llm,
tools,
prompt=prompt,
)

agent_executor = AgentExecutor(
agent=agent, tools=tools, handle_parsing_errors=True, verbose=True, max_iterations=5
)

執行

input = (
"I'm looking for a new 4k monitor can you find me some options for less than $1000"
)
agent_executor.invoke({"input": input})

此頁面是否有幫助?