Discourse용 신규 AI 페르소나 에디터

Discourse에서 완전히 새로운 기능인 AI 페르소나 에디터의 출시를 발표하게 되어 매우 기쁩니다. 이 기능은 AI 서비스의 일환으로, AI 봇 기능을 통해 Claude나 Open AI GPT 모델과 같은 언어 학습 모델(LLM)과 사용자가 상호작용하는 방식을 조정함으로써 Discourse 플랫폼의 상호작용 경험을 사용자화하고 향상시킬 수 있게 해줍니다.

AI 페르소나 에디터란?

페르소나 에디터는 AI 페르소나를 관리하고 사용자화할 수 있는 관리 인터페이스입니다.

이 새로운 관리 UI는 /admin/plugins/discourse-ai/ai_personas 경로에서 접근할 수 있습니다. 현재 편집 인터페이스에 접근할 수 있는 권한은 관리자(admin)에게만 있습니다.

주요 기능

각 페르소나는 다음 속성을 가집니다:

  • 이름(Name): 각 페르소나에 대한 고유한 이름.
  • 설명(Description): 페르소나가 수행하는 작업에 대한 상세 설명으로, 페르소나 드롭다운 메뉴에 표시됩니다.
  • 명령어(Commands): 페르소나가 수행할 수 있는 작업 목록(예: 검색, 토픽 읽기 등).
  • 시스템 프롬프트(System Prompt): 페르소나의 기본 상호작용 프롬프트입니다. 이는 페르소나의 작동 방식을 결정하는 톤을 설정합니다.
  • 허용된 그룹 ID(Allowed Group IDs): 해당 페르소나와 상호작용할 수 있는 그룹.
  • 활성화(Enabled): 페르소나가 활성화되어 있는지 여부.
  • 시스템(System): 페르소나가 시스템 엔티티인지 여부.
  • 우선순위(Priority): 페르소나가 목록에 나열되는 순서를 결정합니다.

시스템 페르소나의 경우, “활성화(enabled)”, “우선순위(priority)” 및 “허용된 그룹 ID(Allowed group ids)” 속성만 변경할 수 있습니다. 시스템 페르소나의 “시스템 프롬프트”, “명령어”, “이름”, "설명"은 변경할 수 없습니다. 우선순위가 높은 페르소나는 목록의 상단에 정렬되며, 나머지는 알파벳 순으로 정렬됩니다.

이 인터페이스에서 모든 표준 시스템 프롬프트를 확인할 수 있으며, 이를 기반으로 자신만의 사용자화 템플릿으로 활용할 수 있습니다.

페르소나 사용자화

페르소나 에디터를 사용하면 최종 사용자가 접근할 수 있는 페르소나 목록을 사용자화할 수 있습니다. 예를 들어, SQL 헬퍼와 설정 탐색기 페르소나에 대한 접근 권한을 스태프만 가질 수 있도록 설정할 수 있습니다. 이를 통해 커뮤니티 내 특정 필요와 역할에 맞게 페르소나를 맞춤 설정할 수 있습니다.

기본 제공 페르소나

이미 다양한 사전 구성된 페르소나를 제공합니다. 전체 페르소나 목록은 여기에서 확인할 수 있습니다.

향상된 사용 사례

페르소나를 활용할 수 있는 몇 가지 방법을 소개합니다:

  1. 일본어로 구글 검색: 사용자 쿼리를 일본어로 번역하고 일본 웹을 검색하는 페르소나를 만들어, 다른 관점에서 콘텐츠에 접근하고 탐색하는 독특한 방법을 제공합니다.

  2. 콘텐츠 모더레이션: 커뮤니티 행동 규약을 시스템 프롬프트에 붙여넣고, AI가 해당 콘텐츠가 기준을 충족하는지 여부를 확인하도록 요청할 수 있습니다. 이는 존중과 포용적인 커뮤니티 환경을 유지하는 데 강력한 도구가 될 수 있습니다.

  3. 문서 도우미: 다른 모든 것보다 docs 카테고리를 검색하는 것을 우선시하는 페르소나를 만들어, 중요한 정보에 빠르고 쉽게 접근할 수 있게 할 수 있습니다.

  4. 커스텀 SQL 헬퍼: 데이터베이스 스키마를 붙여넣고 사용하는 SQL 방언을 알려주면, 자신만의 고유한 DB에 맞춰 튜닝된 SQL 헬퍼를 얻을 수 있습니다.

향후 아이디어

페르소나 에디터의 기능을 개선하고 확장하기 위해 항상 노력하고 있습니다. 향후 강화 사항으로 고려하고 있는 몇 가지 아이디어는 다음과 같습니다:

  • 원격 API 접근: 사용자가 선택한 원격 API에 페르소나가 접근할 수 있도록 허용합니다. 이를 통해 외부 서비스 및 데이터 소스를 통합하는 다양한 가능성이 열릴 수 있습니다.
  • 커스텀 콘텐츠: 사용자가 업로드하고 우리가 임베드하는 커스텀 콘텐츠에 페르소나가 접근할 수 있도록 허용합니다. 이는 사용자에게 독특하고 개인화된 콘텐츠를 제공하는 좋은 방법이 될 수 있습니다.

Discourse AI와 새로운 AI 페르소나 에디터에 대한 자세한 정보는 다음 리소스를 확인해 주세요:

이 새로운 기능을 즐기시고 유용하게 활용하시길 바랍니다. Discourse 플랫폼에서 페르소나 에디터를 창의적으로 활용하는 모습을 기대합니다!

35개의 좋아요

Hello,

Regarding the" Enabled Commands" features, our staff quite like it. Is there any documentation that explains what these commands do exactly? We’re a bit confused, for example, as it seems AI can search both the forum and the internet. We can only guess that for example: Dall-E is calling Dall-E , Summarize is ask ai to work, but Tags? Time ? Anyone can point out the right direction for me ? thanks

6개의 좋아요

In addition, can we change the bot username and icon to make it more customized? At moment is is called GPTx_bot etc. I know we can change the user name and profile pic from the Admin panel , If I change the default name from gptx_bot to different names, will it cause any issues?
thanks

4개의 좋아요

Will work on adding documentation over the next week or two. I want to add support for command params, so this will be a good opportunity to add a description string there.

Tags, just allows the bot to look up the list of tags
Time allows the bot to look up current time at any time zone

Attaching a persona to a user is certainly something I want us to get to, for sure.

You can safely change the username of the bot and upload a custom avatar, we use the user_id as a key there, so those changes will be stable.

7개의 좋아요

4 posts were split to a new topic: AI Persona list not scrollable

Custom persona is an exciting development! I jumped right in to make one but I don’t seem to have anything under the “Enabled Commands” menu, so my bot can’t really do anything other than chitchat. This is on a self-hosted instance - everything up to date as of a few minutes ago. Just want to make sure I’m not missing something obvious.

2개의 좋아요

thanks so much for raising, we temporarily regressed here, I just added a test so we will not regress again, fix will be merged probably on monday, weekend here :slight_smile:

https://github.com/discourse/discourse-ai/pull/330

6개의 좋아요

Any updates here by chance? Our use case would be integrating a bunch of manuals and operating tips documents and allowing those be referenced alongside all the forum-generated content from our members.

3개의 좋아요

Still thinking about the exact implementation, there are many moving parts

Nothing concrete yet.

6개의 좋아요

Is this done by prompting or will this be a future setting?

1개의 좋아요

Already supported, create a new persona, add the search tool, you can specify the filter to apply

2개의 좋아요

Oops, overlooked! Can these personas use multiple tools in one answer? I am trying to get it to search & read at least the first result, however no matter how I prompt it likes to search and bases the answer on this, instead of reading posts from the results, leading to responses that are pretty illogical in the context (documentation assistant).

1개의 좋아요

It can certainly run multiple tools, but some models like gpt 3.5 are super hard to convince

Maybe try haiku

2개의 좋아요

I was using Haiku since start, getting better results now after some more prompting. Something like “if you used the SEARCH tool, you must at least perform one READ action” did the job.

2개의 좋아요

The image in the first post appears to be broken.

2개의 좋아요

I noticed the personas always search for order:latest which does not really give the search results I expect it to get, changing this with prompting did not really work. Is there another way to tweak this?

1개의 좋아요

You should be able to prompt engineer your way out of this:

order is one of the params the search tool gets … it does not even default to latest.

You can force an ordering by wacking in a base query on your tool and prompting it asking it never to supply order: discourse-ai/lib/ai_bot/tools/search.rb at e8d110b444df8ab540232d050ed8c3744a5f38e6 · discourse/discourse-ai · GitHub

3개의 좋아요

I was actually just referring to that part of the code and am playing around with the prompting.

In my experience, when dealing with longer context/chains on “cheaper” models combined with negatives in the prompting can also backfire, but it seems Haiku handles this pretty well at the first tries it seems (avoiding usage of “do not” and using terms like “never” or “avoid” helps here btw).

Thanks for the insights.

BTW, small bug (or not?): when u use a persona with a user set-up, the DM participants are: ai-model-bot, me and new-bot-user, strangely this caused the new-bot-user to respond with “Hey ai-model-bot”, instead of “Hey Marc” :smile: is ai-model-bot there for a reason?

1개의 좋아요

Hmm this is a odd certainly something that we can fix. I wonder if the model is just confused cause we ship the user name in the prompt with the original question.

Opus seems to get this right…

1개의 좋아요

I’ve had enough conversations to say it was a confusion and I think it only affects the lower-end models. But some of my personas look “Human” so it was definitely funny to see a third participant in a DM.

Is there an easy way to style the share convo page btw? I notice it ignores theme/component styling.

1개의 좋아요