μμ λκΈ°μ΄μ΄ κΈΈλ©΄ λ΄ μλ΅μ΄ μ§μ°λ μ μμ΅λλ€.
νΈλ¦¬κ±°λ μμ λ μ§μ°λ μ μλ€κ³ μκ°ν©λλ€.
λ¨Όμ λ°±λ‘κ·Έλ₯Ό μ²λ¦¬ν΄ μ£ΌμΈμ ![]()
μμ λκΈ°μ΄μ΄ κΈΈλ©΄ λ΄ μλ΅μ΄ μ§μ°λ μ μμ΅λλ€.
νΈλ¦¬κ±°λ μμ λ μ§μ°λ μ μλ€κ³ μκ°ν©λλ€.
λ¨Όμ λ°±λ‘κ·Έλ₯Ό μ²λ¦¬ν΄ μ£ΌμΈμ ![]()
μ¬λ¬ λ² λ΅λ³μ μμ±ν΄ λ³΄λ € νμΌλ κ²°κ΅ μ€ν¨νμ΅λλ€. μ΄ λ¬Έμ κ° κ³μλλ©΄ κ΄λ¦¬μμκ² λ¬Έμν΄ μ£ΌμΈμ. κ°μ¬ν©λλ€!
μμΈμ νμΈν΄μΌ ν©λλ€. λ‘κ·Έμ μ€λ₯κ° κΈ°λ‘λμ΄ μμ΄μΌ ν©λλ€.
μμΈ λ‘κΉ μ νμ±ν(λ§μ§λ§ μ€μ )νκ³ λ‘κ·Έλ₯Ό Warn μμ€μΌλ‘ λ³κ²½νμ¬ AI μλ΅μ νμΈνμΈμ. (Production νκ²½μμλ Info λ‘κ·Έλ₯Ό μ½μ μ μμ΅λλ€.)
μ΄ν /logsμμ ν΄λΉ λ‘κ·Έλ₯Ό νμΈνμΈμ.
μ΄λ¬ν λ¬Έμ λ μ ν¨ν ν€λ₯Ό μ 곡νμ§ μμκ±°λ κ³μ μμ‘μ΄ λΆμ‘±νκΈ° λλ¬Έμ λ°μνλ κ²½μ°κ° λ§μ΅λλ€. κ·Έλ¬λ λ€λ₯Έ μμΈμΌ μλ μμ΅λλ€.
Sidekiqμ ν° λ°±λ‘κ·Έκ° μμΈ κ² κ°μ΅λλ€. μμ μ λ λΉ λ₯΄κ² μ²λ¦¬νκΈ° μν΄ Sidekiqμ μ²λ¦¬ μ©λμ λ리λ λ°©λ²μ΄ μμκΉμ?
μ΄κ²μ μ΄ νλ¬κ·ΈμΈμ λ²μλ₯Ό μλΉν λ²μ΄λλ λ΄μ©μ
λλ€ ![]()
μλ λ κ°μ§λ₯Ό μ‘°ν©ν΄ 보μΈμ.
λ³΄ν΅ νλ κ±°μ λΉμ΄ μμ΄μΌ ν©λλ€.
μ±ν λ΄: λ¬Έμ κ° λ°μνμ§λ§, νλκΉμ§ μ¬μλν©λλ€: nilμ Integerλ‘ λ³νν μ μμ΅λλ€
μ κ° λ°λ μλ¬μ λλ€
μ±ν
λ΄ μλ² λ© νμ±νλ₯Ό νμ
¨λμ?
μλ§λ λ΄ μ νμ΄ RAGμΌ κ² κ°μ΅λλ€(μ΄ κ²½μ° μ νλͺ©μ΄ νμ±νλμ΄ μμ΄μΌ ν©λλ€).
μ΄λ€ λͺ¨λΈμ μ¬μ© μ€μ΄μ κ°μ?
RAG μμ.
gpt-4o-mini
μ΄ μ€λ₯μ λν΄ /logsμμ λ°±νΈλ μ΄μ€λ₯Ό λ³Ό μ μλμ?
λ©μμ§ (4건 λ³΄κ³ λ¨)
μ±λ΄: λ¬Έμ κ° λ°μνμ§λ§, νλκΉμ§ μ¬μλν©λλ€: nil can't be coerced into Integer
λ°±νΈλ μ΄μ€
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `block in error'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `error'
/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:140:in `rescue in execute'
/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:121:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
μκΈ° λ΄μ©μ μ μ ν μ€μ ν΄ μ£Όμκ³ , λ‘κ·Έμμ μμ¬μ€λ¬μ΄ λΆλΆμ΄ μΆκ°λ‘ 보μ΄λ©΄ μλ €μ£ΌμΈμ:
P.S. μ΅μ λ²μ μμ Basic λ° RAG λ΄μ΄ μ μ μλνλ κ²μ νμΈνμ΅λλ€.
λΉκ³΅κ° ν λ‘ κ²°λ‘ : ν λΉλ 리μ μμ μ΄ μμ§ μ€νλμ§ μμμ΅λλ€.
μ΄ μμ μ λ΄μ μ¬μ©νκΈ° μ μ ν λ² μ€νλμ΄μΌ ν©λλ€.
νμ¬ νλ¬κ·ΈμΈ μ€μΉ ν μ΄ μμ μ ν λ² μλμΌλ‘ νΈλ¦¬κ±°ν΄μΌ ν μ μμ΅λλ€.
μ‘°λ§κ° μ΄ μΌνμ© μ΄κΈ° μ€νμ μλμΌλ‘ μννλλ‘ κ°μ ν μμ μ λλ€.
μ΄λ‘μ¨ ν΄λΉ λ¬Έμ κ° μꡬμ μΌλ‘ ν΄κ²°λ κ²μΌλ‘ κΈ°λν©λλ€.
ChatbotμΌλ‘ λ°λ‘ μ°Έμ¬νμΈμ ![]()
μ΅μ Basic λͺ¨λμμ V3μ R1μ μ κ·Όν μ μμ΅λλ€.
μ λ λ€μμ μ¬μ©νμ΅λλ€:
(μ ν΄ λ§ν¬ μλ)
μ΄ μ¬μ΄νΈμμ λͺ¨λΈμ νΈμ€ν ν©λλ€.
μλμ κ°μ΄ μ€μ νμΈμ:
λ°λμ Basic λ΄ λͺ¨λλ₯Ό μ€μ νκ³ ν€λ₯Ό λ체νμΈμ.
μΉμ¬μ΄νΈμ μ κ·Όνμ¬ κ°μ
ν μ μλ€λ©΄ DeepSeek AIλ₯Ό μ§μ μ¬μ©ν μλ μμ΅λλ€ ![]()
Base URLμ "https://api.deepseek.com"μ λλ€.
λ체 λͺ¨λΈ, νΉν λκ·λͺ¨ νΈμ€ν μ€νμμ€ λͺ¨λΈμ μ¬μ©λ²μ λν΄μλ μ΄μ κ²μλ¬Όμ μ°Έκ³ νμΈμ.
Hi @merefield .
μ μ£Όμ μ±ν
λ΄ μλ μλ΅κΈ°κ° μ£Όμ μμ μλ΅ν λ 2λ² μλ΅νκ³ μμ΅λλ€. μ¦, μ¬μ©μκ° μ§λ¬Ένλ©΄ μ±ν
λ΄μ΄ λ΅λ³μ ν ν λ°λ‘ κ°μ μ§λ¬Έμ λ λ²μ§Έλ‘ λ€μ λ΅λ³μ νλ μμΌλ‘ μ°μν΄μ λ λ² λ΅λ³μ ν©λλ€. μ΄ λ
μμ μ’ μ§μ μν€λ λ°©λ²μ λν μμ΄λμ΄κ° μμΌμ κ°μ? ![]()
μ λ§ μ΄μνλ€μ.
μ΅μ λ²μ μμ μ΄ λ¬Έμ λ₯Ό ν μ€νΈν΄ 보μλλ°, κ° κ²μλ¬Όλ§λ€ νλμ μλ΅λ§ λ°μμ΅λλ€. μ¦, μ΄κΈ° κ²μλ¬Ό β μλ μλ΅ β λ΅κΈ β λ λ€λ₯Έ λ΄ μλ΅ μμμμ£ .
νμ¬ μ κ° ν΄λΉ λ¬Έμ λ₯Ό μ¬νν μ μλμ§ νμ μ΄ μμ§ μμΌλ, μ¬μ© μ€μΈ νκ²½μ μμΈν μ€λͺ ν΄ μ£Όμκ² μ΄μ?
μλλ©΄, μ§κΈ 보μλ λμμ΄ λ°λ‘ κ·Έ μνμΈκ°μ?
μ°Έκ³ λ‘, λ΄μ ν΄λΉ μ£Όμ μ ν λͺ μ μ¬μ©μκ° μΆκ°λ‘ κ²μλ¬Όμ μ¬λ¦΄ λκΉμ§ κ³μ μλ΅ν©λλ€. λ°λΌμ μ²μμλ λν μλκ° μ¬μ©μμ λ΄ μ¬μ΄μμλ§ μ΄λ£¨μ΄μ§λ―λ‘, λ΄μ΄ νμ λ§μ§λ§ λ§μ νκ² λ©λλ€(μ΄ λ΄μ©μ OPμλ λͺ μλμ΄ μμ΅λλ€).
λκ΅°κ° μ΄ κΈ°λ₯μ κ°μ νκΈ° μν΄ κΈ°κΈμ λ΄κΈ°λ‘ νμ§λ§, μ²κ΅¬μλ₯Ό κ²°μ νμ§ μμ νμ¬λ‘μλ κΈ°μ‘΄ λμ λ°©μμ μ μ§ν μλ°μ μμ΅λλ€.
λ‘λ²νΈ, κ°μ¬ν©λλ€. λͺ κ°μ§ μμλ³Όκ²μ. νμ κ·Έλ° κ±΄ μλμμ. λ΄μ λ΅μ₯νλ©΄μ λμμ @botμ λ©μ νλ κ²κ³Ό κ΄λ ¨μ΄ μμμ§, μλλ©΄ κ°μ λΈλΌμ°μ μμ λ€λ₯Έ κ³μ μΌλ‘ λ‘κ·ΈμΈ/λ‘κ·Έμμν λ μΊμ λ¬Έμ μΌμ§ νμ μ΄ μμμ΅λλ€. μ΅κ·Ό μ λ°μ΄νΈλ‘ μΈν΄ λκ° λ¬Έμ κ° μκΈ΄ 건 μλμ§ μκ°λ ν΄λ΄€μ΄μ. μ νκ²½ μ€μ λ μ΅μ μΌλ‘ μ λ°μ΄νΈλμ΄ μμ΅λλ€. νΉμ μν©μμ μ¬νλλ€λ κ±Έ μ°ΎμΌλ©΄ μλ €λ릴κ²μ.
μ΄κ²λ ν μ€νΈν΄ 보μλλ°, μ΄μ€ μλ΅μ΄ λ°μνμ§ μμμ΅λλ€.
κ²μλ¬Όμ νκ°λ ν λ²λ§ μνλλ©°, λ©μ λκ±°λ λ΅κΈμ΄ λ¬λ¦° κ²½μ°μλ§ μλ΅νμ§λ§ μ€λ³΅λμ§ μμμΌ ν©λλ€.
νκ° μ λ΄μ κ²μλ¬Όμ 무μλμ΄μΌ νλ―λ‘, λ΄μ΄ μ€μ€λ‘μ λ΅κΈμ λ¨κΈ°λ € μλνλ μΌλ κ²°μ½ μΌμ΄λμ§ μμμΌ ν©λλ€.
νΉμ μν©κ³Ό κ΄λ ¨λ λ μμΈν μ 보λ₯Ό νμ ν μ μλ€λ©΄ μλ € μ£ΌμΈμ.
μ΄ AI λ΄μμ μ΄λ€ AI λͺ¨λΈμ΄ μ¬μ©λλμ§ μ°Ύμ μ μμμ΅λλ€. μ΄ λ΄μ μ ννμ΄μ§μ λ‘λ΄ μμ΄μ½μΌλ‘ νμλ©λλ€:
κ·Έλ¦¬κ³ μ΄ λ΄μ AI(λͺ¨λΈ)λ₯Ό λ³κ²½ν μ μλμ§ κΆκΈν©λλ€. λ€λ₯Έ κ°λ₯ν μ΅μ μ 무μμΈκ°μ?
κ°λμ λ΅λ³μ νμ§ λͺ»νλ€κ³ μλ΅νκΈ°λ ν©λλ€:
λ€λ₯Έ κ²½μ°μλ κ³μ λ΅λ³μ μλνμ§λ§ λλ΄ λ΅λ³νμ§ μμ΅λλ€: