Welcome to my personal place for love, peace and happiness❣️

AI да Зайка 🐰 – Trino 474

Тестируем AI функции в Trino 474

Дока тут: https://trino.io/docs/current/functions/ai.html

Заводим конектор llm.properties

connector.name=ai
ai.provider=openai
ai.model=gpt-4o-mini
ai.openai.api-key=sk-XXXXXXa
ai.openai.endpoint= https://api.XXXXX/openai

немного конфига config.properties

sql.path=llm.ai

Пробуем:

SELECT ai_analyze_sentiment('Ai да заяц какой умный как утка только отруби не есть'); -- mixed
SELECT ai_analyze_sentiment('Ai да заяц какой умный'); -- positive

SELECT ai_classify('Buy fucking deep! and bitcoin', ARRAY['spam', 'not spam']); -- spam
-- spam

SELECT ai_classify('много денег', ARRAY['Хорошо', 'Плохо']); -- Хорошо

SELECT ai_classify('мало денег', ARRAY['Хорошо', 'Плохо']); -- Плохо

SELECT ai_fix_grammar('Пошёл я, значица, на рынок, там нашол один такой магазинчег, где продают всякие запчасти. Думал, прикуплю видюху крутую, чтобы всё летало. Смотрю - лежыт такая, блестит, вся из себя навороченая. Спрашиваю продавца: "Скока стоит эта красота?" А он мне такой цену заломил, у меня глаза на лоб полезли.');
-- Пошёл я, значит, на рынок, там нашёл один такой магазинчик, где продают всякие запчасти. Думал, прикуплю крутую видеокарту, чтобы всё летало. Смотрю - лежит такая, блестит, вся из себя навороченная. Спрашиваю продавца: "Сколько стоит эта красота?" А он мне такую цену назвал, что у меня глаза на лоб полезли.

SELECT ai_gen('Опиши что такое Москва коротко'); 
-- Москва — столица и крупнейший город России, расположенный в центральной части страны. Это политический, экономический и культурный центр, известный своими историческими памятниками, такими как Кремль и Красная площадь, а также современными skyscrapers. Город обладает развитой инфраструктурой, включая транспортную сеть, образовательные учреждения и театры. Москва также является одним из крупнейших мегаполисов мира с разнообразной культурой и многонациональным населением.

SELECT ai_mask(
    'Позвони мне быстро 987 554 32 11 или приходи ул. ленина 43 кв. 32,  скажи, что от Гаврилова Юры',
    ARRAY['телефон', 'Адрес',  'Имя']);
-- Позвони мне быстро [MASKED] или приходи [MASKED], скажи, что от [MASKED]

SELECT ai_translate('Буря мглою небо кроет,
Вихри снежные крутя;
То, как зверь, она завоет,
То заплачет, как дитя,
То по кровле обветшалой
Вдруг соломой зашумит,
То, как путник запоздалый,
К нам в окошко застучит.', 'en');

/*
The storm covers the sky with gloom,  
Whirling snowstorms twist and turn;  
Now, like a beast, it howls,  
Now it cries like a child,  
Now on the dilapidated roof  
Suddenly rustles with straw,  
Now, like a late traveler,  
It knocks at our window.
*/


SELECT name, address,comment, ai_classify(comment, ARRAY['Хорошо', 'Плохо', 'Можно помочь']), ai_translate(comment, 'ru') FROM tpch.sf1000.customer limit 10;

Customer#037500001	rLbDxR0mC,PwQ5QkxWCfXCC	tes; slyly regular pearls cajole quickl	Плохо	лжем; хитро обычные жемчужины уговаривают быстро
Customer#037500002	0bZ7K57TnmFs9goL41xTB64xBTLuXPtGPN	unusual, ironic pinto beans haggle across the regular req	Плохо	необычные, ироничные пинто фасоль торгуются по обычному запросу
Customer#037500003	5QliQMqzyz	ietly. deposits nag sometimes according to the even deposits. f	Плохо	тихо. депозиты иногда зависят от равномерных депозитов. f
Customer#037500004	FMm4JPC9UUSTOdfsfn	ect; slyly even packages haggle. pending inst	Плохо	ждут; хитро даже пакеты торгуются. в ожидании инст
Customer#037500005	a CUUBM75af0IX66Jm	unts are bold, unusual packages. fluffily unusual foxes nag furiously even deposits	Плохо	Унцы — это смелые, необычные пакеты. Пухово-необычные лисы яростно требуют даже депозиты.
Customer#037500006	VoXTOweLVJuiKe7xcn K69l7RoN61,	ar pinto beans haggle blithely. 	Можно помочь	Фасоль "пинто" торгуются беззаботно.
Customer#037500007	fUoQ2Fkssi94OhGGE1UetR w	ages hang blithely among the slyly ruthless accounts. carefully pen	Плохо	возрасты беззаботно свисают среди хитро безжалостных счетов. осторожно пишите
Customer#037500008	xogtDxejUq	 slyly special dependencies use quickly throughout the blithely stealthy accounts. depend	Можно помочь	Лукавые специальные зависимости используются быстро на протяжении безмятежных скрытных отчетов. зависеть
Customer#037500009	ou,BZuF,BMMeEoSUgyODRQZFQJyIsFQMSWp	en requests maintain. carefully ironic requests sleep carefull	Плохо	запросы поддерживают. осторожно ироничные запросы спят осторожно
Customer#037500010	lcP8JaVg2dz	y final packages. accounts along the quietly ironic ideas nag carefully idly express requests. requests detect 	Плохо	Итоговые пакеты. учетные записи вдоль тихо ироничных идей настойчиво и бездумно выражают запросы. запросы обнаруживают

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

а каталог iceberg я добавил так в итоге

connector.name=iceberg
fs.native-s3.enabled=true
s3.endpoint=https://gateway.storjshare.io
s3.region=us1
hive.metastore.uri=thrift://metastore:9083
hive.metastore.username=trino
hive.metastore.thrift.client.connect-timeout=1m
s3.path-style-access=true
s3.aws-access-key=XXXXX
s3.aws-secret-key=CCCCCCCCC
s3.socket-read-timeout=1m

iceberg.file-format=PARQUET
iceberg.compression-codec=SNAPPY
iceberg.target-max-file-size=128MB

но еще заметил эту багу https://github.com/trinodb/trino/issues/25427

Follow this blog
Send
Share
Pin
6 d   AI   LLM   Trino