Звездный робототехнический стартап Fig объединился с OpenAI, чтобы выпустить потрясающую новую демонстрацию робототехники. Всего за несколько недель Рисунок быстро внедрил передовую технологию мультимодальных больших моделей OpenAI после объявления 1 марта об инвестициях от таких гигантов, как OpenAI. Этот прорыв натолкнул меня на смелую идею — сделать самодельную игрушку с приводом от большой модели, назовем ее Фигуркой 3000.
Без лишних слов, давайте посмотрим на эффект от моей замены Фигуры 01 на Фигуру 3000.
Видео демонстрация:https://mpvideo.qpic.cn/0bc3beaeqaaaoeamjwpznjsvacodjaeqasaa.f10002.mp4?
Как видите, хотя некоторый разрыв между производительностью и стандартной Фигуркой 01 все же существует, Фигурка 3000 далеко впереди по стоимости, и в пределах тысячи юаней нет соперника:
Я также записал процесс изготовления своими руками, надеясь всем помочь.
Давайте сначала поговорим о принципе работы, чтобы каждый мог его понять. Есть три ключевых шага:
Прежде чем вы начнете создавать свой LLM (большая языковая модель) Прежде чем играть, знайте, что вам нужно изаппаратное обеспечение, программное обеспечение и технические знания имеют важное значение. В этом разделе вы узнаете, как подготовить все необходимое для плавного старта.
FoloToy Core:GPT AI Основная плата голосового взаимодействия, являющаяся мозгом проекта, позволяет игрушкам общаться с AI Выполните голосовое взаимодействие. (При покупке укажите мой промокод. F-001-2 чтобы получить скидку. )
Форма для игрушек: должна содержать основные детали, такие как микрофоны, динамики, кнопки, переключатели, блоки питания и т. д. Здесь я использовал форму Fire Rabbit G6, потому что она идеально подходила по виду и размеру для моего проекта. Домашние дети тоже любят эту игрушку.
Используйте свою собственную машину, например. MacBookPro,Убедитесь, что ваша игрушка имеет надежную серверную часть для обработки и реагирования на взаимодействия. или,использоватьоблакосервер,Такие как Alibaba Cloud, Tencent Cloud и т. д.,Шаги те же.
Чтобы ваши игрушки ожили, вам понадобится доступ к определенным сервисам искусственного интеллекта. Для этого проекта я решил использовать Alilinger AI Open Service, поскольку он предоставляет бесплатные услуги распознавания и синтеза речи. Вы также можете выбрать другие услуги. Для больших языковых моделей я использовал локально развернутую версию llama2. Вы можете выбирать в соответствии со своими предпочтениями. В принципе они совместимы.
Если вы используете различные большие языковые модели, вам необходимо зарегистрироваться и получить ключ API, аналогичный sk-xxx. Это ваши учетные данные для вызова API. Для использования открытого сервиса Lingjie AI от Alibaba вам необходимо зарегистрироваться, создать приложение и получить app_key, access_key_id и access_key_secret.
Теперь пришло время собрать все детали воедино и сделать свою собственную игрушку LLM (большая языковая модель).
Общие шаги следующие. Рекомендуется сначала просмотреть видеоурок [1].
Мощная серверная поддержка — это то, что позволяет вам LLM Игрушка понимает и реагирует на команды и клавиши. В этом разделе вы узнаете, как клонировать базу кода сервера, настраивать сервер и запускать его. Docker Контейнер, обеспечивающий стабильную поддержку серверной части ваших игрушек.
Сначала из GitHub клонировать Folo серверкодовая база。
git clone git@github.com:FoloToy/folotoy-server-self-hosting.git
затем в файле docker-compose.yml измените базовую конфигурацию сервера на свою собственную конфигурацию.
имя | описывать | Пример |
---|---|---|
AUDIO_DOWNLOAD_URL | URL-адрес аудиофайла. | http://192.168.x.x:8082 |
SPEECH_UDP_SERVER_HOST | сервериз IP адрес. | 192.168.x.x |
LLM_TYPE | Тип услуги LLM | ollama |
OLLAMA_API_BASE | API-адрес LLM | http://host.docker.internal:11434 |
OLLAMA_MODEL | Модель LLM | llama2 |
STT_TYPE | Тип службы распознавания речи | aliyun-asr |
ALIYUN_ASR_ACCESS_KEY_ID | access_key_id распознавания речи Alibaba Cloud | xxx |
ALIYUN_ASR_ACCESS_KEY_SECRET | access_key_secret распознавания речи Alibaba Cloud | xxx |
ALIYUN_ASR_APP_KEY | Приложение распознавания речи Alibaba Cloud app_key | xxx |
TTS_TYPE | Тип службы синтеза речи | aliyun-tts |
ALIYUN_TTS_ACCESS_KEY_ID | Синтез речи Alibaba Cloud access_key_id | xxx |
ALIYUN_TTS_ACCESS_KEY_SECRET | Синтез речи Alibaba Cloud access_key_secret | xxx |
ALIYUN_TTS_APP_KEY | Синтез речи Alibaba Cloud app_key | xxx |
Примечание. Вы можете использовать ту же конфигурацию для распознавания и синтеза речи Alibaba Cloud.
затем в config/roles.json
Файл конфигурации вашей роли, вот минимум один пример, полную конфигурацию см. FoloToy документ.
{
"1": {
"start_text": "Hello, I'm Figure 3000. What can I do for you?",
"prompt": "You are a helpful assistant."
}
}
Затем запустите докер-контейнер.
docker compose up -d
Я запускаю это на своей машине Folo Сервер, если вы хотите, чтобы существование работало в облаке, операция будет практически такой же. Следует отметить одну вещь: вам необходимо 1883、8082、8085、18083 и 8083 Порт открыт для общедоступной сети, и у большинства поставщиков облачных услуг есть настройки брандмауэра, которые можно настроить в консоли.
Для получения дополнительной информации обратитесь к документации FoloToy[2].
Запускать большие языковые модели локально — это весело. Вы можете запускать Llama 2, Gemma и все виды крупных моделей с открытым исходным кодом со всего мира, даже модели, которые вы обучили самостоятельно. С олламой вы можете сделать это легко. Сначала установите ollama, а затем выполните следующую команду, чтобы запустить модель Llama 2.
ollama run llama2
Затем измените конфигурацию роли, чтобы использовать локальную Модель LLM。
{
"1": {
"start_text": "Hello, what can I do for you?",
"prompt": "You are a helpful assistant.",
"llm_type": "ollama",
"llm_config": {
"api_base": "http://host.docker.internal:11434",
"model": "llama2"
}
}
}
api_base должен быть твоим ollama адрес сервера, не забудьте перезагрузить Folo сервер, чтобы изменения вступили в силу.
docker compose restart folotoy
Это так просто, вы можете изменить его на Gemma или другая модель,Очень удобно. я большую часть модели пробовал сам,в настоящий моментgemma:7b
Он самый ароматный, жду Маска Grok-1。
Когда все будет готово, пришло время поработать с вашей игрушкой LLM. Включите переключатель на задней стороне игрушки, чтобы включить ее, а синие мигающие индикаторы в ушах означают, что игрушка перешла в режим сопряжения.
Включите телефон или компьютер и выберите беспроводную сеть «FoloToy-xxxx». Через некоторое время ваш телефон или компьютер автоматически откроет страницу конфигурации, где вы сможете установить WiFi Сеть (SSID и пароль) и MQTT адрес сервера (нравиться 192.168.x.x) и номер порта (оставьте значение по умолчанию 1883)。
После завершения конфигурации и подключения к серверу,Нажмите большую круглую кнопку посередине, чтобы начать разговор. после того, как ты перестанешь говорить,FoloToy Прозвучит звуковой сигнал, оповещающий об окончании записи.
7 маленьких круглых кнопок вокруг него — это кнопки переключения персонажей. После щелчка переключение ролей вступает в силу немедленно.
Будь то сервер или игрушка,Вы можете столкнуться с некоторыми техническими проблемами. В этом разделе представлены некоторые основные советы по отладке инструмента.,Поможем диагностировать и решить возможные проблемы,Убедитесь, что вы LLM Игрушка работает плавно.
Чтобы просмотреть журнал сервера, выполните следующую команду.
docker compose logs -f
существовать docker-compose.yml
Можно установить в файле LOG_LEVEL для контроля уровня журнала.
Folo Toy предоставляет простой метод отладки на основе последовательного порта USB. Вы можете использовать веб-инструмент Folo Toy для отладки игрушки.
Также на игрушке имеется светодиодная подсветка, которая показывает состояние игрушки разными цветами.
Открыть EMQX Dashboard исследовать MQTT сообщения и статус подключения устройства и т. д. Имя пользователя по умолчанию админ, пароль public。в любом случае,существовать После входа в систему измените свой пароль наодин Безопасностьизпароль。
В Folo Toy также есть множество продвинутых способов игры. Вот краткое введение, которое может вдохновить других. Эта часть подходит для пользователей с определенной технической базой. Если вы новичок, можете сначала ее пропустить.
Cloudflare из AI Шлюз позволяет получить доступ к AI Следует использоватьиз видимости и контроля. Подключив ваше устройство к AI шлюз, вы можете понять, как люди используют ваше изложение, анализируя и собирая журналы, а затем получая прибыль и спользовать кеширование, ограничение скорости, повтор запроса, откат модели и другие функции для управления размером приложения. Сначала вам нужно создать один новый из AI шлюз.
затем отредактируйте docker-compose.yml
файл, будет OPENAI_OPENAI_API_BASE Изменение для вас из AI Адрес шлюза, например:
services:
folotoy:
environment: OPENAI_OPENAI_API_BASE=https://gateway.ai.cloudflare.com/v1/${ACCOUNT_TAG}/${GATEWAY}/openai
Тогда у вас будет одна панель управления,Посмотреть про запросы, жетон, кэш, Ошибка и стоимость и индикатор.
Изменив роль Конфигурация в файле из voice_name
Поля, в которых вы можете настроить роль голоса.
Edge TTS предлагает множество вариантов, например этот:
{
"1": {
"tts_type": "edge-tts",
"tts_config": {
"voice_name": "zh-CN-shaanxi-XiaoniNeural"
}
}
}
Таким образом, ваш персонаж сможет говорить на диалекте Шэньси.
Есть кое-что повеселее,Синтез голоса Alibaba Cloud поддерживает персонализированную настройку голоса,Вы можете тренироваться своим голосом,затем в файле конфигурации персонажа можно использовать свой голос. Таким образом, вы сами сможете рассказывать детям истории.,Разве это не интересно?
После завершения звуковой тренировки вы получите звуковой звонок ID, поставь это ID Поместите его в файл конфигурации персонажа. voice_id
Просто поля.
{
"1": {
"tts_type": "aliyun-tts",
"tts_config": {
"voice_id": "voice-xxxxxxx"
}
}
}
Для настройки более высокого уровня, например поддержки базы знаний. Рекомендуется использоватьиспользовать Dify, который включает в себя Backend as Service и LLMOps концепции, охватывающей строительство генеративных AI Нативное приложение использует необходимый стек основных технологий, включая один встроенный RAG двигатель. использовать Dify, вы можете самостоятельно развернуться на основе любой модели, например Assistants API и GPTs способности. Давайте сосредоточимся на встроенных RAG Механизм основан на формуле поиска и генерации Модель, которую можно использовать для таких задач, как вопросы и ответы, диалог и обобщение документов. Диди Включает различные встраивания на основе полнотекстовых индексов или векторных баз данных. RAG Возможность разрешить прямую загрузку PDF、TXT и другие текстовые форматы. Загрузите свою базу знаний, и вам не придется беспокоиться о том, что игрушки будут грязными, потому что они не знают базовых знаний.
dify Вы можете развернуть его самостоятельно или использовать напрямую. cloud Версия。существоватьFolo начальствоиз Конфигурациятоже очень просто:
{
"1": {
"llm_type": "dify",
"llm_config": {
"api_base": "http://192.168.52.164/v1",
"key": "app-AAAAAAAAAAAAAAAAAAa"
}
}
}
По принципу работы любую игрушку можно модифицировать. Фоло Toy Также предусмотрен осьминог. AI комплект разработки,Он может превратить любую обычную игрушку в умную игрушку для разговора. Этот чип маленький и легкий.,Легко помещается в любую игрушку.,Будь то плюшевые игрушки или пластиковые игрушки.,Или деревянная игрушка,Легко адаптируется.
я сделал кактус на диалекте Шэньси своими руками. Используйте свое воображение,Вы можете положить его в свои любимые игрушки,Начать работу не так уж и сложно:
Сервер все еще используется один раз.,Вы можете назначать разные роли разным игрушкам через sn,Я не буду подробно останавливаться на этом здесь.,Вы можете проверить официальный сайт в документе «Конфигурация».
пожалуйста, обрати внимание,Никогда не публикуйте ключ на общедоступной платформе, такой как GitHub.,В противном случае ключ может быть использован неправильно. Если ваш ключ скомпрометирован,Пожалуйста, немедленно удалите и заново создайте новые ключи на существующей платформе.
Вы также можете существовать docker-compose.yml
посланникиспользоватьпеременные среды,И существование передается при запуске контейнера,Чтобы избежать раскрытия ключей в существующем коде.
services:
folotoy:
environment:
- OPENAI_OPENAI_KEY=${OPENAI_OPENAI_KEY}
OPENAI_OPENAI_KEY=sk-...i7TL docker compose up -d
если ты хочешь сделать FoloToy серверсуществовать общедоступен в Интернете, и его настоятельно рекомендуется улучшить. EMQX Служба безопасности и разрешает доступ только через пароль. EMQX。
DIY В ходе процесса возникали различные проблемы. FoloToy Я также связался с командой. Их техническая поддержка была очень хорошей, и они помогли решить многие проблемы. Если вам нужна эта игрушка, вы можете поискать ее прямо на Taobao. FoloToy(AI Intelligent Toys), товары действительно хорошие, вот на них дружеская акция.
Купить Folo Toy Товары, существующие, предоставляют промокод яиз при обращении в службу поддержки клиентов. F-001-2,Вы можете воспользоваться скидкой。Купить Fofo G6 Вся машина может сэкономить 20 Юань,Купить Octopus Dev Suit может спасти 15 Юаней, большинство других продуктов также могут получить скидку 10 юаней, пожалуйста, свяжитесь со службой поддержки клиентов для получения подробной информации.
ссылка:
[1]: https://www.bilibili.com/video/BV1kC4y157od/
[2]:https://docs.folotoy.com/zh/docs/configuration/roles_config/