Spaces:
Runtime error
Runtime error
| # Copyright (c) 2024 Microsoft Corporation. | |
| # Licensed under the MIT License | |
| import asyncio | |
| import os | |
| from graphrag.index import run_pipeline_with_config | |
| from graphrag.index.config import PipelineCSVInputConfig | |
| from graphrag.index.input import load_input | |
| sample_data_dir = os.path.join( | |
| os.path.dirname(os.path.abspath(__file__)), "../_sample_data/" | |
| ) | |
| async def main(): | |
| if ( | |
| "EXAMPLE_OPENAI_API_KEY" not in os.environ | |
| and "OPENAI_API_KEY" not in os.environ | |
| ): | |
| msg = "Please set EXAMPLE_OPENAI_API_KEY or OPENAI_API_KEY environment variable to run this example" | |
| raise Exception(msg) | |
| dataset = await load_input( | |
| PipelineCSVInputConfig( | |
| file_pattern=".*\\.csv$", | |
| base_dir=sample_data_dir, | |
| source_column="author", | |
| text_column="message", | |
| timestamp_column="date(yyyyMMddHHmmss)", | |
| timestamp_format="%Y%m%d%H%M%S", | |
| title_column="message", | |
| ), | |
| ) | |
| # We're cheap, and this is an example, lets just do 10 | |
| dataset = dataset.head(10) | |
| # run the pipeline with the config, and override the dataset with the one we just created | |
| # and grab the last result from the pipeline, should be the last workflow that was run (our nodes) | |
| pipeline_path = os.path.join( | |
| os.path.dirname(os.path.abspath(__file__)), "./pipelines/workflows_only.yml" | |
| ) | |
| tables = [] | |
| async for table in run_pipeline_with_config(pipeline_path, dataset=dataset): | |
| tables.append(table) | |
| pipeline_result = tables[-1] | |
| # The output will contain a list of positioned nodes | |
| if pipeline_result.result is not None: | |
| top_nodes = pipeline_result.result.head(10) | |
| print( | |
| "pipeline result\ncols: ", pipeline_result.result.columns, "\n", top_nodes | |
| ) | |
| else: | |
| print("No results!") | |
| if __name__ == "__main__": | |
| asyncio.run(main()) | |