2024-07-01 15:25:30 -06:00
|
|
|
# Copyright (c) 2024 Microsoft Corporation.
|
|
|
|
# Licensed under the MIT License
|
|
|
|
import asyncio
|
|
|
|
import os
|
|
|
|
|
|
|
|
import pandas as pd
|
|
|
|
|
2024-11-15 16:41:10 -08:00
|
|
|
from graphrag.index.run import run_pipeline_with_config
|
2024-07-01 15:25:30 -06:00
|
|
|
|
|
|
|
pipeline_file = os.path.join(
|
|
|
|
os.path.dirname(os.path.abspath(__file__)), "./pipeline.yml"
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
async def run():
|
|
|
|
# Load your dataset
|
|
|
|
dataset = _load_dataset_some_unique_way()
|
|
|
|
|
|
|
|
# Load your config without the input section
|
|
|
|
config = pipeline_file
|
|
|
|
|
|
|
|
# Grab the last result from the pipeline, should be our entity extraction
|
|
|
|
outputs = []
|
|
|
|
async for output in run_pipeline_with_config(
|
|
|
|
config_or_path=config, dataset=dataset
|
|
|
|
):
|
|
|
|
outputs.append(output)
|
|
|
|
pipeline_result = outputs[-1]
|
|
|
|
|
|
|
|
if pipeline_result.result is not None:
|
|
|
|
# Should look something like
|
|
|
|
# col1 col2 filled_column
|
|
|
|
# 0 2 4 Filled Value
|
|
|
|
# 1 5 10 Filled Value
|
|
|
|
print(pipeline_result.result)
|
|
|
|
else:
|
|
|
|
print("No results!")
|
|
|
|
|
|
|
|
|
|
|
|
def _load_dataset_some_unique_way() -> pd.DataFrame:
|
|
|
|
# Totally loaded from some other place
|
|
|
|
return pd.DataFrame([{"col1": 2, "col2": 4}, {"col1": 5, "col2": 10}])
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
asyncio.run(run())
|