Я следую инструкциям LangGraph и LangChain по созданию чат-бота и получил успешный результат на первом этапе. После привязки инструментов и завершения второго шага возникает следующая ошибка:
Traceback (most recent call last):
File "[CENSORED]\beegmodel.py", line 111, in
stream_graph_updates('Who is Elon Musk?')
File "[CENSORED]\beegmodel.py", line 106, in stream_graph_updates
for event in graph.stream({"messages": [("user", user_input)]}):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langgraph\pregel\__init__.py", line 1315, in stream
for _ in runner.tick(
^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langgraph\pregel\runner.py", line 56, in tick
run_with_retry(t, retry_policy)
File "[CENSORED]\Lib\site-packages\langgraph\pregel\retry.py", line 29, in run_with_retry
task.proc.invoke(task.input, config)
File "[CENSORED]\Lib\site-packages\langgraph\utils\runnable.py", line 410, in invoke
input = context.run(step.invoke, input, config, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langgraph\utils\runnable.py", line 184, in invoke
ret = context.run(self.func, input, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\beegmodel.py", line 87, in chatbot
return {"messages": [llm_with_tools.invoke(state["messages"])]}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langchain_core\runnables\base.py", line 5354, in invoke
return self.bound.invoke(
^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 286, in invoke
self.generate_prompt(
File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 786, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 643, in generate
raise e
File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 633, in generate
self._generate_with_cache(
File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 851, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 373, in _generate
llm_input = self._to_chat_prompt(messages)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 410, in _to_chat_prompt
return self.tokenizer.apply_chat_template(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\transformers\tokenization_utils_base.py", line 1801, in apply_chat_template
chat_template = self.get_chat_template(chat_template, tools)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[CENSORED]\Lib\site-packages\transformers\tokenization_utils_base.py", line 1962, in get_chat_template
raise ValueError(
ValueError: Cannot use chat template functions because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating
Однако в файле tokenizer_config.json есть полеchat_template. Вот мой сценарий (хотя и не очень хорошо отформатированный, но опять же, это просто для понимания основ):
Я следую инструкциям LangGraph и LangChain по созданию чат-бота и получил успешный результат на первом этапе. После привязки инструментов и завершения второго шага возникает следующая ошибка: [code]Traceback (most recent call last): File "[CENSORED]\beegmodel.py", line 111, in stream_graph_updates('Who is Elon Musk?') File "[CENSORED]\beegmodel.py", line 106, in stream_graph_updates for event in graph.stream({"messages": [("user", user_input)]}): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langgraph\pregel\__init__.py", line 1315, in stream for _ in runner.tick( ^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langgraph\pregel\runner.py", line 56, in tick run_with_retry(t, retry_policy) File "[CENSORED]\Lib\site-packages\langgraph\pregel\retry.py", line 29, in run_with_retry task.proc.invoke(task.input, config) File "[CENSORED]\Lib\site-packages\langgraph\utils\runnable.py", line 410, in invoke input = context.run(step.invoke, input, config, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langgraph\utils\runnable.py", line 184, in invoke ret = context.run(self.func, input, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\beegmodel.py", line 87, in chatbot return {"messages": [llm_with_tools.invoke(state["messages"])]} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langchain_core\runnables\base.py", line 5354, in invoke return self.bound.invoke( ^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 286, in invoke self.generate_prompt( File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 786, in generate_prompt return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 643, in generate raise e File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 633, in generate self._generate_with_cache( File "[CENSORED]\Lib\site-packages\langchain_core\language_models\chat_models.py", line 851, in _generate_with_cache result = self._generate( ^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 373, in _generate llm_input = self._to_chat_prompt(messages) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 410, in _to_chat_prompt return self.tokenizer.apply_chat_template( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\transformers\tokenization_utils_base.py", line 1801, in apply_chat_template chat_template = self.get_chat_template(chat_template, tools) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "[CENSORED]\Lib\site-packages\transformers\tokenization_utils_base.py", line 1962, in get_chat_template raise ValueError( ValueError: Cannot use chat template functions because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating [/code] Однако в файле tokenizer_config.json есть полеchat_template. Вот мой сценарий (хотя и не очень хорошо отформатированный, но опять же, это просто для понимания основ): [code]import torch from transformers import ( AutoConfig, MistralForCausalLM, AutoTokenizer, pipeline ) from huggingface_hub import snapshot_download from accelerate import ( init_empty_weights, load_checkpoint_and_dispatch, infer_auto_device_map ) from pprint import pprint from collections import Counter import time
with init_empty_weights(): model = MistralForCausalLM._from_config(config, torch_dtype=torch.bfloat16)
# Much better than 'device_map="auto"' device_map = infer_auto_device_map(model, dtype=torch.bfloat16) model = load_checkpoint_and_dispatch( model, checkpoint=weights_location, device_map=device_map ) tokenizer = AutoTokenizer.from_pretrained(checkpoint) pipe = pipeline( 'text-generation', model=model, tokenizer=tokenizer, max_new_tokens=512, do_sample=False, repetition_penalty=1.03, )
from langchain_huggingface import HuggingFacePipeline, ChatHuggingFace
llm = HuggingFacePipeline(pipeline=pipe)
from langchain_community.tools import WikipediaQueryRun, BaseTool, Tool from langchain_community.utilities import WikipediaAPIWrapper
from typing import Annotated
from langchain_anthropic import ChatAnthropic from langchain_community.tools.tavily_search import TavilySearchResults from langchain_core.messages import BaseMessage from typing_extensions import TypedDict
from langgraph.graph import StateGraph from langgraph.graph.message import add_messages from langgraph.prebuilt import ToolNode, tools_condition
class State(TypedDict): messages: Annotated[list, add_messages]
graph_builder.add_conditional_edges( "chatbot", tools_condition, ) # Any time a tool is called, we return to the chatbot to decide the next step graph_builder.add_edge("tools", "chatbot") graph_builder.set_entry_point("chatbot") graph = graph_builder.compile()
def stream_graph_updates(user_input: str): for event in graph.stream({"messages": [("user", user_input)]}): for value in event.values(): print("Assistant:", value)
stream_graph_updates('Who is Elon Musk?') [/code] Почему это работает на первом этапе обучения, но не работает на втором?
Я следую руководству LangChain по созданию чат-бота и получил успешный результат на первом этапе. После привязки инструментов и завершения второго шага возникает следующая ошибка:
Traceback (most recent call last):
File \beegmodel.py , line 111, in...
Я следую руководству LangChain по созданию чат-бота и получил успешный результат на первом этапе. После привязки инструментов и завершения второго шага возникает следующая ошибка:
Traceback (most recent call last):
File \beegmodel.py , line 111, in...
Я использую Langgraph 0.2.0 и получаю ошибку, описанную ниже после того, как я вызову функцию infoke (). Как написать сообщения, чтобы избежать ошибок?
class State(TypedDict):
messages: Annotated
Я использую API-интерфейсы вывода Huggingface для базового приложения GenAI с использованием Llama 3.2 и Mistral. При вызове API я получаю следующую ошибку:
(MaxRetryError( HTTPSConnectionPool(host='api-inference.huggingface.co', port=443): Max...
Я пытаюсь работать с langgraph . Хотя я установил все необходимые пакеты, ошибка все равно возникает.
from langchain_community.tools.tavily_search import TavilySearchResults
from langgraph.prebuilt import ToolExecutor