@xuda.io/ai_module 1.1.5125 → 1.1.5127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.mjs +25 -20
  2. package/package.json +1 -1
package/index.mjs CHANGED
@@ -10888,38 +10888,43 @@ export const get_chat_suggestions = async function (uid, ai_agents, conversation
10888
10888
 
10889
10889
  const agents_docs = await get_agents();
10890
10890
 
10891
+ const AgentItemSchema = z.object({
10892
+ agent_id: z.string().describe('The unique identifier for the agent'),
10893
+ short_action: z.string().describe('A brief, 2-4 word call to action'),
10894
+ agent_description: z.string().describe("A professional description of the agent's capabilities"),
10895
+ });
10896
+
10897
+ // Define the response format as a fixed-length array of 5
10898
+ const AgentResponseSchema = z.object({
10899
+ agents: z.array(AgentItemSchema).length(5),
10900
+ });
10901
+
10891
10902
  const chat_ret = await submit_chat_gpt_prompt({
10892
10903
  uid,
10893
10904
  prompt: `
10894
10905
 
10895
- ## goal:
10896
- return 5 agent names best fit from the ## agent list
10897
- considure the following parametes:
10898
-
10899
- 1. the user prompt:
10900
- 2. the prompt response:
10901
- 3. the user info
10906
+ Role: You are a routing assistant.
10907
+
10908
+ Task: Analyze the provided user context and select the 5 most relevant agents from the ## Agent List.
10909
+
10910
+ Selection Logic:
10911
+ Base your selection on the alignment between the agent's purpose and the following context:
10902
10912
 
10903
- ## user info:
10904
- ${JSON.stringify(account_doc.account_info)}
10913
+ User Profile: ${JSON.stringify(account_doc.account_info)}
10905
10914
 
10906
- ## user prompt:
10907
- ${conversation_item_doc.prompt || conversation_doc.prompt}
10915
+ Recent Interaction: The user asked ${conversation_item_doc.prompt || conversation_doc.prompt}, categorized as ${conversation_doc?.category_info?.category}, which resulted in the response: ${conversation_item_doc.text}.
10908
10916
 
10909
- ## prompt category:
10910
- ${conversation_doc?.category_info?.category}
10917
+ Data Source: > ${JSON.stringify(agents_docs)}
10911
10918
 
10912
- ## prompt response:
10913
- ${conversation_item_doc.text}
10919
+ Output: > Return a JSON array of exactly 5 objects following this schema:
10920
+ [{ "agent_id": "string", "short_action": "string", "agent_description": "string" }]
10914
10921
 
10915
- ## agent list:
10916
- ${JSON.stringify(agents_docs)}
10922
+ ## output example:
10923
+ [{agent_id:"392_agn_55cb328d2743",short_action:"Create article","agent_description":"create proffessional article..."}]
10917
10924
 
10918
10925
  `,
10919
10926
  model: ai_model,
10920
- // response_format: z.object({
10921
- // mood_level: z.number().describe('mood level of interaction: -2: very negative,-1: negative 0:natural 1:positive 2: very positive'),
10922
- // }),
10927
+ response_format: AgentResponseSchema,
10923
10928
  metadata: { conversation_item_id, func: 'get_chat_suggestions' },
10924
10929
  account_profile_info,
10925
10930
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/ai_module",
3
- "version": "1.1.5125",
3
+ "version": "1.1.5127",
4
4
  "description": "Xuda AI Module",
5
5
  "main": "index.mjs",
6
6
  "type": "module",