46.6kЗаказать демоВойтиНачать бесплатно

Плагин извлечения данных ChatGPT с Zilliz и Milvus

Mar 24, 20234 min read

Введение

OpenAI, исследовательская лаборатория в области искусственного интеллекта, недавно объявила, что открыла исходный код для плагина извлечения базы знаний. Этот проект, в котором я участвовал, позволяет ChatGPT дополнять свою информацию, извлекая основанные на знаниях данные из релевантных фрагментов документов из различных источников данных. В этой записи блога я расскажу о последствиях этого проекта и преимуществах, которые он предлагает для предприятий.

Плагин извлечения базы знаний

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

Преимущества для предприятий

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

Как это работает

Плагин использует модель эмбеддингов OpenAI text-embedding-ada-002 для генерации эмбеддингов фрагментов документов, а затем сохраняет и запрашивает эмбеддинги в векторной базе данных. Именно здесь вступаю в дело я. Я работал с командой OpenAI, чтобы сделать Milvus и Zilliz одними из предпочтительных векторных баз данных для хранения этих эмбеддингов.

Простой API предоставляет endpoints плагина для добавления/обновления, запроса и удаления документов. Вы можете уточнять результаты поиска с помощью фильтров метаданных по источнику, дате, автору и т. д. Чтобы поддерживать Milvus или Zilliz в актуальном состоянии с последними документами, плагин может непрерывно обрабатывать и сохранять документы из различных источников данных, используя входящие webhooks для endpoints добавления/обновления и удаления.

Вот быстрый пример использования Zilliz Plugin для поиска политики DRM в условиях обслуживания (TOS) Apple. ChatGPT начинает с поиска запроса в Zilliz Cloud, а затем резюмирует результаты. Затем ChatGPT обращается к Zilliz через плагин извлечения для поиска наиболее релевантных данных.

Как настроить Zilliz Cloud

С Zilliz Cloud вам нужно просто создать аккаунт и настроить свой экземпляр с вашими эмбеддингами. Вот краткое руководство по началу работы и переменные окружения в плагине извлечения, которые вам нужно настроить:

Переменные окружения

ИмяОбязательноОписание
DATASTOREДаИмя хранилища данных, установить zilliz
BEARER_TOKENДаВаш секретный токен
OPENAI_API_KEYДаВаш ключ OpenAI API
ZILLIZ_COLLECTIONНеобязательноИмя коллекции Zilliz. По умолчанию случайный UUID
ZILLIZ_URIНеобязательноURI для экземпляра Zilliz
ZILLIZ_USERНеобязательноИмя пользователя Zilliz
MILVUS_USERНеобязательноПароль Zilliz

После того как вы это настроите, выполните следующий тест, чтобы подтвердить, что интеграция работает с помощью этой команды. pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py

Как настроить Milvus

Конечно, если вы предпочитаете open source Milvus, вы можете развернуть и управлять Milvus с помощью Docker Compose, Helm, K8's Operator или Ansible. Следуйте инструкциям, чтобы начать.

Переменные окружения

NameRequiredDescription
DATASTOREYesИмя хранилища данных, установите значение milvus
BEARER_TOKENYesВаш bearer-токен
OPENAI_API_KEYYesВаш ключ API OpenAI
MILVUS_COLLECTIONOptionalИмя коллекции Milvus, по умолчанию случайный UUID
MILVUS_HOSTOptionalIP-адрес хоста Milvus, по умолчанию localhost
MILVUS_PORTOptionalПорт Milvus, по умолчанию 19530
MILVUS_USEROptionalИмя пользователя Milvus, если RBAC включен, по умолчанию None
MILVUS_PASSWORDOptionalПароль Milvus, если требуется, по умолчанию None

После того как вы это настроите, выполните следующий тест, чтобы подтвердить, что интеграция работает с помощью этой команды. pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py

Разверните плагин

После тестирования плагина мы можем перейти к его развертыванию. ChatGPT получает доступ к плагинам, отправляя запросы туда, где работает сервер вашего плагина, будь то Amazon ECS, Fly.io, Heroku и т. д. Подробное руководство по настройке этого см. в разделе Deployment в GitHub readme.

Функция Memory

Одна из интересных возможностей этого нового плагина — функция, которую они называют memory. Она дает ChatGPT возможность запоминать информацию из разговоров и хранить ее в векторной базе данных для дальнейшего использования.

Благодарности

Это был увлекательный проект, и я хотел бы поблагодарить команду OpenAI в лице Isabella Fulford и команду Ziliz в лице Frank Liu и Robert Guo. Если у вас есть отзывы или вы хотите попробовать его самостоятельно, загляните в репозиторий GitHub. Лично я с нетерпением жду возможности внести вклад в одну из множества отличных идей, перечисленных в readme ChatGPT Retrieval Plugin!

Обновлено Jul 09, 2026