Discourse 챗봇 πŸ€–

μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€: FIX: do not exlude single user prompts in submission - Pull Request #120 - merefield/discourse-chatbot - GitHub

κΈ°λ‹€λ € μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

3개의 μ’‹μ•„μš”

ν”ŒλŸ¬κ·ΈμΈμ„ μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€. 챗봇 μ‘λ‹΅μ—λŠ” λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이제 챗봇이 이미지 λ‚΄μš©μ„ λ³Ό 수 μ—†λ‹€λŠ” 였λ₯˜λ₯Ό ν‘œμ‹œν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν”Όλ“œλ°±μ„ λ“œλ¦¬κ³ μž ν•©λ‹ˆλ‹€. 제 λΉ„μ „ μ„€μ •: 직접 μ—°κ²°

1개의 μ’‹μ•„μš”

리포트 κ°μ‚¬ν•©λ‹ˆλ‹€. 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

λ‹€μŒ 컀밋뢀터 ν•΄λ‹Ή λ¬Έμ œκ°€ μˆ˜μ •λ˜μ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€:

ν•˜μ§€λ§Œ ν…ŒμŠ€νŠΈ 쀑 ν₯미둜운 점을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

Discourseμ—μ„œλŠ” 이미지가 κ²Œμ‹œκΈ€ 데이터에 μ™„μ „νžˆ λ°˜μ˜λ˜λŠ” 데 μ•½κ°„μ˜ 지연이 λ°œμƒν•˜μ—¬, 봇이 λ„ˆλ¬΄ λΉ λ₯΄κ²Œ μ‘λ‹΅ν•˜λ©΄ 이미지가 μ‘΄μž¬ν•˜λŠ” 것을 κ°μ§€ν•˜μ§€ λͺ»ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법은 λ‹€μŒ 값을 λ†’μ΄λŠ” κ²ƒμž…λ‹ˆλ‹€:

chatbot reply job time delay - 0κ³Ό 2둜 ν…ŒμŠ€νŠΈν•΄ λ³΄μ•˜λŠ”λ°, 0은 λ„ˆλ¬΄ λΉ λ₯Έ κ²½μš°κ°€ λ§ŽμœΌλ―€λ‘œ 속도λ₯Ό 쑰금 λŠ¦μΆ”λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

항상 이전 κ²Œμ‹œκΈ€μ˜ 이미지λ₯Ό μ°Έμ‘°ν•˜λŠ” 경우 λ¬Έμ œκ°€ μ—†μœΌλ©°, 같은 κ²Œμ‹œκΈ€μ— 이미지λ₯Ό 올린 ν›„ λ°”λ‘œ μ°Έμ‘°ν•˜λŠ” 경우(예: β€œμ΄ 이미지λ₯Ό μ„€λͺ…ν•΄ μ£Όμ„Έμš”β€)μ—λ§Œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

이 섀정은 1둜 λ˜μ–΄ μžˆμ—ˆλŠ”λ°, 이제 2둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. μ—…λ°μ΄νŠΈλ₯Ό ν•˜κ³  μ‹œλ„ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. μˆ˜μ •ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

이미지 μ²˜λ¦¬μ— 더 λ§Žμ€ μ‹œκ°„μ΄ ν•„μš”ν•œ Discourse 포럼이 μžˆμ„ 수 μžˆμœΌλ‹ˆ, 기본값은 2, μ΅œλŒ€κ°’μ€ 5둜 μ„€μ •ν•΄ λ‘μ—ˆμŠ΅λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

ν”ŒλŸ¬κ·ΈμΈμ„ μ—…λ°μ΄νŠΈν•˜κ³  ν…ŒμŠ€νŠΈλ‘œ 4개의 이미지λ₯Ό μ‚¬μš©ν•΄ λ³΄μ•˜μ§€λ§Œ, 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λΉ λ₯Έ μˆ˜μ • κ°μ‚¬ν•©λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

μ œκ°€ 무슨 말을 ν•˜κ³  싢은지 λͺ…ν™•νžˆ ν•˜κΈ° μœ„ν•΄ 예λ₯Ό ν•˜λ‚˜ λ“€κ² μŠ΅λ‹ˆλ‹€:

응닡 지연이 0인 경우, κ·Έ ν˜Όλž€μŠ€λŸ¬μš΄ 상황을 κ³΅μœ ν•˜κ³  μ‹Άμ§€ μ•ŠμŠ΅λ‹ˆλ‹€ :smiley:

2개의 μ’‹μ•„μš”

μ•ˆλ…•ν•˜μ„Έμš”! o1에 λŒ€ν•œ 지원 μΆ”κ°€ κ³„νšμ΄ μžˆλ‚˜μš”? o1은 였늘 ν‹°μ–΄ 4 κ³ κ°μ—κ²Œ μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. o1이 μ§€μ ν•˜λŠ” 문제 쀑 ν•˜λ‚˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

Chatbot: μ±„νŒ… μ™„μ„±(Completion) 쀑 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: μƒνƒœ: 400, λ©”μ‹œμ§€: 이 λͺ¨λΈμ—μ„œλŠ” 'messages[0].role’에 β€˜system’ 값을 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

이 λͺ¨λΈμ€ 정말 골치 μ•„νŒŒμš” :sweat_smile:

https://platform.openai.com/docs/guides/reasoning/beta-limitations

도ꡬ도 μ—†κ³ , μ „μš© 캐릭터(μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ μ—†μŒ)도 μ—†μœΌλ©΄μ„œ, κ²Œλ‹€κ°€ 가격이 μ΄λ ‡κ²Œ 비싼데 이걸 μœ μš©ν•˜κ²Œ μ“Έ 수 μžˆλ‹€κ³  ν™•μ‹ ν•˜λ‚˜μš”?

1개의 μ’‹μ•„μš”

o1-preview 및 o1-mini 지원 μΆ”κ°€.

basic 봇 μœ ν˜•μ„ 선택해야 ν•©λ‹ˆλ‹€(Open AIμ—μ„œ 아직 도ꡬλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έ!).

μ˜ˆμ‹œ

μ°Έκ³ : μž‘μ„± μ‹œμ μ—λŠ” Tier 4 계정이 μžˆμ–΄μ•Ό 이 베타 λͺ¨λΈμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš© κ°€λŠ₯ν•΄μ§€λ©΄ μ΄λ©”μΌλ‘œ μ•ˆλ‚΄λ₯Ό λ°›μœΌμ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

2개의 μ’‹μ•„μš”

정말 κ°μ‚¬ν•©λ‹ˆλ‹€!

μ•„, 물둠이죠. μ €ν¬μ˜ λ§Žμ€ μ‚¬μš© μ‚¬λ‘€λŠ” 과학적 질문과 문제 해결을 λ•λŠ” 것이며, o1은 4o보닀 훨씬 λ›°μ–΄λ‚©λ‹ˆλ‹€. 사싀, 4oκ°€ 더 저렴함에도 λΆˆκ΅¬ν•˜κ³  κ³Όν•™ λΆ„μ•Όμ—μ„œλŠ” λˆˆμ— λ„κ²Œ μ—΄λ“±ν–ˆκΈ° λ•Œλ¬Έμ— 4μ—μ„œ 4o둜 μ „ν™˜ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

@hiddenseal (그리고 κ³Όν•™ κ΄€λ ¨ μ½˜ν…μΈ μ— 관심 μžˆλŠ” λͺ¨λ“  λΆ„)

μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 없이 o1μ—μ„œ μˆ˜ν•™ 곡식을 μ‚¬μš©ν•  수 μžˆλŠ” 우회 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€:

  • Maths ν”ŒλŸ¬κ·ΈμΈ μ‚¬μš©
  • μ±—λ΄‡μ—κ²Œ 곡식과 μˆ˜μ‹μ„ ν¬λ§·ν•˜λŠ” 방법을 μ§€μ‹œ

예:

x의 5μ œκ³±μ—μ„œ 1을 뺐을 λ•Œ 0이 λ˜λŠ” x의 값은?

λ‹΅λ³€μ—λŠ” λ‹€μŒ 포맷을 μ‚¬μš©ν•˜μ„Έμš”:

$$
곡식과 μˆ˜μ‹
$$

λ¬Όλ‘  μˆ˜ν•™μš© 봇을 자주 μ‚¬μš©ν•˜λŠ” μ‚¬μ΄νŠΈλΌλ©΄ μ΄λŸ¬ν•œ 포맷 지침은 μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈμ— λ„£λŠ” 것이 μΌλ°˜μ μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ o1은 아직 κ·Έ κΈ°λŠ₯이 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€(아직?). κ·Έλž˜μ„œ μš”μ²­ μ‹œμ μ— λͺ…μ‹œμ μœΌλ‘œ μ§€μ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλž˜λ„ 잘 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€ :rocket:

2개의 μ’‹μ•„μš”

λ§ˆμ§€λ§‰ μ—…λ°μ΄νŠΈ 이후 λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ•Œλ €λ“œλ¦¬κ³ μž ν•©λ‹ˆλ‹€.

μ±„νŒ…λ΄‡: Chat Completion에 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: μƒνƒœ: 400, λ©”μ‹œμ§€: 인식할 수 μ—†λŠ” μš”μ²­ μΈμžκ°€ μ œκ³΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€: max_completion_tokens

λ‹€μ‹œ ν•œλ²ˆ κ°•μ‘°ν•˜μ§€λ§Œ, μ΅œμ‹  API 버전을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

max_tokensλŠ” λΉ„μΆ”μ²œ(deprecated) μƒνƒœμ΄λ©°, max_completion_tokens둜 λŒ€μ²΄λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ°Έκ³ : o1-miniλŠ” max_tokens와 ν•¨κ»˜ μ „ν˜€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ΅œμ‹  Azure APIλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

κ·Έλ ‡κ²Œ ν•  수 μ—†λ‹€λ©΄, λ³€κ²½ 사항 이전 컀밋에 ν•΄λ‹Ήν•˜λŠ” 브랜치λ₯Ό ν¬ν¬μ—μ„œ μƒμ„±ν•˜κ³ , app.ymlμ—μ„œ ν•΄λ‹Ή 포크와 브랜치λ₯Ό git cloneν•˜μ„Έμš”.

2개의 μ’‹μ•„μš”

방금 κΈ°λ³Έ μ„€μ •μ˜ μ΅œμ‹  3B llama3.2 λͺ¨λΈλ‘œ λ‘œμ»¬μ—μ„œ Chatbot을 ν…ŒμŠ€νŠΈν•΄ λ³΄μ•˜λŠ”λ°, 정말 λ†€λžμŠ΅λ‹ˆλ‹€.

도ꡬ(Tools)도 μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λ©° 속도가 _맀우 λΉ λ¦…λ‹ˆλ‹€*.

Meta의 ν›Œλ₯­ν•œ μ„±κ³Όμž…λ‹ˆλ‹€!

이것은 λΉ„μš©μ΄ 적게 λ“œλŠ” κ°œλ°œμ΄λ‚˜ μ‹€ν—˜, λ˜λŠ” 인터넷 연결이 μ œν•œμ μΈ ν™˜κ²½μ—μ„œ ν›Œλ₯­ν•œ μ„ νƒμ§€μž…λ‹ˆλ‹€.

μ„€μ •:

(μ»€μŠ€ν…€ λͺ¨λΈμ„ μ§€μ •ν–ˆκΈ° λ•Œλ¬Έμ— 이 λͺ¨λΈ λ“œλ‘­λ‹€μš΄μ€ λ¬΄μ‹œλ©λ‹ˆλ‹€)

ollamaκ°€ μ„€μΉ˜λ˜μ–΄ μ‹€ν–‰ 쀑이어야 ν•©λ‹ˆλ‹€

4개의 μ’‹μ•„μš”

@merefield

ν›Œλ₯­ν•œ ν”ŒλŸ¬κ·ΈμΈμ„ λ§Œλ“€μ–΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ €λŠ” μ‚¬μ΄νŠΈλ₯Ό μ…€ν”„ν˜ΈμŠ€νŒ…ν•˜λŠ” 버전을 μž‘μ—… 쀑이며, 이λ₯Ό 톡해 자유둭게 μ‹€ν—˜ν•΄ 보고 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ ν•˜μ‹  κ²ƒμ²˜λŸΌ Building a technical support chatbot 의 λ‚΄μš©μ„ μž¬ν˜„ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

지침을 따라 app.yml νŒŒμΌμ— λ‹€μŒμ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

- git clone https://github.com/merefield/discourse-chatbot.git 

κ·ΈλŸ¬λ‚˜ ./launcher rebuild app을 μ‹€ν–‰ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

Gem::LoadError: can’t activate multipart-post-2.2.3, already activated multipart-post-2.4.0 (Gem::LoadError)

전체 였λ₯˜ λ©”μ‹œμ§€

I, [2024-10-04T14:03:14.844712 #1] INFO – : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf

I, [2024-10-04T14:03:14.846521 #1] INFO – : > sleep 10

2259:C 04 Oct 2024 14:03:14.854 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

2259:C 04 Oct 2024 14:03:14.854 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=2259, just started

2259:C 04 Oct 2024 14:03:14.854 # Configuration loaded

2259:M 04 Oct 2024 14:03:14.855 * monotonic clock: POSIX clock_gettime

2259:M 04 Oct 2024 14:03:14.855 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use

2259:M 04 Oct 2024 14:03:14.855 # Failed listening on port 6379 (TCP), aborting.

I, [2024-10-04T14:03:24.849199 #1] INFO – :

I, [2024-10-04T14:03:24.849755 #1] INFO – : > cd /var/www/discourse && su discourse -c β€˜bundle exec rake db:migrate’

rake aborted!

Gem::LoadError: can’t activate multipart-post-2.2.3, already activated multipart-post-2.4.0 (Gem::LoadError)

/var/www/discourse/lib/plugin_gem.rb:25:in `load’

/var/www/discourse/lib/plugin/instance.rb:824:in `gem’

/var/www/discourse/plugins/discourse-zendesk-plugin/plugin.rb:13:in `activate!’

/var/www/discourse/lib/plugin/instance.rb:767:in `instance_eval’

/var/www/discourse/lib/plugin/instance.rb:767:in `activate!’

/var/www/discourse/lib/discourse.rb:348:in `block in activate_plugins!’

/var/www/discourse/lib/discourse.rb:345:in `each’

/var/www/discourse/lib/discourse.rb:345:in `activate_plugins!’

/var/www/discourse/config/application.rb:232:in `block in class:Application’

/var/www/discourse/lib/plugin.rb:6:in `initialization_guard’

/var/www/discourse/config/application.rb:232:in `class:Application’

/var/www/discourse/config/application.rb:75:in `module:Discourse’

/var/www/discourse/config/application.rb:74:in `<top (required)>’

/var/www/discourse/Rakefile:7:in `<top (required)>’

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>’

/usr/local/bin/bundle:25:in `load’

/usr/local/bin/bundle:25:in `’

(See full trace by running task with --trace)

I, [2024-10-04T14:03:33.989382 #1] INFO – :
…

I, [2024-10-04T14:03:33.989950 #1] INFO – : Terminating async processes

I, [2024-10-04T14:03:33.989982 #1] INFO – : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 36

I, [2024-10-04T14:03:33.990027 #1] INFO – : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 104

104:signal-handler (1728050613) Received SIGTERM scheduling shutdown…

2024-10-04 14:03:33.990 UTC [36] LOG: received fast shutdown request

2024-10-04 14:03:33.991 UTC [36] LOG: aborting any active transactions

2024-10-04 14:03:33.996 UTC [36] LOG: background worker β€œlogical replication launcher” (PID 51) exited with exit code 1

2024-10-04 14:03:33.997 UTC [46] LOG: shutting down

104:M 04 Oct 2024 14:03:34.007 # User requested shutdown…

104:M 04 Oct 2024 14:03:34.007 * Saving the final RDB snapshot before exiting.

2024-10-04 14:03:34.023 UTC [36] LOG: database system is shut down

104:M 04 Oct 2024 14:03:34.025 * DB saved on disk

104:M 04 Oct 2024 14:03:34.025 # Redis is now ready to exit, bye bye…

FAILED


Pups::ExecError: cd /var/www/discourse && su discourse -c β€˜bundle exec rake db:migrate’ failed with return #<Process::Status: pid 2262 exit 1>

Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’

exec failed with the params {β€œcd”=>β€œ$home”, β€œtag”=>β€œmigrate”, β€œhook”=>β€œdb_migrate”, β€œcmd”=>[β€œsu discourse -c β€˜bundle exec rake db:migrate’”]}

bootstrap failed with exit code 1

** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

./discourse-doctor may help diagnose the problem.

289408d3c0350809f88a235d9c3ae0b23074f4e1a727748bbc3ab3b205e18115

==================== END REBUILD LOG ====================

Failed to rebuild app.

이 λ¬Έμ œκ°€ ν”ŒλŸ¬κ·ΈμΈκ³Ό 관련이 μžˆλŠ”μ§€ 아이디어가 μžˆμ„κΉŒμš”?

1개의 μ’‹μ•„μš”

Chatbot은 gem multipart-post-2.4.0에 μ˜μ‘΄ν•©λ‹ˆλ‹€.

zendesk ν”ŒλŸ¬κ·ΈμΈμ΄ μ΅œμ‹  버전이 μ•„λ‹Œ 것 κ°™μŠ΅λ‹ˆλ‹€?

μ €μžμ—κ²Œ μ—°λ½ν•˜μ—¬ μ—…λ°μ΄νŠΈλ₯Ό μš”μ²­ν•˜κ±°λ‚˜ zendesk ν”ŒλŸ¬κ·ΈμΈμ— PR을 λ³΄λ‚΄λŠ” 것을 μΆ”μ²œν•©λ‹ˆλ‹€ :slight_smile:

λŒ€μ‹  Chatbot을 ν¬ν¬ν•˜μ—¬ 이전 λ²„μ „μ—μ„œ μž‘λ™ν•˜λŠ”μ§€ 확인해 λ³Ό μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

@merefield κ°μ‚¬ν•©λ‹ˆλ‹€!

λ„λŒ€μ²΄ μ–΄λ–»κ²Œ κ·Έλ ‡κ²Œ λΉ λ₯΄κ²Œ λ””λ²„κΉ…ν•œ κ±°μ˜ˆμš”?

ZendeskλŠ” μ œκ±°ν• κ²Œμš”β€¦ κ°„λ‹¨ν•˜λ„€μš” :slight_smile:

1개의 μ’‹μ•„μš”

μ“΄ κ²½ν—˜ :sweat_smile:

3개의 μ’‹μ•„μš”