Просмотр ответов на вопросы и анализ документов с помощью LangChain и DeepInfra

Просмотр ответов на вопросы и анализ документов с помощью LangChain и DeepInfra

10 июня 2023 г.

Добро пожаловать! Сегодня мы углубимся в концепцию ответов на вопросы в анализе документов. В частности, мы рассматриваем, как такой инструмент, как LangChain может улучшить этот процесс. Ответы на вопросы (QA) в анализе документов — это искусство и наука извлечения точной информации из набора документов в ответ на конкретный запрос. С развитием ИИ и обработки естественного языка (NLP) этот процесс становится все более автоматизированным, надежным и эффективным. Вот где в игру вступает LangChain.

LangChain при интеграции с DeepInfra становится мощным инструментом для анализа документов. DeepInfra предоставляет набор больших языковых моделей (LLM), которые можно использовать для различных приложений ИИ, с LangChain, обеспечивающим инфраструктуру для соединения этих моделей в конвейер, адаптированный к конкретным потребностям. Вы можете найти обширный список LLM для использования с LangChain на AIModels.fyi. Эта платформа позволяет искать, фильтровать и сортировать модели ИИ, упрощая поиск подходящей модели для вашего проекта ИИ. Например, вы можете использовать gpt-neo-125M, dolly-v2-12b или flan-t5 в зависимости от ваших конкретных потребностей.

Настройка DeepInfra с LangChain

Теперь давайте настроим экосистему DeepInfra в LangChain. Эта настройка включает в себя ряд шагов, таких как установка ключа API среды, создание экземпляра DeepInfra, настройка шаблона приглашения для вопроса и ответа и, наконец, запуск LLMChain. Для непосвященных LLMChain — это, по сути, цепочка LLM настроена определенным образом для достижения конкретной задачи.

Настройка ключа API среды

Во-первых, обязательно получите ключ API от DeepInfra. Вам нужно будет войти и получить новый токен. Если вы новичок в DeepInfra, вам будет приятно узнать, что вам предоставляется 1 час бесплатного бессерверного вычисления на графическом процессоре для тестирования различных моделей.

Получив ключ API, вы можете установить его в своей среде:

from getpass import getpass
import os
DEEPINFRA_API_TOKEN = getpass()
os.environ["DEEPINFRA_API_TOKEN"] = DEEPINFRA_API_TOKEN

Создание экземпляра DeepInfra

Затем создайте экземпляр DeepInfra, используя выбранную вами модель. В данном случае мы используем модель «databricks/dolly-v2-12b».< /p>

from langchain.llms import DeepInfra

llm = DeepInfra(model_id="databricks/dolly-v2-12b")
llm.model_kwargs = {'temperature': 0.7, 'repetition_penalty': 1.2, 'max_new_tokens': 250, 'top_p': 0.9}

Создание шаблона подсказки

Чтобы упростить процесс ответа на вопрос, мы создадим шаблон подсказки для вопроса и ответа. Это обеспечивает структурированный подход к нашим запросам.

from langchain import PromptTemplate

template = """Question: {question}nAnswer: Let's think step by step."""
prompt = PromptTemplate(template=template, input_variables=["question"])

Запуск и запуск LLMChain

Наконец, мы можем инициировать LLMChain и запустить его:

from langchain import LLMChain
llm_chain = LLMChain(prompt=prompt, llm=llm)
# Provide a question and run the LLMChain
question = "Can penguins reach the North pole?"
llm_chain.run(question)

Эта настройка предоставит вам LLMChain, готовый к анализу документов и задачам ответов на вопросы.

Подробное объяснение процесса анализа документов и ответов на вопросы

LangChain и DeepInfra упрощают анализ документов и ответы на вопросы. Чтобы лучше проиллюстрировать, как работает этот процесс, давайте углубимся в подробное объяснение.

Загрузка документов

Первый шаг в этом путешествии — загрузка документов. Вы можете использовать TextLoader, предоставленный LangChain:

from langchain.document_loaders import TextLoader
loader = TextLoader('../state_of_the_union.txt')

Создание индекса

После загрузки документов создайте индекс для ваших данных. Этот индекс используется для эффективного извлечения релевантных документов по запросу, тем самым экономя ваше время и ресурсы. В LangChain это можно сделать с помощью VectorstoreIndexCreator:

from langchain.indexes import VectorstoreIndexCreator
index = VectorstoreIndexCreator().from_loaders([loader])

Запрос вашего индекса

Наконец, запросите свой индекс, чтобы получить соответствующие документы. Допустим, вы хотите узнать, что президент сказал об определенном человеке. Вы можете сделать:

query = "What did the president say about Ketanji Brown Jackson"
index.query(query, llm=llm)

Вы также можете использовать query_with_sources, чтобы вернуть задействованные источники:

query = "What did the president say about Ketanji Brown Jackson"
index.query_with_sources(query, llm=llm)

Дополнительные функции и расширенное использование

LangChain также предоставляет расширенные функции, такие как ответы на вопросы с источниками, где языковая модель цитирует документы, использованные для создания ответа. Вот как вы можете начать:

from langchain.chains.qa_with_sources import load_qa_with_sources_chain
chain = load_qa_with_sources_chain(llm, chain_type="stuff")
chain({"input_documents": docs, "question": query}, return_only_outputs=True)

Заключение

LangChain при интеграции с DeepInfra предоставляет универсальный и мощный инструмент для ответов на вопросы при анализе документов. Он позволяет эффективно использовать модели ИИ, легко создавать рабочие процессы и упрощает процесс понимания и извлечения информации из ваших документов. Мы рекомендуем вам изучить LangChain и DeepInfra и использовать их возможности в своих приложениях. Удачных экспериментов!

Подпишитесь или следите за мной в Twitter, чтобы получать больше подобных материалов!

:::информация Также опубликовано здесь.

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE