Мигрировать из Llmchain в оператор трубыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Мигрировать из Llmchain в оператор трубы

Сообщение Anonymous »

Я следил за старым учебником о цепочке в Лэнгхейне. С этим я писал несколько собственных демонстрационных цепей, таких как: < /p>
import json

from langchain_core.prompts import ChatPromptTemplate
from langchain.schema.runnable import RunnableMap
from langchain.schema.output_parser import StrOutputParser
from langchain_openai import ChatOpenAI
from langchain.chains import SequentialChain
from langchain.chains.llm import LLMChain

api_key="sk-YOUR_OPENAI_API_KEY"

llm = ChatOpenAI(
model="gpt-4o",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
seed=42,
api_key=api_key)

output_parser = StrOutputParser()

prompt_candidates = ChatPromptTemplate.from_template(
"""A trivia game has asked to which contry does the town of '{town}' belongs to, and the options are:

{country_options}

Only return the correct option chosen based on your knowledge, nothing more"""
)

prompt_finalists = ChatPromptTemplate.from_template(
"""Your task is to build OUTPUTWORD, follow these instructions:

1. Get CAPITAL CITY: It is the capital city of {country}
2. Get INITIAL LETTER: It is the initial letter of the CAPITAL CITY
3. Get OUTPUTWORD: Make a word starting with INITIAL LETTER and related with {subject}

Return the result in a JSON object with key `output` and OUTPUTWORD its correspondent output"""
)

# -------------------- CURRENT FUNCTIONAL SOLUTION --------------------

# Chains definition
candidates_chain = LLMChain(llm=llm, prompt=prompt_candidates, output_key="country")
finalists_chain = LLMChain(
llm=llm.bind(response_format={"type": "json_object"}),
prompt=prompt_finalists, output_key="finalists"
)

# Chaining
final_chain = SequentialChain(
chains=[candidates_chain, finalists_chain],
input_variables=["town", "country_options", "subject"],
output_variables=["finalists"],
verbose=False
)

result=final_chain.invoke(
{
"town": "Puembo",
"country_options": ["Ukraine", "Ecuador", "Uzbekistan"],
"subject": "Biology"
}
)["finalists"]

print(result)
< /code>
Однако я получил следующее предупреждение: < /p>
C:\Users\david\Desktop\dummy\test.py:44: LangChainDeprecationWarning: The class `LLMChain` was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use :meth:`~RunnableSequence, e.g., `prompt | llm`` instead.
candidates_chain = LLMChain(llm=llm, prompt=prompt_candidates, output_key="country")
< /code>
Действительно, я читал документы, которые просили вас использовать трубу "|" оператор; Однако приведенные примеры, есть очень простые и обычно включают в себя подсказку и LLM, которые очень просты (и даже предоставляются в одном и том же предупреждении); Однако я не мог выяснить, как адаптировать оператор трубы в моей собственной цепи.from langchain_core.output_parsers import StrOutputParser

chain_a = prompt_candidates | llm | StrOutputParser()
chain_b = prompt_finalists | llm | StrOutputParser()
composed_chain = chain_a | chain_b
output_chain=composed_chain.invoke(
{
"career": "Artificial Intelligence",
"research_list": "\n".join(research_col)
}
)
< /code>
Но это заставляет меня: < /p>
TypeError: Expected mapping type as input to ChatPromptTemplate. Received .
< /code>
Я пробовал несколько вещей, но ничего не функционально. Что я делаю не так?


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Мигрировать из Llmchain в оператор трубы
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Мигрировать из Llmchain в оператор трубы
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • RunnableSequence вместо LLMChain выдает ошибку (обновление из устаревшего langchain)
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Возврат асинхронного генератора из LLMChain LangChain для потоковой передачи
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как получить точное сообщение, отправленное в LLM, с помощью LLMChain от LangChain (python)?
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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