Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
from timeit import timeit
def t1():
# складываем 10 строк через + из переменной
t = 'text'
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t2():
# склеиваем список строк через метод join
arr = ['text'] * 10
for _ in range(1000):
s = ''.join(arr)
def t3():
# складываем через + но не из переменной а непосредственно инлайн объекты
for _ in range(1000):
s = 'text' + 'text' + 'text' + ... # всего 10 раз
Теперь каждую строку склейки запустим по 10М раз
>>> timeit(t1, number=10000)
0.21951690399964718
>>> timeit(t2, number=10000)
1.4978306379998685
>>> timeit(t3, number=10000)
0.2213820789993406
Хм, а нам говорили что через "+" это плохо и медленно ))) 😁
Тут стоит учитывать, что речь идёт о склейке множества длинных строк.
Давайте изменим условия:
def t4():
t = 'text'*100
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t5():
arr = ['text'*100] * 10
for _ in range(1000):
s = ''.join(arr)
def t6():
for _ in range(1000):
s = 'text'*100 + 'text'*100 + ... # всего 10 раз
>>> timeit(t4, number=10000)
12.795130728000004
>>> timeit(t5, number=10000)
2.642637542999182
>>> timeit(t6, number=10000)
0.2184546610005782
Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее!
Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё.
В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический.
В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно.
Полный листинг 🌍
#tricks
👀 Члены объединения News Media Alliance, в которое входят почти 2000 газет и новостных ресурсов США и Канады, возмутились использованием их контента компаниями OpenAI и Google для обучения чат-ботов.
По словам авторов доклада, разработчики не заключают лицензионных соглашений с издателями и не оплачивают использование контента. При этом алгоритмы чат-ботов настроены таким образом, что они в большей степени доверяют информации из авторитетных изданий.
#ChatGPT#Bard
🎞https://www.youtube.com/watch?v=lr87yrvK86w
🧃#Bard чат от #Google мощно обновился в погоне за chatGPT. Вышли новые расширения, которые интегрируют AI с вашей почтой, файлами, фото и еще разными сервисами гугла.
Теперь можно задавать вопросы к своей почте, типа “что там босс присылал по работе, можешь ему ответить за меня” и все в таком духе)
+ самаризировать почту, чаты, гугл документы и тд.
Пс. Уже начинаешь не успевать прыгать с одной LLM на другую тестируя новые фичи)
#Bard также умеет работать с картинками и понимает, что на них изображено.
Google активно борется с ложной информацией, которую часто галлюционирует AI в связи с его особенностью по предсказанию токенов. Теперь можно под ответом модели кликнуть на иконку гугла, и поисковик проверит все утверждения в тексте от ИИ и найдет на них публичные пруфы + ссылки в интернете.
Bard у нас тут лежит 👉https://bard.google.com/ (сверху справа в углу нажмите на иконку пазла, чтобы включить расширения)
#softSkills#AI#ChatGPT#Bard
🤖
Bachelors of Bard AI, ChatGPT, AI Tools Course for 2023
AI Fundamentals: Begin with a solid foundation in AI, understanding its core principles and operational mechanisms.
Chat GPT Mastery: Dive into the realm of Chat GPT, creating chatbots that can engage users seamlessly across platforms.
AI Tools Exploration: Unlock the potential of AI tools for various applications, from data analysis to content generation.
Text to Image AI: Learn the art of converting text into stunning visual content, enhancing your storytelling capabilities.
Video AI Proficiency: Master the art of Video AI, automating video creation and storytelling for diverse purposes.
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----