Какой был бы хороший дизайн для внедрения использования нескольких агентов с использованиемstreamlit и langchain?Python

Программы на Python
Ответить
Anonymous
 Какой был бы хороший дизайн для внедрения использования нескольких агентов с использованиемstreamlit и langchain?

Сообщение Anonymous »

Выходные данные каждого агента необходимо просмотреть, прежде чем они будут использоваться в качестве входных данных для следующего агента. Все выходные данные имеют текстовую форму.

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

# This is to upload the PDF File
uploaded_file = st.file_uploader("Upload your file")
if uploaded_file is not None:
save_folder = PATH
save_path = Path(save_folder, uploaded_file.name)
with open(save_path, mode='wb') as w:
w.write(uploaded_file.getvalue())

if save_path.exists():
st.success(f'File {uploaded_file.name} is successfully saved!')

with st.expander("Agent 1"):
st.spinner("Running Agent 1...")
INPUT_FILE = "./Resources/extracted_text.txt"
content = Agent1(pdf_path=f"./Resources/{uploaded_file.name}", INPUT_FILE=INPUT_FILE)
agent1_output = st.text_area(label="Output of Agent1", value=content, height=200)
st.button("Proceed to Agent 2", on_click=Agent1Complete(agent1_output), key="Agent1 Button")

if "Agent1" in st.session_state and st.button("Run Agent 2", key="Agent2 Buttonx"):
with st.expander("Agent 2"):
st.spinner("Running Agent 2...")
INPUT_FILE = "./Resources/Agent1.txt"
content = Agent2(input_file=INPUT_FILE)
agent2_output = st.text_area(label="Output of Agent2", value=content, height=200)
st.button("Proceed to Agent 2", on_click=Agent2Complete(agent2_output), key="Agent2 Button")

if "Agent2" in st.session_state and st.button("Run Agent 3", key="Agent3 Buttonx"):
with st.expander("Agent 3"):
st.spinner("Running Agent 3...")
content = Agent3(input_file=INPUT_FILE)
agent3_output = st.text_area(label="Output of Agent3", value=content, height=200)
st.button("Proceed to Agent 2", on_click=Agent3Complete(agent3_output), key="Agent3 Button")

if "Agent3" in st.session_state and st.button("Run Agent 4", key="Agent4 Buttonx"):
with st.expander("Agent4"):
st.spinner("Running Agent 4...")
Agent4(False, input_file=INPUT_FILE, output_file=OUTPUT_FILE)

Я попробовал следующее решение, а также многостраничное решение, в котором каждая страница будет отдельным агентом, но мне не удалось сохранить изменения в текстовом файле перед перемещением. вперед к следующему агенту. Я думал, что, используя состояние сеанса, я смогу отслеживать, какой агент завершил свой процесс.


Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-stream
Ответить

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

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

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

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

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