Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с LangchainPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain

Сообщение Anonymous »

Я разрабатываю бота для Telegram, который позволяет пользователям отправлять PDF-файлы. Бот должен извлекать текст из PDF-файлов с помощью pdfminer и отвечать на запросы пользователей. Однако я сталкиваюсь с проблемами зависимостей, особенно с Langchain и pdfminer.
Проблема:
Я хочу извлечь текст из PDF-файла, загруженного пользователем, и ответить на его запросы. При попытке использовать pdfminer с Langchain я сталкиваюсь со следующими ошибками:
Базовый код находится здесь, вы можете найти его https://github.com/RajKKapadia/YouTube- ... T-Telegram /tree/main
в этом базовом коде используется OpenAI, я пробовал без использования открытого ключа API, используя pdfminer и langchain для обработки
измененного код
Обновлен create_index.py:
import os
from langchain_community.vectorstores.chroma import Chroma
from langchain.text_splitter import CharacterTextSplitter
from langchain_community.document_loaders import DirectoryLoader, TextLoader
from pdfminer.high_level import extract_text # Import pdfminer to extract text from PDFs

from config import config

def create_index(file_path: str) -> None:
# Use pdfminer to extract text from the PDF file
text = extract_text(file_path)

# Save extracted text to a file
with open(f'{config.OUTPUT_DIR}/output.txt', 'w') as file:
file.write(text)

loader = DirectoryLoader(
config.OUTPUT_DIR,
glob='**/*.txt',
loader_cls=TextLoader
)

documents = loader.load()

text_splitter = CharacterTextSplitter(
separator='\n',
chunk_size=1024,
chunk_overlap=128
)

texts = text_splitter.split_documents(documents)

# Instead of embeddings, we can create an index directly using the text
persist_directory = config.DB_DIR

vectordb = Chroma.from_documents(
documents=texts,
persist_directory=persist_directory
)

vectordb.persist()`
`

обновленный файл разговора.py
from langchain_community.vectorstores import Chroma
from langchain_community.document_loaders import DirectoryLoader, TextLoader
from langchain_community.chat_models import ChatOpenAI
from langchain_community.chains import ConversationalRetrievalChain
from langchain_community.memory import ConversationBufferMemory

from config import config

def create_conversation() -> ConversationalRetrievalChain:
persist_directory = config.DB_DIR

db = Chroma(
persist_directory=persist_directory
)

memory = ConversationBufferMemory(
memory_key='chat_history',
return_messages=False
)

qa = ConversationalRetrievalChain.from_llm(
llm=ChatOpenAI(),
chain_type='stuff',
retriever=db.as_retriever(),
memory=memory,
get_chat_history=lambda h: h,
verbose=True
)

return qa

Я использовал последние версии и библиотеки, во время запуска возникла следующая ошибка
Traceback (most recent call last):File "C:\Users\User\Telegramv1\Telegramv1jeeva\run.py", line 1, in from document_gpt.src.main import appFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\src\main.py", line 3, in from document_gpt.helper.utils import process_telegram_data, generate_text_response, generate_file_responseFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\utils.py", line 191, in from document_gpt.helper.conversation import create_conversationFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\conversation.py", line 77, in from langchain_community.chains import ConversationalRetrievalChainImportError: cannot import name 'ConversationalRetrievalChain' from 'langchain_community.chains' (C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_community\chains_init_.py)

затем я попытался установить langchain 0.0.181 и получил следующую ошибку
Traceback (most recent call last):File "C:\Users\User\Telegramv1\Telegramv1jeeva\run.py", line 1, in from document_gpt.src.main import appFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\src\main.py", line 3, in from document_gpt.helper.utils import process_telegram_data, generate_text_response, generate_file_responseFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\utils.py", line 191, in from document_gpt.helper.conversation import create_conversationFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\conversation.py", line 74, in from langchain_community.vectorstores import ChromaFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_community\vectorstores_init_.py", line 524, in getattrmodule = importlib.import_module(module_lookup[name])^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Edify Admin\AppData\Local\Programs\Python\Python311\Lib\importlib_init.py", line 126, in import_modulereturn bootstrap.gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_community\vectorstores\chroma.py", line 20, in from langchain_core.documents import DocumentFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_core\documents_init.py", line 6, in from langchain_core.documents.base import DocumentFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_core\documents\base.py", line 10, in from pydantic import ConfigDict, Field, field_validator, model_validatorImportError: cannot import name 'field_validator' from 'pydantic' (C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\pydantic_init.cp311-win_amd64.pyd)

рядом с этой ошибкой обновлена ​​версия pydantic
после обновления pydantic появляются следующие ошибки
Traceback (most recent call last):File "C:\Users\User\Telegramv1\Telegramv1jeeva\run.py", line 1, in from document_gpt.src.main import appFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\src\main.py", line 3, in from document_gpt.helper.utils import process_telegram_data, generate_text_response, generate_file_responseFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\utils.py", line 191, in from document_gpt.helper.conversation import create_conversationFile "C:\Users\User\Telegramv1\Telegramv1jeeva\document_gpt\helper\conversation.py", line 74, in from langchain_community.vectorstores import ChromaFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_community\vectorstores_init_.py", line 524, in getattrmodule = importlib.import_module(module_lookup[name])^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Edify Admin\AppData\Local\Programs\Python\Python311\Lib\importlib_init.py", line 126, in import_modulereturn bootstrap.gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_community\vectorstores\chroma.py", line 20, in from langchain_core.documents import DocumentFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_core\documents_init.py", line 6, in from langchain_core.documents.base import DocumentFile "C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\langchain_core\documents\base.py", line 10, in from pydantic import ConfigDict, Field, field_validator, model_validatorImportError: cannot import name 'field_validator' from 'pydantic' (C:\Users\User\Telegramv1\Telegramv1jeeva\venv\Lib\site-packages\pydantic_init.cp311-win_amd64.pyd)


Подробнее здесь: https://stackoverflow.com/questions/791 ... -langchain
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с извлечением PDF-файлов с помощью pdfminer в боте Telegram с Langchain
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

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