Spaces:
Build error
Build error
File size: 2,002 Bytes
45b200f a562795 45b200f a562795 45b200f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
from globals import *
from langgraph_agent import *
from PIL import Image
import io
train_dataset = load_dataset("gaia-benchmark/GAIA", '2023_level1', split="validation")
train_dict = {item['task_id']: item['Final answer'] for item in train_dataset}
builder, builder_name = workflow_tools()
alfred = builder.compile()
def get_answer(task_id):
return train_dict[task_id]
def toggle_textbox(show):
return gr.update(visible=not show)
def slider_release_func(q_num: int):
item = train_dataset[q_num]
tr_metadata = ''
for k, v in item['Annotator Metadata'].items():
tr_metadata += f'{k}: \n{v} \n---\n'
return item['Question'], item['Final answer'], item['file_name'], tr_metadata.strip(), item['Annotator Metadata']['Tools']
def process_output(response):
s = response['messages'][-1].content
pattern = "FINAL ANSWER: "
index = s.find(pattern)
if index != -1:
result = s[index + len(pattern):].lstrip()
return s, result
return s, f'WITH ERROR: {s}'
def get_agent_answer_train(q_num: int):
item = train_dataset[q_num]
return ask_alfred(question=item['Question'], file_name=item['file_name'])
# # q_content = item['Question']
# response = alfred.invoke({
# 'messages': [HumanMessage(content=item['Question'])],
# 'file_name': item['file_name'],
# 'final_output_is_good': False,
# })
# # response = alfred.invoke({'messages': [HumanMessage(content=q_content)]})
# return process_output(response)
def ask_alfred(question: str, file_name: str):
response = alfred.invoke({
'messages': [HumanMessage(content=question)],
'file_name': file_name,
'final_output_is_good': False,
})
# response = alfred.invoke({'messages': [HumanMessage(content=q_content)]})
return process_output(response)
def show_langgraph_structure():
png_bytes = alfred.get_graph().draw_mermaid_png()
image = Image.open(io.BytesIO(png_bytes))
return image
|