Проблема с моделями SchemaLLMPathExtractor и Ollama для извлечения связей в LangChainPython

Программы на Python
Ответить
Anonymous
 Проблема с моделями SchemaLLMPathExtractor и Ollama для извлечения связей в LangChain

Сообщение Anonymous »

Я работаю над извлечением связей, используя класс PropertyGraphStore из LangChain, следуя подходу, изложенному в официальном руководстве. Моя цель — ограничить извлекаемые узлы и связи с помощью SchemaLLMPathExtractor.
Вот проблема:
  • < li>Когда я использую локальные модели, такие как Llama 3.1 или Mistral через Ollama, никакие связи не извлекаются при применении SchemaLLMPathExtractor.
  • Если я удалю SchemaLLMPathExtractor, он извлечет большое количество связей, но они не будут ограничены необходимым образом.
  • Интересно, что когда я переключаюсь на API OpenAI вместо Ollama, все работает как положено, даже с SchemaLLMPathExtractor.


    Я выполнил инструкции из документации LangChain и убедился, что локальные модели настроены правильно. Вот шаги, которые я попробовал:
    • Проверил совместимость Ollama с версией LangChain, которую я использую.
    • Дважды проверили схему и входные конфигурации на соответствие примерам, приведенным в руководстве.
    • Протестировано с использованием различных подсказок, чтобы убедиться, что проблема не в формате ввода.
    • Убедились, что локальные модели Ollama верны. настроены правильно, поскольку они создают выходные данные без SchemaLLMPathExtractor.
    • Проверил определения схемы и убедился, что они соответствуют примеру в документации. .
    Тем не менее, я столкнулся с той же проблемой с Олламой. Ошибок нет; выходные данные просто не содержат никаких связей при использовании SchemaLLMPathExtractor.
    Ключевые детали:
  • Версия LangChain: 0.2.14
  • Версия Ollama: 0.3.9
  • Опробованы локальные модели: Llama 3.1, Mistral
  • Использованная модель OpenAI: gpt-4o-mini< /p>
Код для OpenAI:

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

# Creating an instance of Neo4jPropertyGraphStore with environment configuration
graph_store = Neo4jPropertyGraphStore(
username=NEO4J_USER,
password=NEO4J_PASS,
url=NEO4J_URL,
database=NEO4J_DB_NAME
)
vec_store = None

# Creating an instance of SchemaLLMPathExtractor with OpenAI model and schema configuration
kg_extractor = SchemaLLMPathExtractor(
llm=OpenAI(model=LLM_MODEL, temperature=TEMPERATURE),
possible_entities=entities,
possible_relations=relations,
kg_validation_schema=validation_schema,
strict=True,
)

# Creating an instance of PropertyGraphIndex with documents and environment configuration
index = PropertyGraphIndex.from_documents(
documents,
embed_model=OpenAIEmbedding(model_name=EMBEDDING_MODEL),
show_progress=True,
kg_extractors=[kg_extractor],
property_graph_store=graph_store,
vector_store=vec_store,
)
Код для Олламы:

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

# Creating an instance of Neo4jPropertyGraphStore with environment configuration
graph_store = Neo4jPropertyGraphStore(
username=NEO4J_USER,
password=NEO4J_PASS,
url=NEO4J_URL,
database=NEO4J_DB_NAME
)
vec_store = None

# Creating an instance of SchemaLLMPathExtractor with Ollama model and schema configuration
kg_extractor = SchemaLLMPathExtractor(
llm=Ollama(model="mistral:latest"),
possible_entities=entities,
possible_relations=relations,
kg_validation_schema=validation_schema,
strict=True,
)

# Creating an instance of PropertyGraphIndex with documents and environment configuration
index = PropertyGraphIndex.from_documents(
documents,
embed_model=OllamaEmbedding(model_name="mistral:latest", base_url="http://localhost:11434"),
show_progress=True,
kg_extractors=[kg_extractor],
property_graph_store=graph_store,
vector_store=vec_store,
)
  • Кто-нибудь сталкивался с подобной проблемой с Ollama и SchemaLLMPathExtractor?
  • Требуются ли какие-либо конкретные настройки или настройки, чтобы эта установка работала?
    Мы будем очень признательны за любые идеи или предложения!


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

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

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

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

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

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