существуют Рост ИИ сейчас,В поле зрения людей продолжают появляться различные приложения искусственного интеллекта,ИИ меняет все сферы жизни. Автор исследовал бесчисленное множество проектов применения ИИ.,Они вседа Лучшие в своих сценариях применения。Представлено сегодняLocalAI является последовательным OpenAI API нормативный REST API для локального вывода. Он позволяет запускать изначально или изначально на оборудовании потребительского уровня. LLM поддерживают (не только) множество и ggml Модельный ряд, совместимый по формату, не требуется GPU。
Я считаю, что если вы внимательно прочитаете эту статью, вы обязательно что-то получите. Если вам понравилась эта статья, ставьте лайк, собирайте и пересылайте ее. Это принесет больше мотивации автору!
Обзор примеров использования LocalAI:
В этом списке есть много проектов, которые автор ранее представил в специальных статьях. Заинтересованные студенты могут ознакомиться с ними самостоятельно:
GPT4All — локально развертываемый ИИ-помощник
Как много вы знаете об Auto-GPT?
Flowise — создавайте индивидуальные процессы LLM с помощью интерфейса перетаскивания
Отличная библиотека ресурсов проекта на основе LangChain
LangChain Полное руководство: создание мощных приложений с использованием больших языковых моделей
privatGPT — новое применение приватизированной модели GPT
Кроме того, комбинация LocalAI и Flowise может найти и более замечательное применение. Например, локальное внедрение может храниться в базе данных векторов для облегчения поиска, классификации, рекомендаций, AIGC и т. д., что можно использовать для создания полностью интеллектуального приложения. база знаний (об этом есть. Если нужно, можете пообщаться с автором приват).
Подробности см. в разделе «Внедрения LocalAI — FlowiseAI»[1]. Вы можете прочитать ее вместе с предыдущей статьей автора о Flowise.
LocalAI является последовательным OpenAI API нормативный REST API для локального вывода. Он позволяет запускать изначально или изначально на оборудовании потребительского уровня. LLM поддерживают (не только) множество и ggml Модельный ряд, совместимый по формату. ненужный GPU。
Список поддерживаемых семейств моделей см. в таблице совместимости моделей [5].
суммируя:
•местный OpenAI заменять REST API. Вы владеете своими данными. •ненужный графический процессор. Доступ в Интернет также не требуется. Дополнительно, графический процессор Ускориться на llama.cpp
совместимый LLM Доступен в формате . См. инструкции по сборке [6]. • Поддерживает несколько моделей, транскрипцию звука, использование GPT Для генерации текста генерация изображений с использованием стабильной диффузии (экспериментальная) • При первой загрузке модель загружается в память для более быстрого вывода • Не используется раскошеливаться, вместо этого используйте C++ Привязки для более быстрого вывода и повышения производительности.
LocalAI, созданный Этторе Ди Джачинто[7], представляет собой проект сообщества, направленный на то, чтобы сделать искусственный интеллект доступным для всех. Любые вклады, отзывы и пиар приветствуются!
См. примеры [8], чтобы увидеть, как интегрировать LocalAI с другими популярными проектами:
ChatGPT OSS заменять Товары[9]
Генерация изображений[10]
Телеграмм-робот[11]
Flowise[12]
См. разделы «Начало работы» [13] и «Примеры» [14], чтобы узнать, как использовать LocalAI.
Список представленных моделей можно найти в галерее моделей [15].
LocalAI совместим с моделями, поддерживаемыми llama.cpp[16], а также поддерживает GPT4ALL-J[17] и cerebras-GPT с ggml[18].
В зависимости от модели, которую вы пытаетесь запустить,Может потребоваться больше ресурсов ОЗУ или ЦП. также,Достаточно хорошосуществоватьздесь[19]Просмотр на основеggml
требования к серверной части。rwkv
существовать Меньше потребления ресурсов。
Помимо модели на основе ламы, LocalAI совместим с другими архитектурами. В следующей таблице перечислены все серии совместимых Модель и связанные с ними репозитории привязок.
Бэкэнды и привязки | совместимый Модель | Конечная точка целостности/чата | Аудио транскрипция/изображение | Встроить поддержку | Поддержка потока токенов | ускоряться |
---|---|---|---|---|---|---|
llama[20] (binding[21]) | Vicuna, Alpaca, LLaMa | да | нет | да | да | CUDA, openCL, cuBLAS, Metal |
gpt4all-llama[22] | Vicuna, Alpaca, LLaMa | да | нет | нет | да | N/A |
gpt4all-mpt[23] | MPT | да | нет | нет | да | N/A |
gpt4all-j[24] | GPT4ALL-J | да | нет | нет | да | N/A |
falcon[25] (binding[26]) | Сокол (только *** 7б) | да | нет | нет | нет | N/A |
gpt2[27] (binding[28]) | GPT2, Cerebras | да | нет | нет | нет | N/A |
dolly[29] (binding[30]) | Dolly | да | нет | нет | нет | N/A |
gptj[31] (binding[32]) | GPTJ | да | нет | нет | нет | N/A |
mpt[33] (binding[34]) | MPT | да | нет | нет | нет | N/A |
replit[35] (binding[36]) | Replit | да | нет | нет | нет | N/A |
gptneox[37] (binding[38]) | GPT NeoX, RedPajama, StableLM | да | нет | нет | нет | N/A |
starcoder[39] (binding[40]) | Starcoder | да | нет | нет | нет | |
bloomz[41] (binding[42]) | Bloom | да | нет | нет | нет | |
rwkv[43] (binding[44]) | rwkv | да | нет | да | да | |
bert[45] (binding[46]) | bert | нет | нет | да | нет | |
whisper[47] | whisper | нет | Аудио | нет | нет | |
stablediffusion[48] (binding[49]) | stablediffusion | нет | изображение | нет | нет | |
langchain-huggingface[50] | Любой текстовый генератор, поддерживаемый через API HuggingFace. | да | нет | нет | нет |
После тестирования LocalAI совместим со следующими моделями:
• Пройти автоматически CI использовать OpenLLAMA и GPT4ALL Чтобы протестировать. • LLaMA 🦙• Vicuna[51]• Alpaca[52]• GPT4ALL[53] (см. также использовать GPT4All[54])• GPT4ALL-J[55] (изменения не требуются)• Koala[56] 🐨• Cerebras-GPT• WizardLM[57]• RWKV[58] Модельиспользовать rwkv.cpp[59]• bloom.cpp[60]• Chinese LLaMA / Alpaca[61]• Vigogne (French)[62]• OpenBuddy 🐶 (многоязычный)[63]• Pygmalion 7B / Metharme 7B[64]• HuggingFace Inference[65] проходить API Доступные модели
Примечание. Некоторые старые модели могут потребоваться преобразовать в новый формат. Подробности см. llama.cpp README[66] в формате . Например, запустите gpt4all
。
Полный пример запуска модели rwkv можно найти в примерах[67].
Примечание: rwkv Модель должна быть в YAML Серверная часть, указанная в файле конфигурации: rwkv
,А также необходимо предоставить токенизатор, связанный с Моделью:
36464540 -rw-r--r-- 1 mudler mudler 1.2G May 3 10:51 rwkv_small
36464543 -rw-r--r-- 1 mudler mudler 2.4M May 3 10:51 rwkv_small.tokenizer.json
•🔥🔥🔥 2023Год6луна19день:v1.19.0:CUDAподдерживать!Примечания к выпуску[68]возобновлятьденьамбиции[69]•🔥🔥🔥 2023Год6луна6день:v1.18.0:много обновлений、новые возможностии Больше контента 🚀, пожалуйста, ознакомьтесь с примечаниями к выпуску[70]! • 29 мая 2023 г.: теперь доступен LocalAI. один сайт, https://localai.io[71]! Пожалуйста, посетите специальную рубрику новостей [72]!
Чтобы быть в курсе последних новостей, обратите внимание на Twitter @LocalAI_API[73]и@mudler_it[74]
Чтобы помочь этому проекту, вы можете:
• Сообщение о хакерской новости[75] – Если вам нравится этот проект,Пожалуйста, проголосуйте за нас. •Если у вас есть технические навыки и вы хотите внести свой вклад в развитие,Пожалуйста, ознакомьтесь с открытыми вопросами. Если вы новичок,Можно просмотретьgood-first-issue[76]иhelp-wanted[77]Этикетка。•Если у вас нет технических навыков,Вы по-прежнему можете помочь улучшить документацию, добавить примеры или поделиться своими пользовательскими историями с нашим сообществом.,любая помощьи Взносы принимаютсяприезжатьдобро пожаловать!
См. раздел «Начало работы» [78]. Ниже приводится общее краткое руководство, которое поможет вам подготовить и использовать LocalAI.
использоватьdocker-compose
дабегатьLocalAIСамый простой способ(Если ты хочешьсуществоватьлокальная сборку, см. Сборка LocalAI [79]):
git clone https://github.com/go-skynet/LocalAI
cd LocalAI
# (Необязательно) Проверьте определенные теги LocalAI.
# git checkout -b build <TAG>
# Переместите свою Моделькопировать в папку models/.
cp your-model.bin models/
# (Необязательно) Отредактируйте файл .env, чтобы задать такие параметры, как размер контекста и количество потоков.
# vim .env
# использоватьdocker-composeзапускать
docker-compose up -d --pull always
# Или вы можете создать образ с помощью следующей команды:
# docker-compose up -d --build
# сейчассуществоватьAPIМожетпроходитьlocalhost:8080доступ
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"your-model.bin","object":"model"}]}
curl http://localhost:8080/v1/completions -H "Content-Type: application/json" -d '{
"model": "your-model.bin",
"prompt": "A long time ago in a galaxy far, far away",
"temperature": 0.7
}'
# клонировать LocalAI
git clone https://github.com/go-skynet/LocalAI
cd LocalAI
# (Необязательно) Ознакомьтесь с конкретными LocalAI Этикетка
# git checkout -b build <TAG>
# скачать gpt4all-j приезжать models/
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
# Из примера скопировать шаблон приезжать models/
cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/
# (Необязательно) Редактировать .env Файл для установки таких параметров, как размер контекста и количество потоков.
# vim .env
# использовать docker-compose Запустить службу
docker-compose up -d --pull always
# Или вы можете создать образ с помощью следующей команды:
# docker-compose up -d --build
# сейчассуществовать API Можетпроходить localhost:8080 доступ
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"ggml-gpt4all-j","object":"model"}]}
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "ggml-gpt4all-j",
"messages": [{"role": "user", "content": "How are you?"}],
"temperature": 0.9
}'
# {"model":"ggml-gpt4all-j","choices":[{"message":{"role":"assistant","content":"I'm doing well, thanks. How about you?"}}]}
хотетьсуществоватьлокальная сборка LocalAI
Образ контейнера, можно использовать docker
:
# Создать образ
docker build -t localai .
docker run localai
Или вы можете использовать make
Создайте двоичный файл:
make build
Подробные инструкции см. в разделе «Сборка» [80] нашей документации.
Можетиспользовать helm существовать Kubernetes Установить в Локальный ИИ. См. инструкцию по установке [81].
См. список API «Поддерживаемые конечные точки» [82] и инструкции по настройке изображения для генерации транскрипций iAudio.
Список часто задаваемых вопросов см. в разделе «Часто задаваемые вопросы»[83].
Не стесняйтесь отправить PR, чтобы ваш проект появился в списке!
•Kairos[84]•k8sgpt[85]•Spark[86]•autogpt4all[87]•Mods[88]•Flowise[89]
• подражать OpenAI API (https://github.com/go-skynet/LocalAI/issues/10)• двоичный выпуск (Possible to use it without docker? · Issue #6 · go-skynet/LocalAI · GitHub[90])• поместите наш golang привязать восходящий поток к llama.cpp (Go bindings · Issue #351 · ggerganov/llama.cpp · GitHub[91])• восходящая привязка gpt4all[92] • Поддержка нескольких моделей• есть один WebUI!• Позволяет настраивать параметры модели по умолчанию. • Поддержка встраивания• поддерживатьиспользоватьGitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++ [93] для транскрипции аудио • GPU/CUDA поддерживать (feature: GPU/CUDA support? · Issue #69 · go-skynet/LocalAI · GitHub[94])• Включить автоматическое из курируемой галереискачать Модель,толькоиспользоватьбесплатнолицензия Модель,Скачать прямо из WebUI.
LocalAI да ЮЭтторе Di Проект, управляемый сообществом, созданный Джачинто[95].
MIT
Этторе Ди Джачинто и другие
Спасибо сообществу за отличное программное обеспечение, без которого LocalAI не смог бы быть создан. Спасибо!
•llama.cpp[96]•GitHub — tatsu-lab/stanford_alpaca: порт LLaMA (большой языковой модели искусственного интеллекта) Facebook на Golang со встроенными функциями. C/C++[98]Неудачные обновления•GitHub — antimatter15/alpaca.cpp: локально запустить LLM в стиле чата, настроенный по инструкциям[99]•GitHub — EdVince/Stable-Diffusion-NCNN: Stable Diffusion в NCNN с c++, поддерживается txt2img и img2img[100]•GitHub — ggerganov/whisper.cpp: порт модели OpenAI Whisper на C/C++[101]•GitHub — saharNooby/rwkv.cpp: вывод INT4/INT5/INT8 и FP16 на ЦП для языковой модели RWKV[ ]
Эта статья переведена и составлена из:
•https://github.com/wysstartgo/LocalAI•https://docs.flowiseai.com/embeddings/localai-embeddings
Я считаю, что если вы внимательно прочитаете эту статью, вы обязательно что-то получите. Если вам понравилась эта статья, ставьте лайк, собирайте и пересылайте ее. Это принесет больше мотивации автору!
[1]
LocalAI Embeddings - FlowiseAI: https://docs.flowiseai.com/embeddings/localai-embeddings
[2]
: https://github.com/go-skynet/LocalAI/actions/workflows/test.yml
[3]
: https://github.com/go-skynet/LocalAI/actions/workflows/image.yml
[4]
: https://discord.gg/uJAeKSAGDy
[5]
Таблица совместимости моделей: https://localai.io/model-compatibility/index.html#model-compatibility-table
[6]
Смотрите инструкцию по сборке: https://localai.io/basics/build/index.html
[7]
Ettore Di Giacinto: https://github.com/mudler/
[8]
Пример: https://github.com/go-skynet/LocalAI/tree/master/examples/
[9]
ChatGPT OSS заменять Товары: https://github.com/go-skynet/LocalAI/tree/master/examples/chatbot-ui
[10]
изображениегенерировать: https://localai.io/api-endpoints/index.html#image-generation
[11]
Telegram робот: https://github.com/go-skynet/LocalAI/tree/master/examples/telegram-bot
[12]
Flowise: https://github.com/go-skynet/LocalAI/tree/master/examples/flowise
[13]
Руководство по началу работы: https://localai.io/basics/getting_started/index.html
[14]
Пример: https://github.com/go-skynet/LocalAI/tree/master/examples/
[15]
Библиотека моделей: https://localai.io/models/
[16]
llama.cpp: https://github.com/ggerganov/llama.cpp
[17]
GPT4ALL-J: https://github.com/nomic-ai/gpt4all
[18]
cerebras-GPT with ggml: https://huggingface.co/lxe/Cerebras-GPT-2.7B-Alpaca-SP-ggml
[19]
здесь: https://github.com/ggerganov/llama.cpp#memorydisk-requirements
[20]
llama: https://github.com/ggerganov/llama.cpp
[21]
binding: https://github.com/go-skynet/go-llama.cpp
[22]
gpt4all-llama: https://github.com/nomic-ai/gpt4all
[23]
gpt4all-mpt: https://github.com/nomic-ai/gpt4all
[24]
gpt4all-j: https://github.com/nomic-ai/gpt4all
[25]
falcon: https://github.com/ggerganov/ggml
[26]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[27]
gpt2: https://github.com/ggerganov/ggml
[28]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[29]
dolly: https://github.com/ggerganov/ggml
[30]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[31]
gptj: https://github.com/ggerganov/ggml
[32]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[33]
mpt: https://github.com/ggerganov/ggml
[34]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[35]
replit: https://github.com/ggerganov/ggml
[36]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[37]
gptneox: https://github.com/ggerganov/ggml
[38]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[39]
starcoder: https://github.com/ggerganov/ggml
[40]
binding: https://github.com/go-skynet/go-ggml-transformers.cpp
[41]
bloomz: https://github.com/NouamaneTazi/bloomz.cpp
[42]
binding: https://github.com/go-skynet/bloomz.cpp
[43]
rwkv: https://github.com/saharNooby/rwkv.cpp
[44]
binding: https://github.com/donomii/go-rw
[45]
bert: https://github.com/skeskinen/bert.cpp
[46]
binding: https://github.com/go-skynet/go-bert.cpp
[47]
whisper: https://github.com/ggerganov/whisper.cpp
[48]
stablediffusion: https://github.com/EdVince/Stable-Diffusion-NCNN
[49]
binding: https://github.com/mudler/go-stable-diffusion
[50]
langchain-huggingface: https://github.com/tmc/langchaingo
[51]
Vicuna: https://github.com/ggerganov/llama.cpp/discussions/643#discussioncomment-5533894
[52]
Alpaca: https://github.com/ggerganov/llama.cpp#instruction-mode-with-alpaca
[53]
GPT4ALL: https://gpt4all.io/
[54]
использовать GPT4All: https://github.com/ggerganov/llama.cpp#using-gpt4all
[55]
GPT4ALL-J: https://gpt4all.io/models/ggml-gpt4all-j.bin
[56]
Koala: https://bair.berkeley.edu/blog/2023/04/03/koala/
[57]
WizardLM: https://github.com/nlpxucan/WizardLM
[58]
RWKV: https://github.com/BlinkDL/RWKV-LM
[59]
rwkv.cpp: https://github.com/saharNooby/rwkv.cpp
[60]
bloom.cpp: https://github.com/NouamaneTazi/bloomz.cpp
[61]
Chinese LLaMA / Alpaca: https://github.com/ymcui/Chinese-LLaMA-Alpaca
[62]
Vigogne (French): https://github.com/bofenghuang/vigogne
[63]
OpenBuddy 🐶 (многоязычный): https://github.com/OpenBuddy/OpenBuddy
[64]
Pygmalion 7B / Metharme 7B: https://github.com/ggerganov/llama.cpp#using-pygmalion-7b--metharme-7b
[65]
HuggingFace Inference: https://huggingface.co/inference-api
[66]
README: https://github.com/ggerganov/llama.cpp#using-gpt4all
[67]
examples: https://github.com/go-skynet/LocalAI/tree/master/examples/rwkv
[68]
Примечания к выпуску: https://localai.io/basics/news/index.html#-19-06-2023-__v1190__-
[69]
Журнал обновлений: https://github.com/go-skynet/LocalAI/releases/tag/v1.19.0
[70]
Примечания к выпуску: https://localai.io/basics/news/index.html#-06-06-2023-__v1180__-
[71]
https://localai.io: https://localai.io/
[72]
Отдельная рубрика новостей: https://localai.io/basics/news/index.html
[73]
@LocalAI_API: https://twitter.com/LocalAI_API
[74]
@mudler_it: https://twitter.com/mudler_it
[75]
Hacker news post: https://news.ycombinator.com/item?id=35726934
[76]
good-first-issue: https://github.com/go-skynet/LocalAI/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
[77]
help-wanted: https://github.com/go-skynet/LocalAI/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
[78]
Руководство по началу работы: https://localai.io/basics/getting_started/index.html
[79]
Сборка LocalAI: https://localai.io/basics/build/index.html
[80]
Часть сборки: https://localai.io/basics/build/index.html
[81]
Инструкции по установке: https://localai.io/basics/getting_started/index.html#run-localai-in-kubernetes
[82]
Поддерживаемые конечные точки Список API: https://localai.io/api-endpoints/index.html
[83]
FAQ: https://localai.io/faq/index.html
[84]
Kairos: https://github.com/kairos-io/kairos
[85]
k8sgpt: https://github.com/k8sgpt-ai/k8sgpt#running-local-models
[86]
Spark: https://github.com/cedriking/spark
[87]
autogpt4all: https://github.com/aorumbayev/autogpt4all
[88]
Mods: https://github.com/charmbracelet/mods
[89]
Flowise: https://github.com/FlowiseAI/Flowise
[90]
Possible to use it without docker? · Issue #6 · go-skynet/LocalAI · GitHub: https://github.com/go-skynet/LocalAI/issues/6
[91]
Go bindings · Issue #351 · ggerganov/llama.cpp · GitHub: https://github.com/ggerganov/llama.cpp/issues/351
[92]
gpt4all: https://github.com/go-skynet/LocalAI/issues/85
[93]
GitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++: https://github.com/ggerganov/whisper.cpp
[94]
feature: GPU/CUDA support? · Issue #69 · go-skynet/LocalAI · GitHub: https://github.com/go-skynet/LocalAI/issues/69
[95]
Ettore Di Giacinto: https://github.com/mudler/
[96]
llama.cpp: https://github.com/ggerganov/llama.cpp
[97]
GitHub - tatsu-lab/stanford_alpaca: Code and documentation to train Stanford's Alpaca models, and generate the data.: https://github.com/tatsu-lab/stanford_alpaca
[98]
GitHub - cornelk/llama-go: Port of Facebook's LLaMA (Large Language Model Meta AI) in Golang with embedded C/C++: https://github.com/cornelk/llama-go
[99]
GitHub - antimatter15/alpaca.cpp: Locally run an Instruction-Tuned Chat-Style LLM: https://github.com/antimatter15/alpaca.cpp
[100]
GitHub - EdVince/Stable-Diffusion-NCNN: Stable Diffusion in NCNN with c++, supported txt2img and img2img: https://github.com/EdVince/Stable-Diffusion-NCNN
[101]
GitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++: https://github.com/ggerganov/whisper.cpp
[102]
GitHub - saharNooby/rwkv.cpp: INT4/INT5/INT8 and FP16 inference on CPU for RWKV language model: https://github.com/saharNooby/rwkv.cpp