new(security.gblib): SMS Auth.

This commit is contained in:
Rodrigo Rodriguez 2024-03-13 09:04:30 -03:00
parent eb260b54f9
commit e4a4c127c9
3 changed files with 19 additions and 31 deletions

View file

@ -9,18 +9,8 @@ import { GBUtil } from './dist/src/util.js';
// Displays version of Node JS being used at runtime and others attributes.
await GBUtil.sleep(80);
console.log(``);
console.log(``);
console.log(``);
await chalkAnimation.karaoke(`
®
`,1000);
await GBUtil.sleep(80);
console.log(`General Bots is loading source code files...`);
var __dirname = process.env.PWD || process.cwd();
try {
var run = () => {

View file

@ -67,9 +67,7 @@ import { ChatGeneration, Generation } from "@langchain/core/outputs";
export interface CustomOutputParserFields { }
// This can be more generic, like Record<string, string>
export type ExpectedOutput = {
greeting: string;
};
export type ExpectedOutput = string;
function isChatGeneration(
llmOutput: ChatGeneration | Generation
@ -178,11 +176,7 @@ export class ChatServices {
const context = min['vectorStore'];
const modelWithTools = model.bind({
tools: tools.map(convertToOpenAITool),
tool_choice: {
type: "function",
function: { name: "multiply" },
},
tools: tools.map(convertToOpenAITool)
});
// Function for dynamically constructing the end of the chain based on the model-selected tool.
@ -209,7 +203,13 @@ export class ChatServices {
const questionGeneratorTemplate = ChatPromptTemplate.fromMessages([
AIMessagePromptTemplate.fromTemplate(
"Given the following conversation about a codebase and a follow up question, rephrase the follow up question to be a standalone question."
`Answer the question without calling any tool, but if there is a need to call:
You have access to the following set of tools. Here are the names and descriptions for each tool:
${toolsAsText}
`
),
new MessagesPlaceholder("chat_history"),
AIMessagePromptTemplate.fromTemplate(`Follow Up Input: {question}
@ -221,9 +221,7 @@ export class ChatServices {
`Use the following pieces of context to answer the question at the end.
If you don't know the answer, just say that you don't know, don't try to make up an answer.
\n\n{context}\n\n
You have the following tools to call:
${toolsAsText}`
`
),
new MessagesPlaceholder("chat_history"),
HumanMessagePromptTemplate.fromTemplate("Question: {question}"),
@ -243,7 +241,7 @@ export class ChatServices {
},
combineDocumentsPrompt,
modelWithTools,
new CustomLLMOutputParser(),
]);
const conversationalQaChain = RunnableSequence.from([
@ -256,11 +254,8 @@ export class ChatServices {
},
questionGeneratorTemplate,
modelWithTools,
new StringOutputParser(),
combineDocumentsChain,
new CustomLLMOutputParser()
]);
const systemPrompt = user['systemPrompt'];
@ -283,7 +278,7 @@ export class ChatServices {
private static getToolsAsText(tools) {
return Object.keys(tools)
.map((toolname) => `${tools[toolname].name}: ${tools[toolname].description}`)
.map((toolname) => `- ${tools[toolname].name}: ${tools[toolname].description}`)
.join("\n");
}

View file

@ -802,6 +802,7 @@ export class WhatsappDirectLine extends GBService {
id = req.from.split('@')[0];
senderName = req._data.notifyName;
text = req.body;
botId=botId?? this.botId;
break;
}
@ -813,9 +814,11 @@ export class WhatsappDirectLine extends GBService {
let toSwitchMin = GBServer.globals.minInstances.filter(
p => p.instance.botId.toLowerCase() === text.toLowerCase()
)[0];
botId = botId??GBServer.globals.minBoot.botId;
GBLog.info(`A WhatsApp mobile requested instance for: ${botId}.`);
let urlMin: any = GBServer.globals.minInstances.filter(p => p.instance.botId === botId)[0];
// Detects user typed language and updates their locale profile if applies.
let min = urlMin;