Telegram Group & Telegram Channel
Pavel Zloi
Всем привет! Подумываю запустить сегодня стрим на Твиче, на стриме хочу: 1. Пощупать "copilot дома" под названием Tabby, если кратко, то этот проект представляет из себя эдакое API по типу Copiot или GigaCode, но работающее на железе, а не в облаке. В планах…
Вот мой per summarum по итогу вчерашнего стрима.

1. Tabby - copilot дома

Pros

Данный проект действительно позволяет отказаться от GitHub Copilot или GigaCode, он действительно работает на моём железе, проект использует веса моделей конвертированные в GGUF квантованные до q4_0, которые запускаются через llama.cpp в режиме сервера.

Плагин установленний в IDE отсылает серверу Tabby запрос пользователя, сервер оборачивает его в специальный промт, а затем делает запрос на coding-модель, после чего отдаёт ответ модели пользователю в режиме подсказки IDE, внешне работает всё идентично аналогам.

Ещё проект Tabby может работать в режиме чат-бота (в IDE появляется специальная вкладка), к сожалению чат не может давать ответы по текущему проекту или открытому файлу, это просто общение с моделью общего назначения, интегрированное в IDE.

Помимо этого на стороне сервера можно подключить внешние Git репозитории, скажем с GitHub или локальный Git реп, сервер при помощи сплиттера как-то нарежет код на чанки (вероятно используя что-то типа CodeSplitter из llamaindex или свою реализацию), после чего передаст на вход эмбеддинговой модели (тоже конветированной в GGUF) и сохранит результат в векторную базу, вероятно это либо ChromaDB либо FAISS, или аналог на sqlite.

Эмбеддинги используются в формате RAG (Retrieval Augmented Generation) и благодаря им Tabby будет давать чуть более релевантные рекомендации с учётом уже написанного кода.

Ещё полагаю указанная RAG система будет давать более релевантные ответы в режиме чат-бота, но этот момент я уже не проверял.

Cons

Не смотря на то что там задействована llama.cpp количество моделей сильно ограничено, связанно полагаю это с тем, что для их корректной работы нужно подбирать правильный формат промта, что вероятно в рамках Tabby задача нетривиальная.

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

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

Информация о том, как подключить ollama API в документации Tabby пусть и есть, но она неактуальна в режиме Docker-сервера, пришлось методом научного тыка установить куда класть конфигурацию (спойлер это было ./tabby_data/config.toml). И даже после того как мне удалось подключить ollama толку от этого было мало, система так и не захотела делать запросы по API, вероятно это связанно с хитрыми промтами или чем-то ещё.

Conclusio

Проект Tabby оказался крайне любопытной игрушкой, в принципе думаю, что при желании его можно будет форкнуть и переделать под себя, но учитывая коммерческие вставки, которые у проекта уже есть, мне кажется, что в будущем он станет проприетарным и пойдёт по пути проекта Symless Synergy, поэтому лично я бы не стал сильно завязываться на нём.
👍81



group-telegram.com/evilfreelancer/1108
Create:
Last Update:

Вот мой per summarum по итогу вчерашнего стрима.

1. Tabby - copilot дома

Pros

Данный проект действительно позволяет отказаться от GitHub Copilot или GigaCode, он действительно работает на моём железе, проект использует веса моделей конвертированные в GGUF квантованные до q4_0, которые запускаются через llama.cpp в режиме сервера.

Плагин установленний в IDE отсылает серверу Tabby запрос пользователя, сервер оборачивает его в специальный промт, а затем делает запрос на coding-модель, после чего отдаёт ответ модели пользователю в режиме подсказки IDE, внешне работает всё идентично аналогам.

Ещё проект Tabby может работать в режиме чат-бота (в IDE появляется специальная вкладка), к сожалению чат не может давать ответы по текущему проекту или открытому файлу, это просто общение с моделью общего назначения, интегрированное в IDE.

Помимо этого на стороне сервера можно подключить внешние Git репозитории, скажем с GitHub или локальный Git реп, сервер при помощи сплиттера как-то нарежет код на чанки (вероятно используя что-то типа CodeSplitter из llamaindex или свою реализацию), после чего передаст на вход эмбеддинговой модели (тоже конветированной в GGUF) и сохранит результат в векторную базу, вероятно это либо ChromaDB либо FAISS, или аналог на sqlite.

Эмбеддинги используются в формате RAG (Retrieval Augmented Generation) и благодаря им Tabby будет давать чуть более релевантные рекомендации с учётом уже написанного кода.

Ещё полагаю указанная RAG система будет давать более релевантные ответы в режиме чат-бота, но этот момент я уже не проверял.

Cons

Не смотря на то что там задействована llama.cpp количество моделей сильно ограничено, связанно полагаю это с тем, что для их корректной работы нужно подбирать правильный формат промта, что вероятно в рамках Tabby задача нетривиальная.

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

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

Информация о том, как подключить ollama API в документации Tabby пусть и есть, но она неактуальна в режиме Docker-сервера, пришлось методом научного тыка установить куда класть конфигурацию (спойлер это было ./tabby_data/config.toml). И даже после того как мне удалось подключить ollama толку от этого было мало, система так и не захотела делать запросы по API, вероятно это связанно с хитрыми промтами или чем-то ещё.

Conclusio

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

BY Pavel Zloi




Share with your friend now:
group-telegram.com/evilfreelancer/1108

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"He has to start being more proactive and to find a real solution to this situation, not stay in standby without interfering. It's a very irresponsible position from the owner of Telegram," she said. Telegram has become more interventionist over time, and has steadily increased its efforts to shut down these accounts. But this has also meant that the company has also engaged with lawmakers more generally, although it maintains that it doesn’t do so willingly. For instance, in September 2021, Telegram reportedly blocked a chat bot in support of (Putin critic) Alexei Navalny during Russia’s most recent parliamentary elections. Pavel Durov was quoted at the time saying that the company was obliged to follow a “legitimate” law of the land. He added that as Apple and Google both follow the law, to violate it would give both platforms a reason to boot the messenger from its stores. The War on Fakes channel has repeatedly attempted to push conspiracies that footage from Ukraine is somehow being falsified. One post on the channel from February 24 claimed without evidence that a widely viewed photo of a Ukrainian woman injured in an airstrike in the city of Chuhuiv was doctored and that the woman was seen in a different photo days later without injuries. The post, which has over 600,000 views, also baselessly claimed that the woman's blood was actually makeup or grape juice. At this point, however, Durov had already been working on Telegram with his brother, and further planned a mobile-first social network with an explicit focus on anti-censorship. Later in April, he told TechCrunch that he had left Russia and had “no plans to go back,” saying that the nation was currently “incompatible with internet business at the moment.” He added later that he was looking for a country that matched his libertarian ideals to base his next startup. On Feb. 27, however, he admitted from his Russian-language account that "Telegram channels are increasingly becoming a source of unverified information related to Ukrainian events."
from us


Telegram Pavel Zloi
FROM American