ResearchGraphは完全な研究の自動化を目的としたOSSになります.
全てのサブグラフを実行します.
python src/researchgraph/research_graph.py
Architecture
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
__start__([<p>__start__</p>]):::first
retrieve_paper_subgraph(retrieve_paper_subgraph)
generate_subgraph(generate_subgraph)
executor_subgraph(executor_subgraph)
writer_subgraph(writer_subgraph)
__end__([<p>__end__</p>]):::last
__start__ --> retrieve_paper_subgraph;
executor_subgraph --> writer_subgraph;
generate_subgraph --> executor_subgraph;
retrieve_paper_subgraph --> generate_subgraph;
writer_subgraph --> __end__;
classDef default fill:#f2f0ff,line-height:1.2
classDef first fill-opacity:0
classDef last fill:#bfb6fc
研究を行うための論文を取得するためのサブグラフです.
python src/researchgraph/retrieve_paper_subgraph/retrieve_paper_subgraph.py
Architecture
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
__start__([<p>__start__</p>]):::first
initialize_state(initialize_state)
base_search_papers_node(base_search_papers_node)
base_retrieve_arxiv_full_text_node(base_retrieve_arxiv_full_text_node)
base_extract_github_urls_node(base_extract_github_urls_node)
base_summarize_paper_node(base_summarize_paper_node)
base_select_best_paper_node(base_select_best_paper_node)
generate_queries_node(generate_queries_node)
add_search_papers_node(add_search_papers_node)
add_retrieve_arxiv_full_text_node(add_retrieve_arxiv_full_text_node)
add_extract_github_urls_node(add_extract_github_urls_node)
add_summarize_paper_node(add_summarize_paper_node)
add_select_best_paper_node(add_select_best_paper_node)
__end__([<p>__end__</p>]):::last
__start__ --> initialize_state;
add_retrieve_arxiv_full_text_node --> add_extract_github_urls_node;
add_search_papers_node --> add_retrieve_arxiv_full_text_node;
add_select_best_paper_node --> __end__;
base_retrieve_arxiv_full_text_node --> base_extract_github_urls_node;
base_search_papers_node --> base_retrieve_arxiv_full_text_node;
base_select_best_paper_node --> generate_queries_node;
generate_queries_node --> add_search_papers_node;
initialize_state --> base_search_papers_node;
base_extract_github_urls_node -. Next paper .-> base_retrieve_arxiv_full_text_node;
base_extract_github_urls_node -. Generate paper summary .-> base_summarize_paper_node;
base_extract_github_urls_node -. All complete .-> base_select_best_paper_node;
base_summarize_paper_node -. Next paper .-> base_retrieve_arxiv_full_text_node;
base_summarize_paper_node -. All complete .-> base_select_best_paper_node;
add_extract_github_urls_node -. Next paper .-> add_retrieve_arxiv_full_text_node;
add_extract_github_urls_node -. Generate paper summary .-> add_summarize_paper_node;
add_extract_github_urls_node -. All complete .-> add_select_best_paper_node;
add_summarize_paper_node -. Next paper .-> add_retrieve_arxiv_full_text_node;
add_summarize_paper_node -. All complete .-> add_select_best_paper_node;
classDef default fill:#f2f0ff,line-height:1.2
classDef first fill-opacity:0
classDef last fill:#bfb6fc
手法を合成するためのサブグラフです.
python src/researchgraph/integrate_generator_subgraph/integrate_generator_subgraph.py
Architecture
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
__start__([<p>__start__</p>]):::first
retrieve_base_paper_code_with_devin(retrieve_base_paper_code_with_devin)
retrieve_add_paper_code_with_devin(retrieve_add_paper_code_with_devin)
method_integrate_node(method_integrate_node)
__end__([<p>__end__</p>]):::last
__start__ --> retrieve_add_paper_code_with_devin;
__start__ --> retrieve_base_paper_code_with_devin;
method_integrate_node --> __end__;
retrieve_add_paper_code_with_devin --> method_integrate_node;
retrieve_base_paper_code_with_devin --> method_integrate_node;
classDef default fill:#f2f0ff,line-height:1.2
classDef first fill-opacity:0
classDef last fill:#bfb6fc
新規の手法をコーディングし実行するためのサブグラフです.
python src/researchgraph/executor_subgraph/executor_subgraph.py
Architecture
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
__start__([<p>__start__</p>]):::first
generate_code_with_devin_node(generate_code_with_devin_node)
execute_github_actions_workflow_node(execute_github_actions_workflow_node)
retrieve_github_actions_artifacts_node(retrieve_github_actions_artifacts_node)
fix_code_with_devin_node(fix_code_with_devin_node)
__end__([<p>__end__</p>]):::last
__start__ --> generate_code_with_devin_node;
execute_github_actions_workflow_node --> retrieve_github_actions_artifacts_node;
fix_code_with_devin_node --> execute_github_actions_workflow_node;
generate_code_with_devin_node --> execute_github_actions_workflow_node;
retrieve_github_actions_artifacts_node -. correction .-> fix_code_with_devin_node;
retrieve_github_actions_artifacts_node -. finish .-> __end__;
classDef default fill:#f2f0ff,line-height:1.2
classDef first fill-opacity:0
classDef last fill:#bfb6fc
論文を執筆するためのサブグラフです.執筆した論文はGitHub上にアップロードされます.
python src/researchgraph/writer_subgraph/writer_subgraph.py
Architecture
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
__start__([<p>__start__</p>]):::first
writeup_node(writeup_node)
latex_node(latex_node)
github_upload_node(github_upload_node)
__end__([<p>__end__</p>]):::last
__start__ --> writeup_node;
github_upload_node --> __end__;
latex_node --> github_upload_node;
writeup_node --> latex_node;
classDef default fill:#f2f0ff,line-height:1.2
classDef first fill-opacity:0
classDef last fill:#bfb6fc