|
|||||||
Локальные GPT нейронный сети — устанавливаем на домашнем ПК, запускаем и проверяем на адекватность аналоги ChatGPT
Время создания: 11.06.2024 13:00
Автор: MarselMM
Текстовые метки: нейросеть, LLM, локально, текст, чат, ChatGPT, установка, настройка, диалог, диалоговая, модель
Раздел: Компьютер - Программирование - Нейронные сети
Запись: xintrea/mytetra_syncro/master/base/1718100034z38jlzf7lt/text.html на raw.github.com
|
|||||||
|
|||||||
Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, установив их на локальный компьютер, и понять, действительно ли они так хороши. Характеристики моего домашнего компьютера, на котором я задавал вопросы GPT нейросетям:
Видеокарту я не использовал, так как в ней мало видеопамяти, и большие нейронные сети в неё не влезут, а постоянно перекидывать данные через узкую PCI-e 3.0 шину не самое быстрое удовольствие. Задавал я два вопроса на английском языке для чистоты эксперимента:
Как установить и настроить локальную GPT нейросеть Использовал я уже подготовленный файл GGUF модели нейросети и программу Koboldcpp_nocuda (расчеты производятся только на процессоре). Вы можете использовать Koboldcpp с поддержкой видеокарты NVidia. Или Koboldcpp_rocm , если у вас видеокарта AMD. Это всё "exe" файлы, так как я тестировал в ОС Windows и программа не требует установки.
Интерфейс программы Koboldcpp (обратите внимание на графу Context Size - вы можете увеличить размер контекста) После загрузки модели в программе, если у вас хватило оперативной памяти откроется окно в браузере, куда вы можете писать вопросы. Рекомендую начинать новую сессию каждый раз, когда вы запускаете программу.
Будьте терпеливы, нейросеть загрузит ваш процессор на 100 % В настройках в графе "Amount to Gen" вы можете увеличить значение до 512 - это количество токенов в ответе (чем больше, тем более длинный ответ). Либо набить от руки - я вбил 8192 (= 1024*8). Максимальный её ответ будет ограничен 8192 токенами. Однако как правило она пишет ответ с гораздо меньшими токенами (по усмотрению нейронной сети). Графа Max Ctx. Tokens - это максимальный размер входного контекста. Смотрите на характеристики каждой GGUF модели - на каком размере контекста она обучалась. Например у DeepSeek контекст равен 16 Кб (это значение я и вписал). Можете ограничиться меньшими значениями. Но при этом максимальное количество токенов ответа должно быть меньше максимального количества токенов у входного контекста. Также при инициализации (там где вы указывали количество потоков процессора и путь к модели) есть графа Context Size - увеличьте его до числа в графе Max Ctx. Tokens (чтобы они были равны). Настраиваем количество токенов в ответе и во входном контексте. Подготовленные GGUF модели скачиваем отсюда: https://huggingface.co/ . Введите в поиске необходимую модель. При нажатии на ссылку выведет все результаты по поисковому запросу Также есть интересный рейтинг оценки эффективности LLM нейросетей на этом сайте, но мы предпочтем сами протестировать самые интересные нейронные сети.
Рейтинг LLM нейросетей Также, если выбрать интересующую нейросеть, то можно посмотреть сколько оперативной памяти будет занимать GGUF модель с разной степенью квантования (Q8 лучше всего, но она занимает больше всего места, самая оптимальная Q5_K_M модель). Нейросети с 70 млрд параметров занимают большего всего места в оперативной памяти, например с квантованием Q8_0 требует 71,65 Гб на жестком диске и займет 74,15 Гб оперативной памяти при работе. GGUF модель с квантованием Q2_K имеет самую большую потерю точности ответа по сравнению с начальной F16. Столбец "+ppl %" показывает потерю точности по сравнению с оригинальной f16 OpenChat 3.5 - 7B параметровЭта модель, по заявлению разработчиков, превосходит модели с 70B параметров имея всего лишь 7B параметровДавайте проверим данное заявление. 1. Вопрос: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? Ответ: No, it is not possible to connect two Nvidia 3080 graphics cards using NVLink. The Nvidia GeForce RTX 3080 does not support NVLink technology, so you cannot connect multiple 3080 GPUs together using this method. Instead, you would need to use other methods such as SLI or PCIe x16 slots to connect two or more Nvidia 3080 graphics cards. However, please note that multi-GPU setups are not commonly used with modern gaming PCs due to the limited benefits they provide over a single high-end GPU like the Nvidia GeForce RTX 3080. For the Nvidia GeForce RTX 3080, there are no available options to connect multiple GPUs using NVLink. You can only use a single Nvidia GeForce RTX 3080 graphics card in your system at a time. This is because the RTX 3080 has only one PCIe 16x slot and does not have an additional NVLink connector. Therefore, if you want to add another GPU to your system, you will need to use a different connection method such as PCIe x16 slots or SLI bridges. However, please keep in mind that using multiple GPUs in a gaming PC setup may not always result in better performance compared to a single high-end GPU like the Nvidia GeForce RTX 3080. It's important to note that while NVLink technology was once a popular feature for connecting multiple high-end GPUs together in a system, it is no longer widely supported by most manufacturers. In recent years, many GPU manufacturers have shifted towards focusing on single-GPU solutions rather than multi-GPU setups due to improvements in individual GPU performance and the challenges associated with maintaining compatibility between multiple GPUs. As a result, NVLink has become less relevant in today's gaming PC market. In summary, the Nvidia GeForce RTX 3080 does not support NVLink technology, so it cannot be connected to other GPUs using this method. Instead, you should explore alternative methods such as SLI or PCIe x16 slots to connect two or more Nvidia 3080 GPUs together. Перевод: Нет, невозможно соединить две видеокарты Nvidia 3080 с помощью NVLink. Nvidia GeForce RTX 3080 не поддерживает технологию NVLink, поэтому вы не можете соединить несколько графических процессоров 3080 вместе, используя этот метод. Вместо этого вам придется использовать другие методы, такие как слоты SLI или PCIe x16, для подключения двух или более видеокарт Nvidia 3080. Однако обратите внимание, что конфигурации с несколькими графическими процессорами обычно не используются с современными игровыми ПК из-за ограниченных преимуществ, которые они предоставляют по сравнению с одним высокопроизводительным графическим процессором, таким как Nvidia GeForce RTX 3080. Для Nvidia GeForce RTX 3080 нет доступных вариантов подключения нескольких графических процессоров с помощью NVLink. В вашей системе одновременно можно использовать только одну видеокарту Nvidia GeForce RTX 3080. Это связано с тем, что RTX 3080 имеет только один слот PCIe 16x и не имеет дополнительного разъема NVLink. Поэтому, если вы хотите добавить в свою систему еще один графический процессор, вам нужно будет использовать другой метод подключения, например слоты PCIe x16 или мосты SLI. Однако имейте в виду, что использование нескольких графических процессоров в настройке игрового ПК не всегда может привести к повышению производительности по сравнению с одним высокопроизводительным графическим процессором, таким как Nvidia GeForce RTX 3080. Важно отметить, что, хотя технология NVLink когда-то была популярной функцией для соединения нескольких высокопроизводительных графических процессоров в системе, она больше не поддерживается большинством производителей. В последние годы многие производители графических процессоров переключились на решения с одним графическим процессором, а не на конфигурации с несколькими графическими процессорами из-за улучшения производительности отдельных графических процессоров и проблем, связанных с поддержанием совместимости между несколькими графическими процессорами. В результате NVLink стал менее актуальным на современном рынке игровых ПК. Таким образом, Nvidia GeForce RTX 3080 не поддерживает технологию NVLink, поэтому ее нельзя подключить к другим графическим процессорам этим методом. Вместо этого вам следует изучить альтернативные методы, такие как слоты SLI или PCIe x16, для соединения двух или более графических процессоров Nvidia 3080 вместе. 2. Вопрос: Write a program to recognize human speech and then write the result to a text file. Ответ: To create a program that recognizes human speech and writes the result to a text file, we can use natural language processing techniques and Python programming language. Here is an example code using the speech_recognition library: import speech_recognition as sr # Initialize the recognizer r = sr.Recognizer() # Set the audio source with sr.Microphone() as source: print("Listening...") audio = r.listen(source) # Recognize the speech try: text = r.recognize_google(audio) print(f"You said: {text}")
except Exception as e: print("Sorry could not recognize your voice") text = "" # Write the result to a text file with open('result.txt', 'w') as f: f.write(text) print("Done!") This code uses the speech_recognition library in Python to recognize speech from the user's microphone input and convert it into text. The recognize_google function is used to perform the speech recognition using Google's speech recognition API. The recognized text is then written to a text file named "result.txt". Please note that this code assumes you have already installed the speech_recognition library using pip (pip install SpeechRecognition) and set up a Google Cloud Platform account to access the speech-to-text API. Please run this program on a system with a microphone connected to it. After running the program, it will listen for your voice input, transcribe what you say, and write the result to a text file called "result.txt". Keep in mind that speech recognition accuracy can vary depending on factors such as background noise, accent, and speaking speed. If the speech recognition fails to recognize your voice, an error message will be displayed instead of writing anything to the text file. In conclusion, we have created a simple program that recognizes human speech and writes the result to a text file using the Python programming language and the speech_recognition library. This program can be further improved by incorporating additional features like noise reduction or error handling to enhance its functionality. В первом вопросе она ответила правильно, но что за "Вместо этого вам придется использовать другие методы, такие как слоты SLI или PCIe x16, для подключения двух или более видеокарт Nvidia 3080". Это говорит о том, что она не понимает, что SLI это и есть NVLink. Время генерации одного токена составило 253 миллисекунды, оперативной памяти использовалось 7,3 Гб. Модель использовалась "openchat_3.5.Q8_0.gguf" Deepseek LLM Chat - 7B параметров Представляем DeepSeek LLM, расширенную языковую модель, содержащую 67 миллиардов параметров. Он был обучен с нуля на огромном наборе данных из 2 триллионов токенов на английском и китайском языках. Чтобы стимулировать исследования, мы сделали базу DeepSeek LLM 7B/67B и чат DeepSeek LLM 7B/67B открытыми для исследовательского сообщества. Зададим ей стандартные вопросы. 1. Вопрос: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? Ответ: Yes, it is possible to connect two Nvidia GeForce RTX 3080 graphics cards using NVLink. To do this, you will need an NVLink-equipped GPU and a corresponding PCI Express (PCIe) slot on your motherboard that supports the necessary bandwidth for NVLink connections. Once connected via NVLink, these GPUs can operate as one system with shared memory resources and higher performance capabilities compared to conventional dual-GPU configurations without NVLink support. This setup also allows for more advanced multi-GPU technologies such as NVIDIA SLI or Resizable BAR to be utilized effectively by both GPUs in tandem. Перевод: Да, можно подключить две видеокарты Nvidia GeForce RTX 3080 с помощью NVLink. Для этого вам понадобится графический процессор с поддержкой NVLink и соответствующий слот PCI Express (PCIe) на материнской плате, который поддерживает необходимую пропускную способность для соединений NVLink. После подключения через NVLink эти графические процессоры могут работать как одна система с общими ресурсами памяти и более высокой производительностью по сравнению с обычными конфигурациями с двумя графическими процессорами без поддержки NVLink. Эта настройка также позволяет эффективно использовать более продвинутые технологии нескольких графических процессоров, такие как NVIDIA SLI или Resizable BAR, обоими графическими процессорами в тандеме. 2. Вопрос: Write a program to recognize human speech and then write the result to a text file. Ответ: import required libraries from gtts import gTTS import os def record_and_save(filename): # take audio input from microphone rec = sr.Recognizer() with sr.Microphone() as source: print("Say something!") audio = rec.record(source, duration=5) # convert audio to text text = rec.recognize_google(audio) # save the recognized text to a .txt file txtout = open('recognized_text_' + filename + ".txt", "w") txtout.write(text) txtout.close() По первому вопросу она полностью провалилась. Время генерации одного токена составило 236 миллисекунд, оперативной памяти использовалось 7 Гб. Модель использовалась "deepseek-llm-7b-chat.Q8_0.gguf" Deepseek LLM Chat - 67B параметровБольшая LLM модель, с помощью которой мы посмотрим, есть ли разница в ответах, если использовать ту же нейронную сеть, но с большим количеством параметров. 1. Вопрос: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? Ответ: No, it is not possible to connect two Nvidia GeForce RTX 3080 graphics cards using NVLink. The Nvidia GeForce RTX 3080 does not have built-in support for NVLink technology. NVLink is typically found on professional GPUs such as the Quadro series or high-end data center GPUs like those under the Tesla brand, where GPU communication between multiple devices is essential for parallel computing tasks. However, you can use SLI (Scalable Link Interface) technology to link two Nvidia GeForce RTX 3080 graphics cards if they meet the requirements and your motherboard supports it, but this option may offer limited benefits compared to single-card performance in many games and applications due to diminishing returns and potential compatibility issues. Перевод: Нет, невозможно соединить две видеокарты Nvidia GeForce RTX 3080 с помощью NVLink. Nvidia GeForce RTX 3080 не имеет встроенной поддержки технологии NVLink. NVLink обычно встречается на профессиональных графических процессорах, таких как серия Quadro, или на высокопроизводительных графических процессорах для центров обработки данных, таких как те, что под брендом Tesla, где связь графического процессора между несколькими устройствами необходима для задач параллельных вычислений. Однако вы можете использовать технологию SLI (Scalable Link Interface) для соединения двух видеокарт Nvidia GeForce RTX 3080, если они соответствуют требованиям и ваша материнская плата поддерживает ее, но этот вариант может предложить ограниченные преимущества по сравнению с производительностью одной карты во многих играх и приложениях. из-за уменьшения отдачи и потенциальных проблем совместимости. 2. Вопрос: Write a program to recognize human speech and then write the result to a text file. Ответ: To achieve this task, we'll use Python with two libraries - SpeechRecognition for recognizing speech, and Pyttsx3 for converting text to speech. Here is an example code snippet: import speech_recognition as sr from gtts import gTTS import os def speak(text): tts = gTTS(text=text, lang='en') tts.save("output.mp3") os.system("mpg321 output.mp3")
r = sr.Recognizer() with sr.Microphone() as source: print("Speak Anything :") audio = r.listen(source)
try: text = r.recognize_google(audio) except Exception as e: text = "Could not understand audio" print("You said : {}".format(text)) speak(text) f = open('speech_result.txt', 'w') f.write(text) f.close() This script will listen to your voice via microphone and try to convert it into written text using Google Cloud Recognition API. The recognized text will be printed on console, spoken back through your speakers, and also saved in speech_result.txt file. If some errors occur during recognition process (like too much noise), it will print a message about that and save "Could not understand audio" text instead of the actual input. По первому вопросу ответ был правильный, что гораздо лучше модели на 7 млрд параметров. Однако дополнение "вы можете использовать технологию SLI (Scalable Link Interface) для соединения двух видеокарт Nvidia GeForce RTX 3080, если они соответствуют требованиям" ставит в тупик, так как пояснение неправильно. Время генерации одного токена составило 1400 миллисекунд, оперативной памяти использовалось 45,4 Гб. Модель использовалась "deepseek-llm-67b-chat.Q5_K_M.gguf" SUS Chat - 34B параметровSUS-Chat-34B — это двуязычная китайско-английская диалоговая модель 34B, выпущенная совместно Южным университетом науки и технологий и IDEA-CCNL . Эта модель основана 01-ai/Yi-34Bна миллионах высококачественных многоязычных данных инструкций и была доработана. 5 декабря 2023 г.: SUS-Chat-34B занял 2-е место в таблице лидеров Open LLM и превзошел все модели до 70B. Проверим данное утверждение. 1. Вопрос: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? Ответ: Yes, it is possible to connect two Nvidia 3080 graphics cards using NVLink. The NVLink technology allows for high-speed communication between the two GPUs, which can significantly improve performance in certain applications such as gaming and machine learning. However, this configuration requires a motherboard with an appropriate socket and BIOS settings, as well as compatible drivers and software. Перевод: Да, можно подключить две видеокарты Nvidia 3080 с помощью NVLink. Технология NVLink обеспечивает высокоскоростную связь между двумя графическими процессорами, что может значительно повысить производительность в некоторых приложениях, таких как игры и машинное обучение. Однако для этой конфигурации требуется материнская плата с соответствующим разъемом и настройками BIOS, а также совместимые драйверы и программное обеспечение. 2. Вопрос: Write a program to recognize human speech and then write the result to a text file. Ответ: To accomplish this task, we will need to use a speech recognition library such as Google Cloud Speech-to-Text API or Microsoft Azure Cognitive Services. Here's a sample Python code that demonstrates how to use Google Cloud Speech-to-Text API to convert audio files into text and save them to a text file: import os from google.cloud import speech_v1p1beta1 as speech os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/credentials.json" client = speech.SpeechClient() file_name = input("Enter audio file name: ") audio = {"content": open(file_name, "rb").read()} config = { "encoding": "LINEAR16", "sample_rate_hertz": 16000, "language_code": "en-US" } response = client.recognize(request={ "config": config, "audio": audio }) text = response.results[0].alternatives[0].transcript with open("output.txt", "w") as f: f.write(text) print("Recognized text:", text) This code prompts the user to enter an audio file name, reads the contents of the file using open() function, and then passes it to the recognize() method of the speech client along with the configuration settings such as encoding, sample rate hertz, and language code. The response contains a list of results, each containing one or more alternatives for the recognized transcript. We extract the first alternative from the first result and save it to a text file named "output.txt" using with open("output.txt", "w") syntax. Finally, we print out the recognized text. Note that you need to have installed Google Cloud SDK and authenticated your account before running this code. По первому вопросу нейросеть полностью провалилась. Время генерации одного токена составило 780 миллисекунд, оперативной памяти использовалось 23,2 Гб. Модель использовалась "sus-chat-34b.Q5_K_M.gguf" ChatGPT 3.5 и 4.0А как же ответят два варианта ChatGPT на хитрый вопрос о подключении двух видеокарт Nvidia GeForce RTX 3080 через NVLink. 1. Вопрос для ChatGPT 3.5: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? Ответ: Yes, it is possible to connect two Nvidia 3080 video cards using NVLink. This technology allows for high-speed communication between the two GPUs, which can improve performance in certain applications such as gaming or machine learning. However, not all motherboards support NVLink, so it is important to check compatibility before attempting to connect the cards. Перевод: Да, можно подключить две видеокарты Nvidia 3080 с помощью NVLink. Эта технология обеспечивает высокоскоростную связь между двумя графическими процессорами, что может повысить производительность в некоторых приложениях, таких как игры или машинное обучение. Однако не все материнские платы поддерживают NVLink, поэтому важно проверить совместимость, прежде чем пытаться подключить карты. 1. Вопрос для ChatGPT 4.0: Is it possible to connect two nvidia 3080 video cards using NVLink? Ответ: As of my knowledge cutoff in early 2023, NVIDIA's GeForce RTX 3080 graphics cards do not officially support NVLink or SLI for gaming purposes. NVLink is a high-bandwidth interconnect technology developed by NVIDIA, which is primarily used on their professional GPUs like the Quadro and Tesla series, and was also available on the consumer RTX 20 series (specifically the RTX 2080 and 2080 Ti). The RTX 3080 is part of NVIDIA's 30 series, and this generation has largely moved away from multi-GPU configurations for gaming due to various factors such as game support, driver support, and the diminishing returns in performance scaling. With the RTX 30 series, NVIDIA did not include NVLink connectors on most of their consumer-grade GPUs, including the RTX 3080. For those looking to utilize multiple GPUs for purposes other than gaming, such as certain professional applications, rendering tasks, or compute workloads, NVIDIA's higher-end RTX 3090 did initially come with an NVLink connector, but this feature is not intended for gaming and is not available on the RTX 3080 models. If you are looking to improve gaming performance, it is generally recommended to invest in the most powerful single GPU you can afford rather than attempting to connect multiple GPUs, especially since the RTX 3080 does not support NVLink or SLI. Перевод: По моим сведениям в начале 2023 года видеокарты NVIDIA GeForce RTX 3080 официально не поддерживают NVLink или SLI для игровых целей. NVLink — это технология межсоединений с высокой пропускной способностью, разработанная NVIDIA, которая в основном используется в их профессиональных графических процессорах, таких как серии Quadro и Tesla, а также доступна в потребительских сериях RTX 20 (в частности, RTX 2080 и 2080 Ti). RTX 3080 является частью 30-й серии NVIDIA, и это поколение в значительной степени отошло от конфигураций с несколькими графическими процессорами для игр из-за различных факторов, таких как поддержка игр, поддержка драйверов и уменьшающаяся отдача от масштабирования производительности. В серии RTX 30 компания NVIDIA не включила разъемы NVLink в большинство своих графических процессоров потребительского уровня, включая RTX 3080. Для тех, кто хочет использовать несколько графических процессоров для целей, отличных от игр, например, для определенных профессиональных приложений, задач рендеринга или вычислительных задач, более дорогая видеокарта NVIDIA RTX 3090 изначально оснащена разъемом NVLink, но эта функция не предназначена для игр и не предназначена для игр. недоступно на моделях RTX 3080. Если вы хотите повысить производительность в играх, обычно рекомендуется инвестировать в самый мощный одиночный графический процессор, который вы можете себе позволить, а не пытаться подключить несколько графических процессоров, тем более что RTX 3080 не поддерживает NVLink или SLI. Как можно увидеть, ChatGPT 3.5 провалилась в ответе на вопрос. Однако ChatGPT 4.0 показала лучший результат и смогла обосновать свой ответ. ВыводыChatGPT 4.0 лучше всех справилась с задачей, что говорит о том, что нейронные LLM сети с самым большим количеством параметров хорошо умеют рассуждать. Однако, при должном количестве хорошей выборки обучаемого материала, можно достичь интересных результатов в узкоспециализированных задачах, используя модели с 70B параметрами, которые можно запустить на локальном компьютере, используя 64 Гб оперативной памяти и выше. Дополнение №1 (от 14.12.2023 г.): Вышла новая LLM нейросеть Mixtral-8x7B v0.1с, которую советовали в комментариях. Я её скачал и протестировал на своем домашнем компьютере. Использовал версию "mixtral-8x7b-v0.1.Q6_K.gguf". На SSD диске заняло 35,7 Гб места и 36,6 Гб в оперативной памяти при работе нейронной сети. Время генерации одного токена составило 346 миллисекунд, что в 2 раза быстрее SUS Chat 34B и в 4 раза быстрее Deepseek LLM Chat 67B. Об архитектуре нейронной сети можно почитать в этой статье на русском языке . Я задал ей эти вопросы: 1. Вопрос: Is it possible to connect two Nvidia 3080 graphics cards using NVLink? (Можно ли подключить две видеокарты Nvidia 3080 с помощью NVLink?) - ответ с переводом Ответ: No, it is not possible to connect two Nvidia GeForce RTX 3080 graphics cards using NVLink. The NVLink technology is only supported on the Quadro, Tesla and Titan series of Nvidia's GPUs. It is used for high-bandwidth, low-latency communication between GPUs or between a GPU and a CPU. The GeForce RTX 3080 uses PCIe as its interconnect technology. Перевод: Нет, невозможно соединить две видеокарты Nvidia GeForce RTX 3080 с помощью NVLink. Технология NVLink поддерживается только графическими процессорами Nvidia серий Quadro, Tesla и Titan. Он используется для высокоскоростной связи с малой задержкой между графическими процессорами или между графическим процессором и процессором. GeForce RTX 3080 использует PCIe в качестве технологии межсоединения. 2. Вопрос: What day of the week is February 48, 2010? (Какой день недели 48 февраля 2010 года?) - вопрос, взятый из комментария у этой статьи. Ответ: There is no February 48, 2010. The month of February has only 28 days in a common year and 29 days in a leap year. Additionally, the year 2010 was not a leap year, so February had only 28 days. Therefore, it is impossible to determine what day of the week February 48, 2010 would be because this date does not exist. Перевод: 48 февраля 2010 года не существует. В феврале всего 28 дней в невисокосном году и 29 дней в високосном. Кроме того, 2010 год не был високосным, поэтому в феврале было всего 28 дней. Поэтому невозможно определить, каким днем недели будет 48 февраля 2010 года, поскольку этой даты не существует. 2. Вопрос: Who was Vladimir Iliych Lenin's father? (Кто был отцом Владимира Ильича Ленина?) Ответ: Vladimir Ilyich Lenin's father was Ilya Nikolayevich Ulyanov. He was a Russian school teacher and inspector of schools. Ilya Ulyanov was born on August 20, 1831, and died on January 28, 1886, when Lenin was just 16 years old. Lenin's mother was Maria Alexandrovna Ulyanova, who was also a school teacher. Перевод: Отцом Владимира Ильича Ленина был Илья Николаевич Ульянов. Он был учителем русской школы и инспектором школ. Илья Ульянов родился 20 августа 1831 года и умер 28 января 1886 года, когда Ленину было всего 16 лет. Матерью Ленина была Мария Александровна Ульянова, которая также была школьной учительницей. 2. Вопрос: Write a program to recognize human speech and then write the result to a text file. (Напиши программу, распознающую человеческую речь, а затем запиши результат в текстовый файл) Ответ: Creating a program to recognize human speech and write the results to a text file involves several steps and requires knowledge of various fields such as signal processing, machine learning, and natural language processing. Here's a simplified outline of how you could approach this problem using Python and existing libraries: 1. Install the SpeechRecognition library in Python: pip install SpeechRecognition 2. Write a function to convert spoken language to text using the SpeechRecognition library: import speech_recognition as sr def listen(): r = sr.Recognizer() with sr.Microphone() as source: print("Listening...") audio = r.listen(source) try: print("Recognizing...") query = r.recognize_google(audio, language='en-in') print(f"User said: {query}\n") except Exception as e: print("Say that again please...") return "None" return query 3. Write a function to write the recognized text to a text file: def write_to_file(text): with open('output.txt', 'a') as f: f.write(text + '\n') 4. Call the listen() function and pass the recognized text to the write_to_file() function: if __name__ == "__main__": while True: query = listen() if query != "None": write_to_file(query) Note that this is a simplified example and might not work perfectly in all scenarios. You may need to add error handling and other features depending on your specific use case. Additionally, you may want to explore more advanced speech recognition libraries or cloud services for more accurate results. Меня поразила скорость работы этой нейронной сети и качество ответов. При этом она не запустилась на koboldcpp версии 1.51. Когда скачал новую версию 1.52 - на ней всё нормально открылось. Дополнение №2 (от 01.01.2024 г.): После 2 недельной работы с локальными нейросетями я пришёл к выводу, что цельные модели лучше в ответах, чем модели, которые работает с несколькими подсетями-экспертами (Mixtral 8*7B). Да, они генерируют ответ дольше, но качество ответа лучше. Поэтому мой выбор - это DeepSeek Coder 33B Instruct для написания кода. И DeepSeek LLM Chat 67B для вопросов, не связанных с программированием. Но это на данный момент. Может появятся еще лучшие локальные GPT нейронные сети. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|