ValueError: неожиданный тип ответа: <класс 'PipelineResult'> при использовании Neo4j Graphrag SimpleKGPipelinePython

Программы на Python
Ответить
Anonymous
 ValueError: неожиданный тип ответа: <класс 'PipelineResult'> при использовании Neo4j Graphrag SimpleKGPipeline

Сообщение Anonymous »

Я создаю конвейер для извлечения графа знаний из исходных файлов программы с помощью neo4j-graphrag. При выполнении конвейера я столкнулся со следующей ошибкой:

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

ERROR - Error during pipeline execution: Unexpected response type: 
Traceback (последний последний вызов):
Файл "path_to_script.py", строка 189, в define_and_run_pipeline
raise ValueError(f"Неожиданный тип ответа: {type (ответ)}")
ValueError: Неожиданный тип ответа:
Соответствующий код
Вот соответствующая часть моего кода:

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

async def define_and_run_pipeline(neo4j_driver, llm, text):
try:
kg_builder = SimpleKGPipeline(
llm=llm,
driver=neo4j_driver,
embedder=SentenceTransformerEmbeddings(),
entities=["File", "Variable", "Paragraph", "Section"],
relations=["CONTAINS", "USED_IN", "CALLS"],
potential_schema=[
("File", "CONTAINS", "Section"),
("Section", "CONTAINS", "Paragraph"),
("Paragraph", "CONTAINS", "Variable"),
("File", "CALLS", "Paragraph"),
],
)
response = await kg_builder.run_async(text=text)

if isinstance(response, list):
processed_response = " ".join([item.text for item in response if hasattr(item, "text")])
elif isinstance(response, str):
processed_response = response
else:
raise ValueError(f"Unexpected response type: {type(response)}")

return processed_response

except Exception as e:
logger.error(f"Error during pipeline execution: {e}")
raise
Что я пробовал
Отладка ответа: я проверил тип ответа, возвращаемого функциейkg_builder.run_async(), и подтвердил, что он имеет тип PipelineResult.Документация: я просмотрел документацию neo4j-graphrag, но не смог найти подробностей о том, как обрабатывать PipelineResult.
Вопрос
Как мне следует действовать? справиться с Объект PipelineResult, возвращаемый SimpleKGPipeline.run_async()?
Существует ли стандартный способ обработки или преобразования PipelineResult в формат, с которым я могу работать (например, строку или словарь)?
Желаемый результат
Я хочу обработать объект PipelineResult и извлечь расширенные данные графа знаний, чтобы их можно было сохранить в Neo4j или дополнительно проанализировать.

Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-neo4j
Ответить

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

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

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

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

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