Получение ошибки AttributeError: объект «SagemakerEndpoint» не имеет атрибута «bind_tools» при создании агента LangChainPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение ошибки AttributeError: объект «SagemakerEndpoint» не имеет атрибута «bind_tools» при создании агента LangChain

Сообщение Anonymous »

Я получаю эту ошибку AttributeError: объект «SagemakerEndpoint» не имеет атрибута «bind_tools» при создании агента Gen AI с помощью LangChain/LangGraph/Deployed LLM на конечной точке AWS Sagemaker.
Я пытаюсь создать агент Gen AI, используя модель, развернутую на конечной точке AWS Sagemaker, но получаю ошибку AttributeError: у объекта «SagemakerEndpoint» нет атрибута «bind_tools».
Использование встроенной функции create_react_agent из LangGraph. Я ожидал, что это сработает, поскольку оно работало с LangChain ChatBedrock, но это могло быть так, поскольку это модель «чата», а SageMakerEndpoint — это модель «llm», которая более старая.
Я так понимаю? правильно построить агент, и если нет, то как мне это сделать, используя развернутую модель на конечной точке AWS Sagemaker?
Минимальный воспроизводимый пример:
import json
from typing import Dict

import boto3
from langchain_community.llms import SagemakerEndpoint
from langchain_community.llms.sagemaker_endpoint import LLMContentHandler
from langchain_core.messages import HumanMessage
from langgraph.prebuilt import create_react_agent
from langchain_core.tools import tool

roleARN = "arn:aws:iam::123456789:role/cross-account-role"
sts_client = boto3.client("sts")
response = sts_client.assume_role(
RoleArn=roleARN, RoleSessionName="CrossAccountSession"
)

client = boto3.client(
"sagemaker-runtime",
region_name="us-west-2",
aws_access_key_id=response["Credentials"]["AccessKeyId"],
aws_secret_access_key=response["Credentials"]["SecretAccessKey"],
aws_session_token=response["Credentials"]["SessionToken"],
)

class ContentHandler(LLMContentHandler):
content_type = "application/json"
accepts = "application/json"

def transform_input(self, prompt: str, model_kwargs: Dict) -> bytes:
input_str = json.dumps({"inputs": prompt, "parameters": model_kwargs})
return input_str.encode("utf-8")

def transform_output(self, output: bytes) -> str:
response_json = json.loads(output.read().decode("utf-8"))
return response_json[0]["generated_text"]

content_handler = ContentHandler()

model = SagemakerEndpoint(
endpoint_name=,
client=client,
model_kwargs={"temperature": 1e-10},
content_handler=content_handler,
)

tools = []

agent_executor = create_react_agent(model, tools)

agent_executor.invoke({"messages": [HumanMessage(content=)]})


Подробнее здесь: https://stackoverflow.com/questions/790 ... ibute-bind
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»