way better responsiveness, better system prompt
This commit is contained in:
		
							
								
								
									
										11
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/main.ts
									
									
									
									
									
								
							| @ -7,7 +7,7 @@ import { | |||||||
|   OllamaRequest, |   OllamaRequest, | ||||||
|   OllamaResponse, |   OllamaResponse, | ||||||
| } from "../types.js"; | } from "../types.js"; | ||||||
| import striptags from "striptags"; | // import striptags from "striptags"; | ||||||
| import { PrismaClient } from "../generated/prisma/client.js"; | import { PrismaClient } from "../generated/prisma/client.js"; | ||||||
| import { | import { | ||||||
|   getInstanceEmojis, |   getInstanceEmojis, | ||||||
| @ -62,7 +62,7 @@ const generateOllamaRequest = async ( | |||||||
|     envConfig; |     envConfig; | ||||||
|   try { |   try { | ||||||
|     if ( |     if ( | ||||||
|       striptags(notification.status.content).includes("!prompt") && |       // striptags(notification.status.content).includes("!prompt") && | ||||||
|       !notification.status.account.bot && // sanity check, sort of |       !notification.status.account.bot && // sanity check, sort of | ||||||
|       notification.type === "mention" // && |       notification.type === "mention" // && | ||||||
|       // notification.status.visibility !== "private" // for safety, let's only respond to public messages |       // notification.status.visibility !== "private" // for safety, let's only respond to public messages | ||||||
| @ -76,7 +76,7 @@ const generateOllamaRequest = async ( | |||||||
|       } |       } | ||||||
|       await recordPendingResponse(notification); |       await recordPendingResponse(notification); | ||||||
|       await storeUserData(notification); |       await storeUserData(notification); | ||||||
|       console.log(trimInputData(notification.status.content)); |       // console.log(trimInputData(notification.status.content)); | ||||||
|       const ollamaRequestBody: OllamaRequest = { |       const ollamaRequestBody: OllamaRequest = { | ||||||
|         model: ollamaModel, |         model: ollamaModel, | ||||||
|         // prompt: trimInputData(notification.status.content), |         // prompt: trimInputData(notification.status.content), | ||||||
| @ -150,15 +150,14 @@ const createTimelinePost = async () => { | |||||||
|   const { |   const { | ||||||
|     bearerToken, |     bearerToken, | ||||||
|     ollamaModel, |     ollamaModel, | ||||||
|     // ollamaSystemPrompt, |     ollamaSystemPrompt, | ||||||
|     ollamaUrl, |     ollamaUrl, | ||||||
|     pleromaInstanceUrl, |     pleromaInstanceUrl, | ||||||
|   } = envConfig; |   } = envConfig; | ||||||
|   const ollamaRequestBody: OllamaRequest = { |   const ollamaRequestBody: OllamaRequest = { | ||||||
|     model: ollamaModel, |     model: ollamaModel, | ||||||
|     prompt: "Say something random.", |     prompt: "Say something random.", | ||||||
|     system: |     system: ollamaSystemPrompt, | ||||||
|       "You are a friendly AI assistant who loves to educate people on random topics, provide words of encouragement. You like to be as detailed as possible.", |  | ||||||
|     stream: false, |     stream: false, | ||||||
|     // options: ollamaConfig, |     // options: ollamaConfig, | ||||||
|   }; |   }; | ||||||
|  | |||||||
| @ -4,10 +4,10 @@ import { envConfig } from "./main.js"; | |||||||
| import { Notification } from "../types.js"; | import { Notification } from "../types.js"; | ||||||
|  |  | ||||||
| const trimInputData = (input: string): string => { | const trimInputData = (input: string): string => { | ||||||
|   const strippedInput = striptags(input, [], "\n"); |   const strippedInput = striptags(input); | ||||||
|  |  | ||||||
|   const split = strippedInput.split(" "); |   const split = strippedInput.split(" "); | ||||||
|   const promptStringIndex = split.indexOf("!prompt"); |   // const promptStringIndex = split.indexOf("!prompt"); | ||||||
|   const botFqnIndex = split.indexOf("@nice-ai"); |   const botFqnIndex = split.indexOf("@nice-ai"); | ||||||
|   const botFqnIndexFull = split.indexOf("@nice-ai@nicecrew.digital"); |   const botFqnIndexFull = split.indexOf("@nice-ai@nicecrew.digital"); | ||||||
|   if (botFqnIndex !== -1) { |   if (botFqnIndex !== -1) { | ||||||
| @ -16,7 +16,7 @@ const trimInputData = (input: string): string => { | |||||||
|   if (botFqnIndexFull !== -1) { |   if (botFqnIndexFull !== -1) { | ||||||
|     split[botFqnIndexFull] = "Lexi"; |     split[botFqnIndexFull] = "Lexi"; | ||||||
|   } |   } | ||||||
|   split.splice(promptStringIndex, 1); |   // split.splice(promptStringIndex, 1); | ||||||
|   return split.join(" "); // returns everything after the !prompt |   return split.join(" "); // returns everything after the !prompt | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user