# Cannot use discourse AI locally due to an internal server error

**URL:** https://meta.discourse.org/t/cannot-use-discourse-ai-locally-due-to-an-internal-server-error/357481
**Category:** Support
**Created:** [March 17, 2025, 12:31am UTC](https://meta.discourse.org/t/cannot-use-discourse-ai-locally-due-to-an-internal-server-error/357481 "2025-03-17T00:31:05Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [March 17, 2025, 12:31am UTC](https://meta.discourse.org/t/cannot-use-discourse-ai-locally-due-to-an-internal-server-error/357481/1 "2025-03-17T00:31:05Z")

</div>

Here’s what the logs say:

> **Summary**
>
> ### Message (7 copies reported)
> 
> ```plaintext
> 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](http://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](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:

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/1/9/8192d42f5b1ef8b10c3d254deec26cee2099a68c.png)  
The issue persists even if I remove /v1/chat/completions.
