Как реализовать привязку_tools к пользовательскому LLM из конвейера Huggingface (Llama-3) для пользовательского агентаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать привязку_tools к пользовательскому LLM из конвейера Huggingface (Llama-3) для пользовательского агента

Сообщение Anonymous »

Пример кода

Код: Выделить всё

name = "meta-llama/Meta-Llama-3-8B-Instruct"

auth_token = ""

tokenizer = AutoTokenizer.from_pretrained(name,use_auth_token=auth_token)

bnb_config = BitsAndBytesConfig(
load_in_8bit=True,
)

model_config = AutoConfig.from_pretrained(
name,
use_auth_token=auth_token,
tempreature=0.1,
)

model = AutoModelForCausalLM.from_pretrained(
name,
trust_remote_code=True,
config=model_config,
quantization_config=bnb_config,
device_map='auto',
use_auth_token=auth_token,
)

streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)

pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=4096, device_map="auto", streamer = streamer)
llm = HuggingFacePipeline(pipeline=pipe)

@tool
def some_custom_tool(input_string: str) -> str:
"""Executes some work and returns a success message if successfull else it return the error message"""
return "SUCCESS"

tools = [some_custom_tool]
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
f"""
You are an Assistant......
""",
),
("user", "{input}"),
MessagesPlaceholder(variable_name="agent_scratchpad"),
]
)

llm_with_tools = llm.bind_tools(tools)

agent = (
{
"input": lambda x: x["input"],
"agent_scratchpad": lambda x: format_to_openai_tool_messages(
x["intermediate_steps"]
),
}
| prompt
| llm
| JsonOutputParser()
)

agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, return_intermediate_steps= True)
Описание
Я пытаюсь связать с LLM пользовательский инструмент, такой как ChatOpenAI, но получаю следующую ошибку. Похоже, чтоbind_tools существует в HuggingFacePipeline. Есть ли способ привязать специальный инструмент к LLM из HuggingFacePipeline?

Код: Выделить всё

AttributeError: 'HuggingFacePipeline' object has no attribute 'bind_tools'
Информация о системе:

Код: Выделить всё

langchain==0.2.6
langchain-community==0.2.6
langchain-core==0.2.11
langchain-openai==0.1.14
langchain-text-splitters==0.2.2
Python 3.10.13
Я делаю это на Kaggle GPU t4x2

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

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

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

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

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

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

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