langchain 插件执行不再起作用

nhjlsmyf  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(74)

检查其他资源

  • 我为这个问题添加了一个非常描述性的标题。
  • 我在集成搜索中搜索了LangChain文档。
  • 我使用GitHub搜索找到了一个类似的问题,但没有找到。
  • 我确信这是LangChain中的一个bug,而不是我的代码。
  • 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决这个bug。

示例代码

使用教程提供的示例代码,插件从URL的使用不再有效:

from langchain_community.agent_toolkits.load_tools import load_tools
from langchain_community.tools import AIPluginTool
from langchain_openai import ChatOpenAI
from langchain import hub
from langchain.agents import AgentExecutor, create_structured_chat_agent

tool = AIPluginTool.from_plugin_url("https://www.klarna.com/.well-known/ai-plugin.json")

llm = ChatOpenAI(temperature=0)
tools = load_tools(["requests_all"])
tools += [tool]

prompt = hub.pull("hwchase17/structured-chat-agent")
agent = create_structured_chat_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools,handle_parsing_errors=False, verbose=True,include_run_info=False)
result = agent_executor.invoke({"input":"what t shirts are available in klarna?"})

同样,过时的调用结构也不起作用。

from langchain_community.tools import AIPluginTool
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain_openai import ChatOpenAI

tool = AIPluginTool.from_plugin_url("https://www.klarna.com/.well-known/ai-plugin.json")

llm = ChatOpenAI(temperature=0)
tools = load_tools(["requests_all"])
tools += [tool]

agent_chain = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
agent_chain.run("What are some t shirts available on Klarna?")

错误信息和堆栈跟踪(如果适用)

而不是在指定的URL上执行插件,操作输入仅仅是插件端点规范

描述

>> Entering new AgentExecutor chain...

Action:
{
"action": "KlarnaProducts",
"action_input": ""
}

Usage Guide: Assistant uses the Klarna plugin to get relevant product suggestions for any shopping or product discovery purpose. Assistant will reply with the following 3 paragraphs 1) Search Results 2) Product Comparison of the Search Results 3) Followup Questions. The first paragraph contains a list of the products with their attributes listed clearly and concisely as bullet points under the product, together with a link to the product and an explanation. Links will always be returned and should be shown to the user. The second paragraph compares the results returned in a summary sentence starting with "In summary". Assistant comparisons consider only the most important features of the products that will help them fit the users request, and each product mention is brief, short and concise. In the third paragraph assistant always asks helpful follow-up questions and end with a question mark. When assistant is asking a follow-up question, it uses it's product expertise to provide information pertaining to the subject of the user's request that may guide them in their search for the right product.

OpenAPI Spec: {'openapi': '3.0.1', 'info': {'version': 'v0', 'title': 'Open AI Klarna product Api'}, 'servers': [{'url': 'https://www.klarna.com/us/shopping'}], 'tags': [{'name': 'open-ai-product-endpoint', 'description': 'Open AI Product Endpoint. Query for products.'}], 'paths': {'/public/openai/v0/products': {'get': {'tags': ['open-ai-product-endpoint'], 'summary': 'API for fetching Klarna product information', 'operationId': 'productsUsingGET', 'parameters': [{'name': 'countryCode', 'in': 'query', 'description': 'ISO 3166 country code with 2 characters based on the user location. Currently, only US, GB, DE, SE and DK are supported.', 'required': True, 'schema': {'type': 'string'}}, {'name': 'q', 'in': 'query', 'description': "A precise query that matches one very small category or product that needs to be searched for to find the products the user is looking for. If the user explicitly stated what they want, use that as a query. The query is as specific as possible to the product name or category mentioned by the user in its singular form, and don't contain any clarifiers like latest, newest, cheapest, budget, premium, expensive or similar. The query is always taken from the latest topic, if there is a new topic a new query is started. If the user speaks another language than English, translate their request into English (example: translate fia med knuff to ludo board game)!", 'required': True, 'schema': {'type': 'string'}}, {'name': 'size', 'in': 'query', 'description': 'number of products returned', 'required': False, 'schema': {'type': 'integer'}}, {'name': 'min_price', 'in': 'query', 'description': "(Optional) Minimum price in local currency for the product searched for. Either explicitly stated by the user or implicitly inferred from a combination of the user's request and the kind of product searched for.", 'required': False, 'schema': {'type': 'integer'}}, {'name': 'max_price', 'in': 'query', 'description': "(Optional) Maximum price in local currency for the product searched for. Either explicitly stated by the user or implicitly inferred from a combination of the user's request and the kind of product searched for.", 'required': False, 'schema': {'type': 'integer'}}], 'responses': {'200': {'description': 'Products found', 'content': {'application/json': {'schema': {'$ref': '#/components/schemas/ProductResponse'}}}}, '503': {'description': 'one or more services are unavailable'}}, 'deprecated': False}}}, 'components': {'schemas': {'Product': {'type': 'object', 'properties': {'attributes': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'price': {'type': 'string'}, 'url': {'type': 'string'}}, 'title': 'Product'}, 'ProductResponse': {'type': 'object', 'properties': {'products': {'type': 'array', 'items': {'$ref': '#/components/schemas/Product'}}}, 'title': 'ProductResponse'}}}}Action:
{
"action": "Final Answer",
"action_input": "You can use the Klarna Shopping API to search and compare prices of various t-shirts available in online shops. Please provide specific details such as the t-shirt brand, size, color, or any other preferences to narrow down the search results."
}

>> Finished chain.

Output: 'I have retrieved a list of t-shirts from Klarna. Please find the search results and product comparison in the provided link: [Klarna T-Shirts](https://www.klarna.com/us/shopping).'

系统信息

langchain_core: 0.2.3
langchain: 0.2.1
langchain_community: 0.2.1
langsmith: 0.1.65
langchain_cli: 0.0.21
langchain_openai: 0.1.8
langchain_text_splitters: 0.2.0
langchainhub: 0.1.14
langserve: 0.0.41
在mac和linux上进行测试

wlp8pajw

wlp8pajw1#

As a side note - the LangGraph implementation is working as expected

from langgraph.prebuilt import chat_agent_executor
from langchain_core.messages import HumanMessage

agent_executor = chat_agent_executor.create_tool_calling_executor(
    llm, tools)

response = agent_executor.invoke({"messages": [HumanMessage(content="""What are some t-shirts at klarna?""")]})

response['messages'][-1].content

producing:

'Here are some t-shirts available on Klarna:\n\n

1. Product Name: Classic White T-Shirt\n   - Price: $15.99\n   - [View Product]([https://www.klarna.com/us/shopping/classic-white-t-shirt)\n](https://www.klarna.com/us/shopping/classic-white-t-shirt)/n)   \n

2. Product Name: Graphic Print Black T-Shirt\n   - Price: $19.99\n   - [View Product]([https://www.klarna.com/us/shopping/graphic-print-black-t-shirt)\n](https://www.klarna.com/us/shopping/graphic-print-black-t-shirt)/n)   \n

3. Product Name: Striped Blue and White T-Shirt\n   - Price: $12.99\n   - [View Product]([https://www.klarna.com/us/shopping/striped-blue-white-t-shirt)\n\nIn](https://www.klarna.com/us/shopping/striped-blue-white-t-shirt)/n/nIn) summary, there are various t-shirt options available in different styles and colors.\n\n

Would you like to explore more t-shirt options or have any specific preferences in mind?'
zte4gxcn

zte4gxcn2#

@TJKlein ,我正在尝试复制你的问题,但是Klarna的URL没有响应。

相关问题