RunnableSequence вместо LLMChain выдает ошибку (обновление из устаревшего langchain)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 RunnableSequence вместо LLMChain выдает ошибку (обновление из устаревшего langchain)

Сообщение Anonymous »

Когда я впервые получу этот код

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

from langchain_community.llms import HuggingFacePipeline
from transformers import AutoTokenizer
import transformers
import torch

model="meta-llama/Llama-2-7b-chat-hf"
tokenizer=AutoTokenizer.from_pretrained(model)

pipeline=transformers.pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
torch_dtype=torch.bfloat16,
trust_remote_code=True,
device_map="auto",
max_length=1000,
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id
)

llm=HuggingFacePipeline(pipeline=pipeline, model_kwargs={'temperature':0})

from langchain.prompts import PromptTemplate
prompt_template=PromptTemplate(input_variables=["book_name"],
template="Provide me a concise summary of the book {book_name}")
а затем я завершаю его

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

from langchain.chains import LLMChain

chain = LLMChain(llm=llm, prompt=prompt_template, verbose=True)
response= chain.run("Alchemist")
print(response)
Я получаю ответ с нужным мне резюме , но получаю предупреждения об устаревании.
Поэтому, следуя предупреждениям, я пытаюсь заменить вторую часть на

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

chain = prompt | llm
response = chain.invoke("The name of the rose")
print(response)
но я получаю сообщение об ошибке

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

TypeError: Expected a Runnable, callable or dict.Instead got an unsupported type: 
Что я делаю не так?
Я использовал что-то подобное, но с llm в качестве HuggingFaceEndPoint, и в этом случае это сработало, поэтому я подозреваю, что это связано с тем, что llm является HuggingFacePipeline, но может ли кто-нибудь сказать мне, как исправить код?
Изменить:
Я пробовал

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

chain2 = prompt | llm | StrOutputParser()
response2 = chain2.invoke({"bookname":"The name of the rose"})
# response2 = chain2.invoke("The name of the rose")
print(response2)
но ошибка сохраняется

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

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

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

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

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

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

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