Этот проект представляет собой реализацию на основе JavaScript с использованием инновационной архитектуры извлечения дополненной генерации (RAG) посредством LangChainJS. Эта система эффективно сочетает в себе средство поиска документов и генератор ответов для обработки сложных запросов с высокой точностью. Компонент «Retriever» действует как инструмент точного поиска в корпусе документов, извлекая наиболее релевантную информацию на основе запросов пользователей. После извлечения «Генератор» синтезирует эту информацию в последовательные и контекстуально соответствующие ответы. Этот двухкомпонентный подход идеально подходит для задач, требующих глубокого синтеза и понимания содержания, таких как создание подробных резюме или ответы на многогранные вопросы из широкого спектра источников документов. Это приложение с легкостью обрабатывает многочисленные документы и сложные запросы, что делает его ценным инструментом для исследователей, создателей контента и аналитиков данных.
В проекте используется Ollama с LangChainJS, поэтому убедитесь, что у вас установлена Ollama. После установки запустите
$ ollama pull gemma:2b-instruct-q5_0
$ ollama pull nomic-embed-text
в PowerShell.
В проекте также используется ChromaDB в качестве базы данных для векторного хранилища, поэтому загрузите и установите Docker с https://www.docker.com/ и запустите.
$ docker pull chromadb/chroma
$ docker run -p 8000:8000 chromadb/chroma
в powershell, чтобы получить образ chromaDB и запустить контейнер chromaDB. Вложения будут созданы и сохранены внутри контейнера chromaDB, созданного в Docker.
Клонируйте репозиторий с помощью git clone
.
После клонирования перейдите в корневой каталог и запустите npm install
в терминале для установки пакетов.
После успешной установки пакетов запустите npm start
в терминале. В первый раз вы получите сообщение об ошибке, затем снова запустите npm start
чтобы код заработал.
Вклад в проект приветствуется! Пожалуйста, создавайте запросы на включение или отправляйте проблемы, чтобы предложить изменения в репозитории, или сообщайте об ошибках.
Этот проект лицензируется по лицензии MIT — подробности см. в файле LICENSE.