# Discourse 챗봇 🤖

**URL:** https://meta.discourse.org/t/discourse-chatbot/256652
**Category:** Plugin
**Tags:** ai
**Created:** [3월 1, 2023, 11:08오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652 "2023-03-01T11:08:25Z")
**Posts on this page:** 20
**Page:** 5

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 5:47오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/985 "2024-10-29T05:47:53Z")

</div>

이것은 주로 호출과 응답 방식의 봇입니다(설정된 카테고리에서 주제가 생성되면 자동으로 실행되기도 합니다). 현재는 모더레이터 역할을 수행하도록 설계되어 있지 않습니다.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 6:42오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/986 "2024-10-29T06:42:04Z")

</div>

아, 방금 업데이트를 마쳤습니다 (100커밋 정도만 뒤처져 있었습니다). 코어에서 채팅 사용에 영향을 미치는 호환성 깨짐(breaking change)이 생긴 것 같습니다. 확인해 보겠습니다.

그동안 빠른 실행(Quick Launch)을 개인 메시지로 전환해 보실 수 있습니다.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 8:35오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/987 "2024-10-29T08:35:59Z")

</div>

플러그인을 업데이트했습니다.

채팅이 이전과 동일하게 작동해야 합니다:

> <https://github.com/merefield/discourse-chatbot/commit/1fcac67507a4680d247577dd12544f16ab18414a>

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 8:45오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/988 "2024-10-29T08:45:42Z")

</div>

또한 채팅 스레드(Chat Threads) 지원도 추가했습니다.

> <https://github.com/merefield/discourse-chatbot/pull/125>
>
> \* FEATURE: Adds Chat Thread support - the bot context will be limited to the cur…rent Thread.

이제 챗봇의 컨텍스트는 현재 채팅 스레드로 제한되며, 현재 스레드에 대해서만 응답해야 합니다.

문제가 발생하면 알려주세요.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 10:40오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/989 "2024-10-29T10:40:27Z")

</div>

> <https://github.com/merefield/discourse-chatbot/commit/34b9a69316d8c964a606c4df21e50389ec8b8bc9>

1.3 릴리스로 인해 포럼 검색이 작동하지 않는 문제가 발생했으나, 이제 수정되었습니다.

---

<div class="post-metadata">

### Author: ![Epoch](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/epoch/32/455691_2.png) [@Epoch](https://meta.discourse.org/u/Epoch)
#### Post date: [10월 29, 2024, 2:43오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/990 "2024-10-29T14:43:41Z")

</div>

3시간 전에 업데이트했지만 여전히 동일한 오류가 발생하고 있습니다.

```plaintext
activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `block in error'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `each'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `error'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:38:in `rescue in create'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:11:in `create'

/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:150:in `execute'

/var/www/discourse/app/jobs/base.rb:322:in `block (2 levels) in perform'

rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'

rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'

/var/www/discourse/app/jobs/base.rb:309:in `block in perform'

/var/www/discourse/app/jobs/base.rb:305:in `each'

/var/www/discourse/app/jobs/base.rb:305:in `perform'

sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'

sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'

sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'

sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'

sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'

sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'

sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'

sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'

sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

```

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10월 29, 2024, 2:54오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/991 "2024-10-29T14:54:57Z")

</div>

그리고 사이트를 완전히 다시 구축한 건가요?

플러그인을 업그레이드하는 것만으로도 충분했을 텐데요.

현재 사용 중인 버전은 무엇인가요? 플러그인과 Discourse 모두요.

이 수정 사항을 배포하고 업그레이드한 후, 해당 문제를 재현할 수 없습니다(하지만 그 전에는 분명히 재현할 수 있었습니다).

---

<div class="post-metadata">

### Author: ![Epoch](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/epoch/32/455691_2.png) [@Epoch](https://meta.discourse.org/u/Epoch)
#### Post date: [10월 30, 2024, 3:21오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/992 "2024-10-30T15:21:12Z")

</div>

완전한 재빌드 이후에 작동합니다. 시간 내어 주셔서 감사합니다!

---

<div class="post-metadata">

### Author: ![hiddenseal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hiddenseal/32/284273_2.png) [@hiddenseal](https://meta.discourse.org/u/hiddenseal)
#### Post date: [11월 3, 2024, 11:45오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/993 "2024-11-03T23:45:35Z")

</div>

최근 업데이트 이후 봇이 응답을 멈추고 다음과 같은 오류를 표시합니다:

> Chatbot: 문제가 발생했지만 한도까지 재시도합니다: DiscourseChatbot::OpenAiBotBasic 인스턴스에서 로컬 변수 또는 메서드 `res`가 정의되지 않음

> Job exception: DiscourseChatbot::OpenAiBotBasic 인스턴스에서 로컬 변수 또는 메서드 `res`가 정의되지 않음

이 오류에 대해 아시는 점이 있으신가요?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [11월 4, 2024, 8:11오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/994 "2024-11-04T08:11:24Z")

</div>

무엇이 문제인지 짐작이 가는 것 같습니다. 확인해서 다시 알려드리겠습니다.

추측컨대, RAG 봇에는 문제가 없나요?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [11월 4, 2024, 3:00오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/995 "2024-11-04T15:00:05Z")

</div>

이제 수정되었을 것입니다:

> <https://github.com/merefield/discourse-chatbot/commit/7db0025ddce2625aebc7a4a5af2021ddb3dcf6ea>

업데이트 후 확인해 주세요.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [11월 4, 2024, 3:15오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/996 "2024-11-04T15:15:14Z")

</div>

정말 웃기네요. 제가 다시 빌드한 지 반 시간쯤 뒤에 또 수정이 적용됐어요 😂

수정해 주셔서 감사합니다. 타이밍은 좀… 🤣

---

<div class="post-metadata">

### Author: ![hiddenseal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hiddenseal/32/284273_2.png) [@hiddenseal](https://meta.discourse.org/u/hiddenseal)
#### Post date: [11월 4, 2024, 5:47오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/997 "2024-11-04T17:47:42Z")

</div>

네, 이제 작동합니다. 감사합니다.

---

<div class="post-metadata">

### Author: ![Zomb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zomb/32/93881_2.png) [@Zomb](https://meta.discourse.org/u/Zomb)
#### Post date: [11월 11, 2024, 5:37오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/998 "2024-11-11T05:37:50Z")

</div>

이 플러그인을 만들어 주셔서 감사합니다! 설치를 완료했고, 모든 것이 잘 된 것 같습니다 (모든 설정이 있고, API 키, OpenAI 크레딧이 있으며, 챗봇이 사용자로 추가되었고, 저를 고신뢰 그룹 중 하나로 설정했습니다). 하지만 채팅박스에서 응답을 받지 못합니다. 개인 채팅이든 공개 채팅이든 마찬가지입니다. 제가 무엇을 잘못하고 있는지, 어떤 정보를 공유해야 할지 모르겠습니다.

또한, ‘챗봇과 대화하기’ 버튼을 클릭해도 아무 반응이 없습니다. 🤔

---

<div class="post-metadata">

### Author: ![Zomb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zomb/32/93881_2.png) [@Zomb](https://meta.discourse.org/u/Zomb)
#### Post date: [11월 11, 2024, 6:23오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/999 "2024-11-11T06:23:51Z")

</div>

말이 빨랐다. 봇 이름을 바꿨기 때문이었다. 이제 몇 개의 메시지만 보냈는데 왜 할당량에 도달했는지 알아내야 한다.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [11월 11, 2024, 7:41오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/1000 "2024-11-11T07:41:49Z")

</div>

사용자가 현재 어떤 Chatbot 신뢰 수준에 있는지 확인하세요.

세 가지 "신뢰 수준"은 각각 Discourse 그룹의 모음입니다.

일반적으로 관리자는 High에 포함된 그룹에 속하도록 설정합니다.

기본 전략인 쿼리 추적(`chatbot_quota_basis`)으로 시작하는 것을 권장합니다. 이 설정을 토큰으로 변경한 경우, 각 쿼리가 수천 개의 토큰을 소모할 수 있으므로 모든 신뢰 수준의 기본 할당량을 크게 늘려야 합니다. 기본값은 쿼리 처리를 지원하도록 설정되어 있습니다.

---

<div class="post-metadata">

### Author: ![Zomb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zomb/32/93881_2.png) [@Zomb](https://meta.discourse.org/u/Zomb)
#### Post date: [11월 11, 2024, 9:06오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/1001 "2024-11-11T09:06:14Z")

</div>

네, 저는 고신뢰 그룹에 속해 있습니다. 그리고 할당량 기준을 쿼리로 설정해 두었습니다. 챗봇이 질문에 하나를 답변한 후 바로 다음과 같이 표시했습니다: \*

 ![Screenshot 2024-11-11 at 4.06.07 AM](https://global.discourse-cdn.com/meta/original/4X/f/5/0/f50c379364a57d7709c05f526299c2da9855fbf2.png)  
\*

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [11월 11, 2024, 9:29오전 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/1002 "2024-11-11T09:29:59Z")

</div>

해당 트리거 버튼을 눌러 sidekiq에서 쿼터 리셋 작업을 실행해 보세요:

> [@Discourse 챗봇 robot](https://meta.discourse.org/t/discourse-chatbot/256652/981?u=merefield):
>
> Chatbot 1.3 버전이 출시되었습니다 tada 기능 추가: 토큰별로 할당량(quota)을 관리할 수 있는 옵션 추가 새로운 설정 chatbot\_quota\_basis를 통해 이를 활성화할 수 있으며, 그렇지 않으면 기존처럼 쿼리 수 기준으로 관리됩니다. 기본 설정에서의 유일한 차이는 할당량이 시작 최대 할당량(여전히 동일한 신뢰 수준 설정에 기반함)에서 \_내려\_오는 방식으로 계산된다는 점입니다. 기능 추가: DALL-E와 같은 API 호출 비용을 사용자 사용량에 포함 토큰 기준에서만 적용 API 기능의 토큰 비용을 조절하기 위해 세밀하게 조정할 수 있는 다양한 새로운 설정 추가 기능 추가: 사용자가 남은 할당량을 확인할 수 있는 기능 추가 Chatbot은 항상 사용량 할당량 강제 기능을 포함하고 있었습니다. 오늘 이 기능이 더 정교해졌습니다! Chatbot은 이제 토큰별 사용량에 대한 할당량을 추적하고 강제할 수 있습니다. API 호출에 비용을 부과하…

그 후 봇에게 남은 쿼터가 얼마인지 물어보세요.

---

<div class="post-metadata">

### Author: ![Zomb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zomb/32/93881_2.png) [@Zomb](https://meta.discourse.org/u/Zomb)
#### Post date: [11월 11, 2024, 7:10오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/1003 "2024-11-11T19:10:20Z")

</div>

동작합니다! 정말 감사합니다!

 ![Screenshot 2024-11-11 at 2.09.35 PM](https://global.discourse-cdn.com/meta/original/4X/7/a/3/7a32334afc996f7f6b132707a4a3f9ab0e2c68bf.png)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [11월 11, 2024, 7:15오후 UTC](https://meta.discourse.org/t/discourse-chatbot/256652/1004 "2024-11-11T19:15:33Z")

</div>

좋아요!

하지만 아, Ro-Bot이 거짓말을 했네요 (이것은 LLM의 한계입니다).

시스템 프롬프트에 추가하지 않는 한 Ro-Bot은 이를 알 수 없으며, 어떤 쿼리든 쿼터를 소모하게 됩니다 (쿼터가 소진될 때까지).

[Previous page](https://meta.discourse.org/t/discourse-chatbot/256652.md?page=4)

[Next page](https://meta.discourse.org/t/discourse-chatbot/256652.md?page=6)
