Skip to content

Commit

Permalink
Add bot background setting
Browse files Browse the repository at this point in the history
  • Loading branch information
memochou1993 committed Feb 21, 2023
1 parent 4cf104f commit ab1558a
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 20 deletions.
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ APP_WEBHOOK_PATH=
APP_MAX_GROUPS=
APP_MAX_USERS=

HUMAN_NAME=
HUMAN_BACKGROUND=

BOT_NAME=
BOT_BACKGROUND=
BOT_DEACTIVATED=false

ERROR_TIMEOUT_DISABLED=false
Expand Down
3 changes: 3 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,10 @@ Name | Default Value | Description
`APP_LANG` | `zh` | Application language. The value must be one of `zh`, `en` or `ja`.
`APP_MAX_GROUPS` | `1` | Maximum groups. The `VERCEL_ACCESS_TOKEN` environment variable is required.
`APP_MAX_USERS` | `5` | Maximum users. The `VERCEL_ACCESS_TOKEN` environment variable is required.
`HUMAN_NAME` | `Human` | Name of user.
`HUMAN_BACKGROUND` | `''` | Background or personality of user.
`BOT_NAME` | `AI` | Name of AI Assistant. This is used to call AI Assistant when auto-reply is deactivated.
`BOT_BACKGROUND` | `''` | Background or personality of AI Assistant.
`BOT_DEACTIVATED` | `false` | Deactivate auto-reply at the beginning. The value must be `true` of `false`.
`ERROR_TIMEOUT_DISABLED` | `false` | Disable timeout error. The value must be `true` of `false`.
`VERCEL_TIMEOUT` | 9000 | Timeout for Vercel API calls.
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,10 @@ GPT AI Assistant 是基於 OpenAI API 與 LINE Messaging API 實作的應用程
`APP_LANG` | `zh` | 程式的初始語言,值必須是 `zh``en``ja`
`APP_MAX_GROUPS` | `1` | 群組數量上限,須搭配 `VERCEL_ACCESS_TOKEN` 環境變數。
`APP_MAX_USERS` | `5` | 用戶數量上限,須搭配 `VERCEL_ACCESS_TOKEN` 環境變數。
`BOT_NAME` | `AI` | AI 助理的名字,在 AI 自動回覆設為關閉時呼叫。
`HUMAN_NAME` | `Human` | 使用者的名字。
`HUMAN_BACKGROUND` | `''` | 使用者的背景或人物設定。
`BOT_NAME` | `AI` | AI 助理的名字。在 AI 自動回覆設為關閉時,可以用來呼叫。
`BOT_BACKGROUND` | `''` | AI 助理的背景或人物設定。
`BOT_DEACTIVATED` | `false` | 在一開始將 AI 自動回覆設為關閉,值必須是 `true``false`
`ERROR_TIMEOUT_DISABLED` | `false` | 將呼叫 API 超時的錯誤關閉,值必須是 `true``false`
`VERCEL_TIMEOUT` | 9000 | 呼叫 Vercel API 的超時時間。
Expand Down
3 changes: 2 additions & 1 deletion app/commands/bot-summon-demo.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import config from '../../config/index.js';
import { TYPE_SYSTEM } from '../../constants/command.js';
import { t } from '../../locales/index.js';
import Command from './command.js';

export default new Command({
type: TYPE_SYSTEM,
label: t('__COMMAND_BOT_SUMMON_DEMO_LABEL'),
text: t('__COMMAND_BOT_SUMMON_DEMO_TEXT'),
text: `${config.BOT_NAME} ${t('__COMMAND_BOT_SUMMON_DEMO_TEXT')}`,
});
6 changes: 3 additions & 3 deletions app/prompt/prompt.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ class Prompt {

constructor() {
this
.write(PARTICIPANT_HUMAN, t('__COMPLETION_INIT_MESSAGE_HUMAN'))
.write(PARTICIPANT_AI, t('__COMPLETION_INIT_MESSAGE_AI')(config.BOT_NAME));
.write(PARTICIPANT_HUMAN, `${t('__COMPLETION_DEFAULT_HUMAN_GREETING')(config.HUMAN_NAME)}${config.HUMAN_BACKGROUND}`)
.write(PARTICIPANT_AI, `${t('__COMPLETION_DEFAULT_AI_GREETING')(config.BOT_NAME)}${config.BOT_BACKGROUND}`);
}

/**
Expand Down Expand Up @@ -41,7 +41,7 @@ class Prompt {
*/
write(title, text = '') {
if (this.sentences.length >= MAX_SENTENCES || this.tokenCount >= MAX_TOKENS) {
this.sentences.shift();
this.sentences.splice(2, 1);
}
this.sentences.push(new Sentence({ title, text }));
return this;
Expand Down
3 changes: 3 additions & 0 deletions config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ const config = Object.freeze({
APP_WEBHOOK_PATH: env.APP_WEBHOOK_PATH || '/webhook',
APP_MAX_GROUPS: Number(env.APP_MAX_GROUPS) || 1,
APP_MAX_USERS: Number(env.APP_MAX_USERS) || 5,
HUMAN_NAME: env.HUMAN_NAME || 'Human',
HUMAN_BACKGROUND: env.HUMAN_BACKGROUND || '',
BOT_NAME: env.BOT_NAME || 'AI',
BOT_BACKGROUND: env.BOT_BACKGROUND || '',
BOT_DEACTIVATED: env.BOT_DEACTIVATED === 'true' || false,
ERROR_TIMEOUT_DISABLED: env.ERROR_TIMEOUT_DISABLED === 'true' || false,
VERCEL_ENV: env.VERCEL_ENV || null,
Expand Down
8 changes: 3 additions & 5 deletions locales/en.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import config from '../config/index.js';

const en = {
__COMMAND_ANALYZE_ANALYZE_LABEL: 'Analyze',
__COMMAND_ANALYZE_ANALYZE_TEXT: 'Analyze',
Expand Down Expand Up @@ -46,7 +44,7 @@ const en = {
__COMMAND_BOT_SEARCH_TEXT: 'Search',
__COMMAND_BOT_SEARCH_ALIASES: [],
__COMMAND_BOT_SUMMON_DEMO_LABEL: 'Summon',
__COMMAND_BOT_SUMMON_DEMO_TEXT: `${config.BOT_NAME} What's up?`,
__COMMAND_BOT_SUMMON_DEMO_TEXT: 'What\'s up?',
__COMMAND_BOT_TALK_LABEL: 'Talk',
__COMMAND_BOT_TALK_TEXT: 'Talk',
__COMMAND_BOT_TALK_ALIASES: [],
Expand Down Expand Up @@ -95,8 +93,8 @@ const en = {
__COMMAND_TRANSLATE_TO_JA_LABEL: '翻成日文', // TODO
__COMMAND_TRANSLATE_TO_JA_TEXT: '翻成日文', // TODO
__COMMAND_TRANSLATE_TO_JA_PROMPT: '請將以下內容翻譯成日文。', // TODO
__COMPLETION_INIT_MESSAGE_HUMAN: 'Hello!',
__COMPLETION_INIT_MESSAGE_AI: (name) => `Hello! I am ${name}.`,
__COMPLETION_DEFAULT_HUMAN_GREETING: (name) => `I am ${name}.`,
__COMPLETION_DEFAULT_AI_GREETING: (name) => `I am ${name}.`,
__COMPLETION_SEARCH: (a, q) => `根據「${a}」查詢結果,回答「${q}」問題`, // TODO
__COMPLETION_SEARCH_NOT_FOUND: '查無資料', // TODO
__COMPLETION_QUOTATION_MARK_OPENING: '"',
Expand Down
8 changes: 3 additions & 5 deletions locales/ja.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import config from '../config/index.js';

const ja = {
__COMMAND_ANALYZE_ANALYZE_LABEL: '分析して',
__COMMAND_ANALYZE_ANALYZE_TEXT: '分析して',
Expand Down Expand Up @@ -46,7 +44,7 @@ const ja = {
__COMMAND_BOT_SEARCH_TEXT: '查詢', // TODO
__COMMAND_BOT_SEARCH_ALIASES: [],
__COMMAND_BOT_SUMMON_DEMO_LABEL: 'サモン',
__COMMAND_BOT_SUMMON_DEMO_TEXT: `${config.BOT_NAME} 元気?`,
__COMMAND_BOT_SUMMON_DEMO_TEXT: '元気?',
__COMMAND_BOT_TALK_LABEL: '話して',
__COMMAND_BOT_TALK_TEXT: '話して',
__COMMAND_BOT_TALK_ALIASES: [],
Expand Down Expand Up @@ -95,8 +93,8 @@ const ja = {
__COMMAND_TRANSLATE_TO_JA_LABEL: '翻成日文', // TODO
__COMMAND_TRANSLATE_TO_JA_TEXT: '翻成日文', // TODO
__COMMAND_TRANSLATE_TO_JA_PROMPT: '請將以下內容翻譯成日文。', // TODO
__COMPLETION_INIT_MESSAGE_HUMAN: 'こんにちは!',
__COMPLETION_INIT_MESSAGE_AI: (name) => `こんにちは!私は${name}です。`,
__COMPLETION_DEFAULT_HUMAN_GREETING: (name) => `私は${name}です。`,
__COMPLETION_DEFAULT_AI_GREETING: (name) => `私は${name}です。`,
__COMPLETION_SEARCH: (a, q) => `根據「${a}」查詢結果,回答「${q}」問題`, // TODO
__COMPLETION_SEARCH_NOT_FOUND: '查無資料', // TODO
__COMPLETION_QUOTATION_MARK_OPENING: '「',
Expand Down
8 changes: 3 additions & 5 deletions locales/zh.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import config from '../config/index.js';

const zh = {
__COMMAND_ANALYZE_ANALYZE_LABEL: '分析',
__COMMAND_ANALYZE_ANALYZE_TEXT: '分析',
Expand Down Expand Up @@ -46,7 +44,7 @@ const zh = {
__COMMAND_BOT_SEARCH_TEXT: '查詢',
__COMMAND_BOT_SEARCH_ALIASES: [],
__COMMAND_BOT_SUMMON_DEMO_LABEL: '呼叫',
__COMMAND_BOT_SUMMON_DEMO_TEXT: `${config.BOT_NAME} 你好嗎?`,
__COMMAND_BOT_SUMMON_DEMO_TEXT: '你好嗎?',
__COMMAND_BOT_TALK_LABEL: '請問',
__COMMAND_BOT_TALK_TEXT: '請問',
__COMMAND_BOT_TALK_ALIASES: [],
Expand Down Expand Up @@ -95,8 +93,8 @@ const zh = {
__COMMAND_TRANSLATE_TO_JA_LABEL: '翻成日文',
__COMMAND_TRANSLATE_TO_JA_TEXT: '翻成日文',
__COMMAND_TRANSLATE_TO_JA_PROMPT: '請將以下內容翻譯成日文。',
__COMPLETION_INIT_MESSAGE_HUMAN: '你好。',
__COMPLETION_INIT_MESSAGE_AI: (name) => `哈囉!我是${name}。`,
__COMPLETION_DEFAULT_HUMAN_GREETING: (name) => `哈囉!我是${name}。`,
__COMPLETION_DEFAULT_AI_GREETING: (name) => `哈囉!我是${name}。`,
__COMPLETION_SEARCH: (a, q) => `根據「${a}」查詢結果,回答「${q}」問題`,
__COMPLETION_SEARCH_NOT_FOUND: '查無資料',
__COMPLETION_QUOTATION_MARK_OPENING: '「',
Expand Down

0 comments on commit ab1558a

Please sign in to comment.