Cannot use discourse AI locally due to an internal server error

Here’s what the logs say:

Summary

Message (7 copies reported)

NameError (undefined local variable or method `tokenizer' for an instance of DiscourseAi::Completions::Dialects::ChatGpt) app/controllers/application_controller.rb:427:in `block in with_resolved_locale' app/controllers/application_controller.rb:427:in `with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:35:in `call' lib/content_security_policy/middleware.rb:12:in `call' lib/middleware/anonymous_cache.rb:409:in `call' lib/middleware/csp_script_nonce_injector.rb:12:in `call' config/initializers/008-rack-cors.rb:14:in `call' lib/middleware/default_headers.rb:13:in `call' config/initializers/100-quiet_logger.rb:20:in `call' config/initializers/100-silence_logger.rb:29:in `call' lib/middleware/enforce_hostname.rb:24:in `call' lib/middleware/processing_request.rb:12:in `call' lib/middleware/request_tracker.rb:385:in `call'

Backtrace

plugins/discourse-ai/lib/completions/dialects/dialect.rb:109:in `trim_messages’

plugins/discourse-ai/lib/completions/dialects/dialect.rb:78:in `translate’

plugins/discourse-ai/lib/completions/dialects/chat_gpt.rb:26:in `translate’

plugins/discourse-ai/lib/completions/endpoints/base.rb:107:in `perform_completion!’

plugins/discourse-ai/lib/completions/endpoints/open_ai.rb:52:in `perform_completion!’

plugins/discourse-ai/lib/completions/llm.rb:302:in `generate’

plugins/discourse-ai/lib/configuration/llm_validator.rb:36:in `run_test’

plugins/discourse-ai/app/controllers/discourse_ai/admin/ai_llms_controller.rb:128:in `test’

actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action’

actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action’

actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action’

actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action’

activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks’

app/controllers/application_controller.rb:427:in `block in with_resolved_locale’

i18n (1.14.7) lib/i18n.rb:353:in `with_locale’

app/controllers/application_controller.rb:427:in `with_resolved_locale’

activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks’

activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks’

actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action’

actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action’

actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action’

activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument’

activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument’

activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument’

actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action’

actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action’

activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action’

actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process’

actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process’

rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method’

actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch’

actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch’

actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch’

actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve’

actionpack (7.2.2.1) lib/action_dispatch/routing/mapper.rb:32:in `block in class:Constraints

actionpack (7.2.2.1) lib/action_dispatch/routing/mapper.rb:62:in `serve’

actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve’

actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes’

actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each’

actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes’

actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve’

actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call’

lib/middleware/omniauth_bypass_middleware.rb:35:in `call’

rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call’

rack (2.2.13) lib/rack/conditional_get.rb:27:in `call’

rack (2.2.13) lib/rack/head.rb:12:in `call’

actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call’

lib/content_security_policy/middleware.rb:12:in `call’

lib/middleware/anonymous_cache.rb:409:in `call’

lib/middleware/csp_script_nonce_injector.rb:12:in `call’

config/initializers/008-rack-cors.rb:14:in `call’

rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context’

rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call’

activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks’

actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call’

logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call’

lib/middleware/default_headers.rb:13:in `call’

railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app’

railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call’

config/initializers/100-quiet_logger.rb:20:in `call’

config/initializers/100-silence_logger.rb:29:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call’

lib/middleware/enforce_hostname.rb:24:in `call’

rack (2.2.13) lib/rack/method_override.rb:24:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call’

rack (2.2.13) lib/rack/sendfile.rb:110:in `call’

rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call’

lib/middleware/processing_request.rb:12:in `call’

message_bus (4.3.9) lib/message_bus/rack/middleware.rb:60:in `call’

lib/middleware/request_tracker.rb:385:in `call’

actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call’

railties (7.2.2.1) lib/rails/engine.rb:535:in `call’

railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send’

railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing’

rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call’

rack (2.2.13) lib/rack/urlmap.rb:58:in `each’

rack (2.2.13) lib/rack/urlmap.rb:58:in `call’

unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client’

unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop’

unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers’

unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start’

unicorn (6.1.0) bin/unicorn:128:in `<top (required)>’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `’

Env

6/7

hostname fdrasvr-app
process_id 343
application_version 0ebd0a0bd5e44d3604e89ec47168f1065c6139cb
HTTP_HOST administerblog.notpyx.me
REQUEST_METHOD GET
HTTP_USER_AGENT Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
HTTP_ACCEPT application/json, text/javascript, /; q=0.01
HTTP_REFERER https://administerblog.notpyx.me/admin/plugins/discourse-ai/ai-llms/1/edit
HTTP_X_FORWARDED_FOR redacted, 172.17.0.1
HTTP_X_REAL_IP 172.17.0.1
username pyx
time 8:27 pm
params null

This is the config I’m trying:


The issue persists even if I remove /v1/chat/completions.