diff --git a/src/app/api/images/route.ts b/src/app/api/images/route.ts index d3416ca..71d679e 100644 --- a/src/app/api/images/route.ts +++ b/src/app/api/images/route.ts @@ -1,4 +1,4 @@ -import handleImageSearch from '@/lib/chains/imageSearchAgent'; +import handleImageSearch from '@/lib/agents/media/image'; import ModelRegistry from '@/lib/models/registry'; import { ModelWithProvider } from '@/lib/models/types'; import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'; diff --git a/src/app/api/suggestions/route.ts b/src/app/api/suggestions/route.ts index d8312cf..f942758 100644 --- a/src/app/api/suggestions/route.ts +++ b/src/app/api/suggestions/route.ts @@ -1,4 +1,4 @@ -import generateSuggestions from '@/lib/chains/suggestionGeneratorAgent'; +import generateSuggestions from '@/lib/agents/suggestions'; import ModelRegistry from '@/lib/models/registry'; import { ModelWithProvider } from '@/lib/models/types'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; diff --git a/src/app/api/videos/route.ts b/src/app/api/videos/route.ts index 02e5909..0ace57f 100644 --- a/src/app/api/videos/route.ts +++ b/src/app/api/videos/route.ts @@ -1,4 +1,4 @@ -import handleVideoSearch from '@/lib/chains/videoSearchAgent'; +import handleVideoSearch from '@/lib/agents/media/video'; import ModelRegistry from '@/lib/models/registry'; import { ModelWithProvider } from '@/lib/models/types'; import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'; diff --git a/src/lib/chains/imageSearchAgent.ts b/src/lib/agents/media/image.ts similarity index 90% rename from src/lib/chains/imageSearchAgent.ts rename to src/lib/agents/media/image.ts index a91b7bb..2dd719b 100644 --- a/src/lib/chains/imageSearchAgent.ts +++ b/src/lib/agents/media/image.ts @@ -1,15 +1,17 @@ +/* I don't think can be classified as agents but to keep the structure consistent i guess ill keep it here */ + import { RunnableSequence, RunnableMap, RunnableLambda, } from '@langchain/core/runnables'; import { ChatPromptTemplate } from '@langchain/core/prompts'; -import formatChatHistoryAsString from '../utils/formatHistory'; +import formatChatHistoryAsString from '@/lib/utils/formatHistory'; import { BaseMessage } from '@langchain/core/messages'; import { StringOutputParser } from '@langchain/core/output_parsers'; -import { searchSearxng } from '../searxng'; +import { searchSearxng } from '@/lib/searxng'; import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import LineOutputParser from '../outputParsers/lineOutputParser'; +import LineOutputParser from '@/lib/outputParsers/lineOutputParser'; const imageSearchChainPrompt = ` You will be given a conversation below and a follow up question. You need to rephrase the follow-up question so it is a standalone question that can be used by the LLM to search the web for images. @@ -102,4 +104,4 @@ const handleImageSearch = ( return imageSearchChain.invoke(input); }; -export default handleImageSearch; +export default handleImageSearch; \ No newline at end of file diff --git a/src/lib/chains/videoSearchAgent.ts b/src/lib/agents/media/video.ts similarity index 94% rename from src/lib/chains/videoSearchAgent.ts rename to src/lib/agents/media/video.ts index 3f878a8..1bf7f75 100644 --- a/src/lib/chains/videoSearchAgent.ts +++ b/src/lib/agents/media/video.ts @@ -4,12 +4,12 @@ import { RunnableLambda, } from '@langchain/core/runnables'; import { ChatPromptTemplate } from '@langchain/core/prompts'; -import formatChatHistoryAsString from '../utils/formatHistory'; +import formatChatHistoryAsString from '@/lib/utils/formatHistory'; import { BaseMessage } from '@langchain/core/messages'; import { StringOutputParser } from '@langchain/core/output_parsers'; -import { searchSearxng } from '../searxng'; +import { searchSearxng } from '@/lib/searxng'; import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import LineOutputParser from '../outputParsers/lineOutputParser'; +import LineOutputParser from '@/lib/outputParsers/lineOutputParser'; const videoSearchChainPrompt = ` You will be given a conversation below and a follow up question. You need to rephrase the follow-up question so it is a standalone question that can be used by the LLM to search Youtube for videos. diff --git a/src/lib/chains/suggestionGeneratorAgent.ts b/src/lib/agents/suggestions/index.ts similarity index 93% rename from src/lib/chains/suggestionGeneratorAgent.ts rename to src/lib/agents/suggestions/index.ts index 9129059..3beb1bd 100644 --- a/src/lib/chains/suggestionGeneratorAgent.ts +++ b/src/lib/agents/suggestions/index.ts @@ -1,7 +1,7 @@ import { RunnableSequence, RunnableMap } from '@langchain/core/runnables'; -import ListLineOutputParser from '../outputParsers/listLineOutputParser'; +import ListLineOutputParser from '@/lib/outputParsers/listLineOutputParser'; import { PromptTemplate } from '@langchain/core/prompts'; -import formatChatHistoryAsString from '../utils/formatHistory'; +import formatChatHistoryAsString from '@/lib/utils/formatHistory'; import { BaseMessage } from '@langchain/core/messages'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { ChatOpenAI } from '@langchain/openai';