feat: add salutation field to user profile
- Add salutation field to knowledge_user schema (after alias, nullable) - Update users_store() to accept and store salutation - Add salutation to users_store and users_update tool schemas - Add salutation to users_filter output display - Add Salutation to User Context in telegram and xmpp clients
This commit is contained in:
parent
11d05a937e
commit
2c65c51ec9
@ -11,6 +11,7 @@ def _schema_user(vector_size):
|
|||||||
pyarrow.field('fullname', pyarrow.string(), metadata={'description': 'Fullname'}),
|
pyarrow.field('fullname', pyarrow.string(), metadata={'description': 'Fullname'}),
|
||||||
pyarrow.field('nickname', pyarrow.string(), metadata={'description': 'Nickname'}),
|
pyarrow.field('nickname', pyarrow.string(), metadata={'description': 'Nickname'}),
|
||||||
pyarrow.field('alias', pyarrow.string(), nullable=True, metadata={'description': 'Another call name'}),
|
pyarrow.field('alias', pyarrow.string(), nullable=True, metadata={'description': 'Another call name'}),
|
||||||
|
pyarrow.field('salutation', pyarrow.string(), nullable=True, metadata={'description': 'Salutation/greeting for the user'}),
|
||||||
pyarrow.field('persona', pyarrow.string(), nullable=True, metadata={'description': 'Persona'}),
|
pyarrow.field('persona', pyarrow.string(), nullable=True, metadata={'description': 'Persona'}),
|
||||||
pyarrow.field('telegram_id', pyarrow.string(), nullable=True, metadata={'description': 'Telegram ID'}),
|
pyarrow.field('telegram_id', pyarrow.string(), nullable=True, metadata={'description': 'Telegram ID'}),
|
||||||
pyarrow.field('telegram_username', pyarrow.string(), nullable=True, metadata={'description': 'Telegram username'}),
|
pyarrow.field('telegram_username', pyarrow.string(), nullable=True, metadata={'description': 'Telegram username'}),
|
||||||
@ -129,7 +130,7 @@ def embed_text(url, model, text):
|
|||||||
data = response.json()
|
data = response.json()
|
||||||
return data["embeddings"][0]
|
return data["embeddings"][0]
|
||||||
|
|
||||||
def users_store(db_path, model_url, model_name, fullname, nickname, alias, persona, telegram_id, telegram_username, xampp_username):
|
def users_store(db_path, model_url, model_name, fullname, nickname, alias, salutation, persona, telegram_id, telegram_username, xampp_username):
|
||||||
try:
|
try:
|
||||||
db = lancedb.connect(db_path)
|
db = lancedb.connect(db_path)
|
||||||
table = db.open_table("knowledge_user")
|
table = db.open_table("knowledge_user")
|
||||||
@ -140,6 +141,7 @@ def users_store(db_path, model_url, model_name, fullname, nickname, alias, perso
|
|||||||
"fullname": fullname,
|
"fullname": fullname,
|
||||||
"nickname": nickname,
|
"nickname": nickname,
|
||||||
"alias": alias,
|
"alias": alias,
|
||||||
|
"salutation": salutation,
|
||||||
"persona": persona,
|
"persona": persona,
|
||||||
"telegram_id": telegram_id,
|
"telegram_id": telegram_id,
|
||||||
"telegram_username": telegram_username,
|
"telegram_username": telegram_username,
|
||||||
|
|||||||
@ -202,6 +202,7 @@ class TelegramClient:
|
|||||||
f'[User Context]\n'
|
f'[User Context]\n'
|
||||||
f'Nama: {u["fullname"]} ({u["nickname"]})\n'
|
f'Nama: {u["fullname"]} ({u["nickname"]})\n'
|
||||||
f'Alias: {u.get("alias", "-") or "-"}\n'
|
f'Alias: {u.get("alias", "-") or "-"}\n'
|
||||||
|
f'Salutation: {u.get("salutation", "-") or "-"}\n'
|
||||||
f'Persona: {u.get("persona", "-") or "-"}\n'
|
f'Persona: {u.get("persona", "-") or "-"}\n'
|
||||||
f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n'
|
f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n'
|
||||||
f'XMPP: {u.get("xampp_username", "-") or "-"}\n'
|
f'XMPP: {u.get("xampp_username", "-") or "-"}\n'
|
||||||
|
|||||||
@ -306,6 +306,7 @@ class XMPPClient(ClientXMPP):
|
|||||||
f'[User Context]\n'
|
f'[User Context]\n'
|
||||||
f'Nama: {u["fullname"]} ({u["nickname"]})\n'
|
f'Nama: {u["fullname"]} ({u["nickname"]})\n'
|
||||||
f'Alias: {u.get("alias", "-") or "-"}\n'
|
f'Alias: {u.get("alias", "-") or "-"}\n'
|
||||||
|
f'Salutation: {u.get("salutation", "-") or "-"}\n'
|
||||||
f'Persona: {u.get("persona", "-") or "-"}\n'
|
f'Persona: {u.get("persona", "-") or "-"}\n'
|
||||||
f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n'
|
f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n'
|
||||||
f'XMPP: {u.get("xampp_username", "-") or "-"}\n'
|
f'XMPP: {u.get("xampp_username", "-") or "-"}\n'
|
||||||
|
|||||||
@ -19,6 +19,7 @@ schema_users_store = {
|
|||||||
"fullname": {"type": "string", "description": "Full name of the user"},
|
"fullname": {"type": "string", "description": "Full name of the user"},
|
||||||
"nickname": {"type": "string", "description": "Nickname of the user"},
|
"nickname": {"type": "string", "description": "Nickname of the user"},
|
||||||
"alias": {"type": "string", "description": "Alias of the user"},
|
"alias": {"type": "string", "description": "Alias of the user"},
|
||||||
|
"salutation": {"type": "string", "description": "How to address/greet the user (e.g., Mas, Mbak, Kak)"},
|
||||||
"persona": {"type": "string", "description": "Detailed persona or description of the user"},
|
"persona": {"type": "string", "description": "Detailed persona or description of the user"},
|
||||||
"telegram_id": {"type": "string", "description": "Telegram user ID"},
|
"telegram_id": {"type": "string", "description": "Telegram user ID"},
|
||||||
"telegram_username": {"type": "string", "description": "Telegram username"},
|
"telegram_username": {"type": "string", "description": "Telegram username"},
|
||||||
@ -58,6 +59,7 @@ schema_users_update = {
|
|||||||
"fullname": {"type": "string", "description": "Updated full name"},
|
"fullname": {"type": "string", "description": "Updated full name"},
|
||||||
"nickname": {"type": "string", "description": "Updated nickname"},
|
"nickname": {"type": "string", "description": "Updated nickname"},
|
||||||
"alias": {"type": "string", "description": "Updated alias"},
|
"alias": {"type": "string", "description": "Updated alias"},
|
||||||
|
"salutation": {"type": "string", "description": "Updated salutation"},
|
||||||
"persona": {"type": "string", "description": "Updated persona description"},
|
"persona": {"type": "string", "description": "Updated persona description"},
|
||||||
"telegram_id": {"type": "string", "description": "Updated telegram ID"},
|
"telegram_id": {"type": "string", "description": "Updated telegram ID"},
|
||||||
"telegram_username": {"type": "string", "description": "Updated telegram username"},
|
"telegram_username": {"type": "string", "description": "Updated telegram username"},
|
||||||
@ -617,7 +619,7 @@ def memories_delete(memory_id):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
return f"Error while deleting memory: {str(e)}"
|
return f"Error while deleting memory: {str(e)}"
|
||||||
|
|
||||||
def users_store(fullname, nickname, alias=None, persona=None, telegram_id=None, telegram_username=None, xampp_username=None):
|
def users_store(fullname, nickname, alias=None, salutation=None, persona=None, telegram_id=None, telegram_username=None, xampp_username=None):
|
||||||
try:
|
try:
|
||||||
success = ragroleplay_lib.users_store(
|
success = ragroleplay_lib.users_store(
|
||||||
config.ragroleplay_db_path,
|
config.ragroleplay_db_path,
|
||||||
@ -626,6 +628,7 @@ def users_store(fullname, nickname, alias=None, persona=None, telegram_id=None,
|
|||||||
fullname,
|
fullname,
|
||||||
nickname,
|
nickname,
|
||||||
alias,
|
alias,
|
||||||
|
salutation,
|
||||||
persona,
|
persona,
|
||||||
telegram_id,
|
telegram_id,
|
||||||
telegram_username,
|
telegram_username,
|
||||||
@ -651,6 +654,7 @@ def users_filter(query_name=None, unique_id=None, persona_keyword=None, user_id=
|
|||||||
f"User #{i}\n"
|
f"User #{i}\n"
|
||||||
f"ID: {row['id']}\n"
|
f"ID: {row['id']}\n"
|
||||||
f"Nama: {row['fullname']} ({row['nickname']})\n"
|
f"Nama: {row['fullname']} ({row['nickname']})\n"
|
||||||
|
f"Salutation: {row.get('salutation', '-') or '-'}\n"
|
||||||
f"Persona: {row['persona']}\n"
|
f"Persona: {row['persona']}\n"
|
||||||
)
|
)
|
||||||
output.append(user_info)
|
output.append(user_info)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user