Создайте собственное приложение AIGC (1) Начало работы
Создайте собственное приложение AIGC (1) Начало работы

На самом деле история развития ИИ очень длинная.,И пустьAIПриложение, которое внезапно появляется перед глазами людей, на самом делеПоявление ChatGPT,Это означает, что приложение AIGC изменилось от концепции на King. В сопровождении opeaneene chatgpt, много Открытого исходный кодбольшой Модель тоже появился как грибы после дождя. на данный момент,Создать собственное приложение AIGC очень просто.

Базовая среда

Нам нужно настроить среду

  • python3.8+, не будьте слишком новичками
  • Среда CUDA+
  • pytorch
  • Компилятор, поддерживающий C++17.

Прежде всего, я рекомендую вам настроить одининдивидуальныйanacondaсреда,Потому что другие методы установки Pytorch действительно затруднительны.

Затем вам необходимо установить среду CUDA,Обычно вам нужно только скачатьСоответствующая версия CUDAВот и все

Затем идет установкаpytorchсреда,Эта индивидуальная среда довольно неприятна.,ОбычноУстановить через КондуЭто более надежный метод,Конечно, иногда просто не можешь договориться.

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

Сначала клонируйте исходный код

Язык кода:javascript
копировать
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive

Затем установите соответствующие различные зависимости

Язык кода:javascript
копировать
conda install cmake ninja
# Run this command from the PyTorch directory after cloning the source code using the “Get the PyTorch Source“ section below
pip install -r requirements.txt

conda install mkl mkl-include
# Add these packages if torch.distributed is needed.
# Distributed package support on Windows is a prototype feature and is subject to changes.
conda install -c conda-forge libuv=1.39

ЗатемКомпиляция исходного кода Windows немного сложна,Для получения подробной информации, пожалуйста, обратитесь к компилировать в различных ситуациях.

существоватькомпилироватьэтотиндивидуальныйpytorchэтотиндивидуальный Когда я покупал вещи, я столкнулся со многими ворами.,Я не могу найти решения большинства проблем,Самым надежным решением, наконец, было найдено,Вы не можете использовать слишком низкую или слишком высокую версию Python.,Решить будет гораздо проще,В конце концов я решил использовать версию Python 3.10.,Решил большую часть проблем.

Другое состоит в том, что если графический процессор не очень хорош или память не очень высока,ХОРОШОИспользовать версию процессора,Большинство компьютеров имеют относительно большой объем памяти.,По крайней мере, он может бежать.

Если это окна,Это обязательно будет использованоhuggingface,Есть некоторые вещи, на которые я предлагаю вам обратить внимание.

Кэш -папку по умолчанию и Pytorch находится в соответствии с ~/.

Добавить ** в переменные средыHF_HOMEиTORCH_HOME ,настраивать**Установите его как указанную переменную.

кроме,Некоторые проекты также предоставятДокеризованное решение для развертывания,Если этот подход будет принят,это должносуществовать Установка хостаNVIDIA Container Toolkit,и перезапустить докер

Язык кода:javascript
копировать
sudo apt-get install -y nvidia-container-toolkit-base
sudo systemctl daemon-reload 
sudo systemctl restart docker

Расширенный состав

LLM

Полное имя магистратуры**Large Language ModelБольшая языковая модель является основным модулем диалога ИИ, представленным ChatGPT. По сравнению с ChatGPT, который мы не можем контролировать и обучать, постепенно появляется большое количество больших языковых моделей с открытым исходным кодом, особенно с помощью ChatGPT.ChatGLM、Облегченная языковая модель, представленная LLaMA**, довольно проста в использовании.

ХотяМежду этими языковыми моделями с открытым исходным кодом и ChatGPT существует огромный разрыв.,Но в глубоких вертикальных поляхaiПриложение такжесуществовать Постепенно признанный людьми。Не так уж и много того, что мы хотимсуществовать Открытый исходный код Мир ищет альтернативы ChatGPT, почему бы не сказать вот эти Открытый исходный Появление языка codebig Model означает, что у нас есть возможность создавать собственный GPT.

В настоящее время Открытый имеет лучший эффект в области середина, а также является наиболее используемым. исходный код База Модель。большойчастьизКитайская вторичная разработка GPT почти полностью основана на этой модели.,Особенно после второго поколения длина контекста базовой Модели была еще больше расширена. Самое приятное, что его разрешено для коммерческого использования.

MOSS — это модель разговорного языка с открытым исходным кодом, которая поддерживает китайское и английское двуязычие и множество плагинов.,Серия Moss-Moon Модель имеет 16 миллиардов параметров.,Может работать на одной видеокарте A100/A800 или двух видеокартах 3090 с точностью FP16.,Может работать на одной видеокарте 3090 с точностью INT4/8. Базовый язык MOSS «Модель» предварительно обучен примерно на 700 миллиардах середина английского языка и кодовых словах.,Впоследствии, благодаря точной настройке диалоговых инструкций, расширенному обучению подключаемых модулей и обучению человеческим предпочтениям, он получает возможность проводить несколько раундов диалога и использовать несколько подключаемых модулей.

Серия моделей чата на основе архитектуры RWKV (включая английский и китайский языки),Выпущено, включая Raven,Novel-ChnEng,Новел-Ч и Новел-Чн Энг-Чн Про и т. д. Модель,Вы можете общаться и писать стихи напрямую,Романы и другие произведения,Включая модели 7B и 14B и другие размеры.

База модели LLM, честно говоря, слишком велика.,Особенно после первых мгновений.,Различные базы LLM выросли, как грибы после дождя.,Жаль, что разрыв между текущими моделями с открытым исходным кодом и ChatGPT очень велик. Большинство моделей могут достичь только уровня GPT3 и на несколько порядков отстают от GPT3.5, не говоря уже о GPT4.

Даватьбольшой Взгляните на доминдивидуальныйпроходитьСуществует множество рейтингов LLM, основанных на некоторых стандартных рейтингах. Это утверждение обычно зависит от охвата выборки.

Embedding

Модель внедрения также является очень важной частью GPT, о которой упоминалось в предыдущей статье. Потому что режим GPT, который может полагаться только на диалог, ограничен длиной контекста.

Таким образом, было получено множество моделей внедрения с открытым исходным кодом.

gradio

Gradio — очень известная веб-инфраструктура машинного обучения для представления данных.проходитьgradioМожно быстро построитьиндивидуальный Интерактивный в реальном времениwebинтерфейс。Немного похожеflask

Первое, что следует отметитьgradioПо меньшей мереPython выше версии 3.8.

Язык кода:javascript
копировать
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="text", outputs="text")
    
demo.launch()

Gradio поддерживает множество таких распространенных сценариев.,Точно так же, какТекст, флажки, панели ввода, даже загрузка файлов и изображений.,У всех очень хорошая встроенная поддержка.

FastChat

FastChat — интегрированная платформа, построенная на LLM,FastChatоснован наLLaMAОбучение настройке вторичных параметров。

Язык кода:javascript
копировать
pip3 install fschat

Обычное использование требует генерации машиныVicunaМодель,ВоляLLaMa веса сливаются викуньи weights。иэтотиндивидуальныйпотребности процессаМного памяти и процессора,Официальные справочные данные:

  • Vicuna-7B:30 GB of CPU RAM
  • Vicuna-13B:60 GB of CPU RAM

Если недостаточно памяти для использования,Вы можете попробовать следующие два метода управления им:

1、существовать Заказсерединаприсоединиться–low-cpu-mem,Эта отдельная команда может уменьшить пиковый объем памяти до уровня ниже 16 ГБ.

2. Создайте относительно большой раздел подкачки и позвольте операционной системе использовать жесткий диск в качестве виртуальной памяти.

Язык кода:javascript
копировать
python3 -m fastchat.model.apply_delta \
    --base-model-path /path/to/llama-7b \
    --target-model-path /path/to/output/vicuna-7b \
    --delta-path lmsys/vicuna-7b-delta-v1.1

python3 -m fastchat.model.apply_delta \
    --base-model-path /path/to/llama-13b \
    --target-model-path /path/to/output/vicuna-13b \
    --delta-path lmsys/vicuna-13b-delta-v1.1

После загрузки файла модели вы сможете быстро использовать соответствующую модель.

Язык кода:javascript
копировать
python3 -m fastchat.serve.cli --model-path lmsys/fastchat-t5-3b-v1.0

По сравнению с другими базами МодельLLM,Платформизация FastChatСтепень относительно высокая。

впервые предоставилконтроллер и модель работникаОтдельно развернутые решения,Решение «один ко многим» само по себе больше соответствует структуре, основанной на проектах.

Язык кода:javascript
копировать
python3 -m fastchat.serve.controller

python3 -m fastchat.serve.model_worker --model-path /path/to/model/weights

И то же самоеСоответствующий веб-интерфейс был построен с использованием градиента.

Язык кода:javascript
копировать
python3 -m fastchat.serve.gradio_web_server

кромеFastChatТакже предоставленоИнтерфейс API полностью совместим с openaiиrestfulapi.

Язык кода:javascript
копировать
import openai
openai.api_key = "EMPTY" # Not support yet
openai.api_base = "http://localhost:8000/v1"

model = "vicuna-7b-v1.3"
prompt = "Once upon a time"

# create a completion
completion = openai.Completion.create(model=model, prompt=prompt, max_tokens=64)
# print the completion
print(prompt + completion.choices[0].text)

# create a chat completion
completion = openai.ChatCompletion.create(
  model=model,
  messages=[{"role": "user", "content": "Hello! What is your name?"}]
)
# print the completion
print(completion.choices[0].message.content)

Его даже можно напрямую подключить к другим платформам через API, что очень полно.

документ базы знаний

Документ базы знаний является важной частью решения langchain середина,Все вопросы сначала попадают в базу знаний результатов поиска середина, а затем служат контекстом.,документ базы знанийизданныеколичество будет напрямую влиятьэтотприложение классаиздостоверность результатов。исейчассуществоватьБолее распространенное обнаружение сходства использует faiss,Создайте библиотеку векторных данных для сравнения данных.

данные базы знаний

Вектор ФАИСС

Данные китайской Википедии по состоянию на апрель: 450 000.

Ссылка: https://pan.baidu.com/s/1VQeA_dq92fxKOtLL3u3Zpg?pwd=l3pn Код извлечения: l3pn

По состоянию на сентябрь прошлого года 1,3 миллиона результатов обработки китайской Википедии и соответствующих векторных файлов faiss.

Ссылка: https://pan.baidu.com/s/1Yls_Qtg15W1gneNuFP9O_w?pwd=exij Код извлечения: exij

💹 Масштабная карта знаний отчета о финансовых исследованиях

Ссылка: https://pan.baidu.com/s/1FcIH5Fi3EfpS346DnDu51Q?pwd=ujjv Код извлечения: ujjv

соответствующийизсейчассуществовать Многие приложения также имеют встроенныеИнтерфейс для тестирования базы знаний,Например langchain-ChatGLM

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

langchain

Langchain — это относительно зрелый набор приложений Aigc и относительно распространенное решение для поиска в базе знаний.,Используется контекстно-ориентированная схема обучения, упомянутая в предыдущей статье середина.,Пользовательский вывод будетВведите поиск по базе данных,Затем Найдите наиболее подходящий вопросизчасть结果ЗатемивопросДобавьте его в контекст подсказки вместесередина,в конечном итогеLLM генерирует окончательный ответ

этотиндивидуальный Программа в настоящее времяСамая классическая программа обучения базе знаний,самый эффективныйизрешеноСложность обучения самой большой модели и эффективность результатов обратной связиНесовместимыйизвопрос。

Построен на идее langchain,На самом деле, это породило множество интересных проектов.,С одной стороны, упоминаются различные крупные модели с открытым исходным кодом, включая ChatGLM-6B.,Также используетсяРешение для внедрения с открытым исходным кодомобрабатывать текст。

С другой стороны, он стал более зрелым.изvue front-end + база знаний,Вы можете быстро собрать воедино доступный чат.

langchain-ChatGLM

langchain-ChatGLM — одна из лучших реализаций, поддерживаемых многими решениями langchain.,Процесс включает в себяЗагрузить файл -> читать текст -> сегментация текста -> Векторизация текста -> векторизация вопросов -> Сопоставьте текстовый вектор, который наиболее похож на вектор вопроса.top kиндивидуальный -> Соответствующий текст добавляется в качестве контекста вместе с вопросом.promptсередина -> Отправить вLLM**Сгенерировать ответ

Каждую часть всего проекта можно в определенной степени свободно комбинировать. Выбор по умолчанию GanymedeNil/text2vec-large-chinese,LLM Выбор по умолчанию ChatGLM-6B。или ХОРОШОпроходитьfastchatчтобы получить доступ。

После завершения настройки и установки среды ее можно запустить. Соответствующая большая модель будет загружена при первом запуске.

Конечно, эта модель слишком велика, и при загрузке из командной строки очень легко возникнуть проблемы, поэтому вы можете обратиться к решению ChatGLM-6B, загрузить модель самостоятельно, а затем загрузить ее снова.

Надежнее сначала скачать модель, потом скачать модель отдельно и перезаписать все файлы.

Язык кода:javascript
копировать
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b

Затем вам необходимо изменить расположение модели в соответствующем файле конфигурации, в configs/model_config.py.

Путь к документу базы знаний по умолчанию:

Язык кода:javascript
копировать
knowledge_base\samples

Если вы хотите использовать свой собственный файл местных знаний,Просто поместите его в базу знаний соответствующего каталога. Теперь документ базы знаний будет просматривать файлы в каталоге.,Поэтому просто укажите каталог.

Язык кода:javascript
копировать
python cli_demo.py
Язык кода:javascript
копировать
python3.10 .\webui.py
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose