alphacep / alphacep/vosk-server

Ошибки в asterisk EAGI на большом объеме текста

Offen
#232 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
1.3k
Forks
317
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Доброго дня.

Eagi.py взял Ваш https://github.com/alphacep/vosk-server/blob/master/client-samples/asterisk/eagi.py с небольшими дополнениями в виде расстановки препинаков в субпроцессе и отправке результата в телеграмм.

Все настроил, все работает на маленьких объемах. ("Раз-два-три четыре и тому подобное на несколько строк" работает прекрасно, огромное Вам спасибо за поистине титанический труд)

Для теста попробовал наговорить в астериске большой объем текста

> Возможности ИИ потрясают. Но заменит ли он человека? Как мы писали выше, в ближайшие 10-20 лет искусственный интеллект по прогнозам захватит треть профессий.
Многие уже обеспокоены столь стремительным развитием – например, Илон Маск публично заявил об угрозе ИИ и подписал открытое письмо с призывом приостановить как минимум на полгода обучение систем более мощных, чем языковая модель GPT-4 от OpenAI (правда, месяц спустя он зарегистрировал собственную компанию xAI, которая должна стать конкурентом OpenAI).

Сперва пролетает десятка три ошибок:

file.c:1696 waitstream_core: write() failed: Resource temporarily unavailable

Но при этом весь текст распознается нормально:

```
/home/ubuntu/eagi.py: Processing chunk
/home/ubuntu/eagi.py: Result: {'partial': 'возможности и потрясают но заменит ли он человека как мы писали выше ближайшие десять двадцать лет искусственный интеллект по прогнозам захватят пять профессий многие уже беспокойно столь стремительным развитием например и он маг публично заявил об уг▒ > озе и подписал открытое письмо с призывом приостановить как минимум на'}
```
Если остановится на небольшом объеме - все происходит, как и расчитывалось.

Если продолжать говорить, то возникает ошибка:

```
/home/ubuntu/eagi.py: Processing chunk
[2023-07-28 17:21:52] ERROR[3453][C-00000002]: json.c:607 ast_json_vpack: Error building JSON from '{s: i, s: s}': Invalid UTF-8 string.
[2023-07-28 17:21:52] ERROR[3453][C-00000002]: Got 11 backtrace records
# 0: /usr/sbin/asterisk(ast_json_pack+0x9d) [0x55ada9fb437d]
# 1: /usr/lib/asterisk/modules/res_agi.so(+0xb638) [0x7f7401bb8638]
# 2: /usr/lib/asterisk/modules/res_agi.so(+0xfee0) [0x7f7401bbcee0]
# 3: /usr/lib/asterisk/modules/res_agi.so(+0x11439) [0x7f7401bbe439]
# 4: /usr/sbin/asterisk(pbx_exec+0xd8) [0x55ada9fe2568]
# 5: /usr/sbin/asterisk(+0x117eb8) [0x55ada9fd6eb8]
# 6: /usr/sbin/asterisk(+0x1198f0) [0x55ada9fd88f0]
# 7: /usr/sbin/asterisk(+0x11ade1) [0x55ada9fd9de1]
# 8: /usr/sbin/asterisk(+0x1923f8) [0x55adaa0513f8]
# 9: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f7413e75609]
#10: /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f7413bf7133]
```
Затем формируется финальный результат, но не формируется **'text'**

`/home/ubuntu/eagi.py: Result: {'result': [{'conf': 0.775454, 'end': 5.07, 'start': 4.35, 'word': 'возможности'}, {'conf': 1.0, 'end': 5.46, 'start': 5.07, 'word': 'и'}, {'conf': 0.870522, 'end': 6.15, 'start': 5.46, 'word': ' > ▒отрясают'}, {'conf': 1.0, 'end': 6.27, 'start': 6.15, 'word': 'но'}, {'conf': 0.983217, 'end': 6.63, 'start': 6.27, 'word': 'заменит'}, {'conf': 1.0, 'end': 6.72, 'start': 6.63, 'word': 'ли'}, {'conf': 1.0, 'end': 6.87, 'start': 6.72, 'word': 'он'}, {'conf': 1.0, 'end': 7.44, 'start': 6.87, 'word': 'человека'}, {'conf': 1.0, 'end': 7.62, 'start': 7.44, 'word': 'как'}, {'conf': 1.0, 'end': 7.74, 'start': 7.62, 'word': 'мы'}, {'conf': 1.0, 'end': 8.13, 'start': 7.74, 'word': 'писали'}, {'conf': 1.0, 'end': 8.4, 'start': 8.13, 'word': 'выше'}, {'conf': 0.863426, 'end': 8.429729, 'start': 8.4, 'word': 'в'}, {'conf': 1.0, 'end': 8.85, 'start': 8.429729, 'word': 'ближайшие'}, {'conf': 1.0, 'end': 9.15, 'start': 8.85, 'word': 'десять'}, {'conf': 1.0, 'end': 9.51, 'start': 9.15, 'word': 'двадцать'}, {'conf': 0.978394, 'end': 9.69, 'start': 9.51, 'word': 'лет'}, {'conf': 1.0, 'end': 10.14, 'start': 9.69, 'word': 'искусственный'}, {'conf': 1.0, 'end': 10.470732, 'start': 10.14, 'word': 'интеллект'}, {'conf': 0.839462, 'end': 10.53, 'start': 10.470732, 'word': 'по'}, {'conf': 1.0, 'end': 11.01, 'start': 10.53, 'word': 'прогнозам'}, {'conf': 0.938415, 'end': 11.43, 'start': 11.01, 'word': 'захватят'}, {'conf': 0.657692, 'end': 11.64, 'start': 11.43, 'word': 'треть'}, {'conf': 0.667419, 'end': 12.27, 'start': 11.64, 'word': 'профессий'}, {'conf': 1.0, 'end': 12.72, 'start': 12.33, 'word': 'мн▒ > гие'}, {'conf': 1.0, 'end': 12.93, 'start': 12.72, 'word': 'уже'}, {'conf': 0.655107, 'end': 13.439999, 'start': 12.93, 'word': 'беспокойно'}, {'conf': 1.0, 'end': 13.62, 'start': 13.44, 'word': 'столь'}, {'conf': 1.0, 'end': 14.1, 'start': 13.62, 'word': 'стрем▒`

Потом опять ошибки _json.c:607 ast_json_vpack: Error building JSON from_ как в примере Выше

Затем идет тонна

```
[2023-07-28 17:21:52] WARNING[3453][C-00000002]: res_agi.c:3985 parse_args: Too many arguments, truncating
[2023-07-28 17:21:52] WARNING[3453][C-00000002]: res_agi.c:3985 parse_args: Too many arguments, truncating
[2023-07-28 17:21:52] WARNING[3453][C-00000002]: res_agi.c:3985 parse_args: Too many arguments, truncating
```
И затем вызов завершается

```
Playing '/var/lib/asterisk/sounds/ru/custom/beep.slin' (escape_digits=) (sample_offset 0) (language 'ru')
/home/ubuntu/eagi.py: Traceback (most recent call last): File /home/ubuntu/eagi.py, line 64, in startAGI process_chunk(agi, ws, data) File /home/ubuntu/eagi.py, line 36, in process_chunk agi.stream_file(/var/lib/asterisk/sounds/ru/custom/beep) File /usr/local/lib/python3.8/dist-packages/asterisk/agi.py, line 283, in stream_file response = self.execute( File /usr/local/lib/python3.8/dist-packages/asterisk/agi.py, line 150, in execute return self.get_result() File /usr/local/lib/python3.8/dist-packages/asterisk/agi.py, line 196, in get_result raise AGIInvalidCommand(response) asterisk.agi.AGIInvalidCommand: Invalid or unknown command
-- AGI Script /home/ubuntu/eagi.py completed, returning 0
-- Executing [s@voice-recog:3] Playback("SIP/1514-00000001", "/var/lib/asterisk/sounds/ru/custom/zayavka_ok") in new stack
-- Playing '/var/lib/asterisk/sounds/ru/custom/zayavka_ok.slin' (language 'ru')
-- Auto fallthrough, channel 'SIP/1514-00000001' status is 'UNKNOWN'
```

Подскажите, пожалуйста, с чем это может быть связано?
Спасибо

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.