From 0041f4004ae7c56e63d9a18ce2870ee57b6732b4 Mon Sep 17 00:00:00 2001 From: Mirian Okradze Date: Tue, 7 Nov 2023 19:13:01 +0400 Subject: [PATCH 1/3] refactor: model types --- .../modals/RunLogsModal/RunLogs/RunLogs.tsx | 2 - .../modals/SpotlightModal/SpotlightModal.tsx | 37 ------------------- apps/ui/src/modals/SpotlightModal/index.ts | 1 - .../modals/SpotlightModal/spotlightStyle.css | 27 -------------- .../components/AgentViewDetailBox.tsx | 12 +++--- .../FineTuningForm/useFineTuningForm.ts | 2 +- .../components/TeamOfAgentsDetailsBox.tsx | 4 +- .../ui/src/services/model/useModelsService.ts | 4 +- apps/ui/src/types/agent.ts | 1 + 9 files changed, 10 insertions(+), 80 deletions(-) delete mode 100644 apps/ui/src/modals/SpotlightModal/SpotlightModal.tsx delete mode 100644 apps/ui/src/modals/SpotlightModal/index.ts delete mode 100644 apps/ui/src/modals/SpotlightModal/spotlightStyle.css diff --git a/apps/ui/src/modals/RunLogsModal/RunLogs/RunLogs.tsx b/apps/ui/src/modals/RunLogsModal/RunLogs/RunLogs.tsx index de61c8d68..d35a6d6d8 100644 --- a/apps/ui/src/modals/RunLogsModal/RunLogs/RunLogs.tsx +++ b/apps/ui/src/modals/RunLogsModal/RunLogs/RunLogs.tsx @@ -1,6 +1,4 @@ import styled from 'styled-components' -import Typography from '@l3-lib/ui-core/dist/Typography' -import TypographyPrimary from 'components/Typography/Primary' import { useTranslation } from 'react-i18next' import { useRunLogsService } from 'services/run' import Loader from '@l3-lib/ui-core/dist/Loader' diff --git a/apps/ui/src/modals/SpotlightModal/SpotlightModal.tsx b/apps/ui/src/modals/SpotlightModal/SpotlightModal.tsx deleted file mode 100644 index a3178193e..000000000 --- a/apps/ui/src/modals/SpotlightModal/SpotlightModal.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { useModal } from 'hooks' - -import withRenderModal from 'hocs/withRenderModal' - -import CloseIconSvg from 'assets/svgComponents/CloseIconSvg' - -import CommandMenu from 'components/CommandMenu/CommandMenu' - -import { StyledModalWrapper, StyledModalBody, StyledCloseBtn, StyledHeader } from '../modalStyle' -import './spotlightStyle.css' -import Modal from '@l3-lib/ui-core/dist/Modal' -import BgWrapper from 'modals/components/BgWrapper' - -const SpotlightModal = () => { - const { closeModal } = useModal() - - return ( - - {/* */} - {/* */} - - {/* */} - {/* */} - - ) -} - -export default withRenderModal('spotlight-modal')(SpotlightModal) diff --git a/apps/ui/src/modals/SpotlightModal/index.ts b/apps/ui/src/modals/SpotlightModal/index.ts deleted file mode 100644 index c99dec4da..000000000 --- a/apps/ui/src/modals/SpotlightModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './SpotlightModal' diff --git a/apps/ui/src/modals/SpotlightModal/spotlightStyle.css b/apps/ui/src/modals/SpotlightModal/spotlightStyle.css deleted file mode 100644 index d4ed93b52..000000000 --- a/apps/ui/src/modals/SpotlightModal/spotlightStyle.css +++ /dev/null @@ -1,27 +0,0 @@ -.l3-storybook-accordion_small-wrapepr { - width: 300px; - border: none; -} - -.l3-storybook-accordion_small-wrapepr svg { - display: none; -} -.l3-storybook-accordion_small-wrapepr .expand-collapse { - border: none; -} - -.spotlight_overlay, -.spotlight_modal_container { - background: unset !important; - backdrop-filter: unset !important; - border-radius: 16px !important; -} - -.spotlight_modal_container { - /* min-width: 50vw; - min-height: 65vh; */ - /* overflow: hidden; */ - ::-webkit-scrollbar { - display: none; - } -} diff --git a/apps/ui/src/pages/Agents/AgentView/components/AgentViewDetailBox.tsx b/apps/ui/src/pages/Agents/AgentView/components/AgentViewDetailBox.tsx index b44908a5f..5f568a812 100644 --- a/apps/ui/src/pages/Agents/AgentView/components/AgentViewDetailBox.tsx +++ b/apps/ui/src/pages/Agents/AgentView/components/AgentViewDetailBox.tsx @@ -7,11 +7,10 @@ import TagsRow from './TagsRow' import IconButton from '@l3-lib/ui-core/dist/IconButton' import Button from '@l3-lib/ui-core/dist/Button' -import Edit from '@l3-lib/ui-core/dist/icons/Edit' import Download from '@l3-lib/ui-core/dist/icons/Download' -import { useLocation, useNavigate, useParams } from 'react-router-dom' +import { useLocation, useNavigate } from 'react-router-dom' import { useModal } from 'hooks' import { AuthContext } from 'contexts' import { StyledEditIcon } from 'pages/TeamOfAgents/TeamOfAgentsCard/TeamOfAgentsCard' @@ -26,9 +25,10 @@ import MenuDots from '@l3-lib/ui-core/dist/icons/MenuDots' import { useAgents } from 'pages/Agents/useAgents' import { useGetAccountModule } from 'utils/useGetAccountModule' import { useModelsService } from 'services' +import { AgentWithConfigs } from 'types' type AgentViewDetailBoxProps = { - agentData: any + agentData: AgentWithConfigs } const AgentVIewDetailBox = ({ agentData }: AgentViewDetailBoxProps) => { @@ -56,9 +56,7 @@ const AgentVIewDetailBox = ({ agentData }: AgentViewDetailBoxProps) => { const isCreator = user?.id === agent?.created_by - const agentModel = models - ?.filter((modelData: any) => modelData.id === model) - .map((model: any) => model.name) + const agentModel = models?.filter(modelData => modelData.id === model).map(model => model.name) const handleEdit = () => { closeModal('agent-view-modal') @@ -158,7 +156,7 @@ const AgentVIewDetailBox = ({ agentData }: AgentViewDetailBoxProps) => { {agentModel?.length > 0 && } - {temperature && } + {temperature && } diff --git a/apps/ui/src/pages/Models/FineTuning/FineTuningForm/useFineTuningForm.ts b/apps/ui/src/pages/Models/FineTuning/FineTuningForm/useFineTuningForm.ts index 6ce3a4de7..4b57cbafe 100644 --- a/apps/ui/src/pages/Models/FineTuning/FineTuningForm/useFineTuningForm.ts +++ b/apps/ui/src/pages/Models/FineTuning/FineTuningForm/useFineTuningForm.ts @@ -4,7 +4,7 @@ export const useFineTuningForm = () => { const { data: models } = useModelsService() const modelOptions = models - ?.filter((model: any) => model.fine_tuning === true) + ?.filter(model => model.fine_tuning === true) ?.map(({ id, name, provider }) => ({ value: id, label: `${name} (${provider})`, diff --git a/apps/ui/src/pages/TeamOfAgents/components/TeamOfAgentsDetailsBox.tsx b/apps/ui/src/pages/TeamOfAgents/components/TeamOfAgentsDetailsBox.tsx index 29915f258..2f0ede1da 100644 --- a/apps/ui/src/pages/TeamOfAgents/components/TeamOfAgentsDetailsBox.tsx +++ b/apps/ui/src/pages/TeamOfAgents/components/TeamOfAgentsDetailsBox.tsx @@ -58,9 +58,7 @@ const TeamOfAgentsDetailsBox = ({ teamData }: TeamOfAgentsDetailsBoxProps) => { const { model, temperature } = configs const isCreator = user?.id === created_by - const teamModel = models - ?.filter((modelData: any) => modelData.id === model) - .map((model: any) => model.name) + const teamModel = models?.filter(modelData => modelData.id === model).map(model => model.name) const handleEdit = () => { closeModal('team-of-agent-view-modal') diff --git a/apps/ui/src/services/model/useModelsService.ts b/apps/ui/src/services/model/useModelsService.ts index 312dfbb91..0d1a8b776 100644 --- a/apps/ui/src/services/model/useModelsService.ts +++ b/apps/ui/src/services/model/useModelsService.ts @@ -2,12 +2,12 @@ import { useQuery } from '@apollo/client' import MODELS_GQL from '../../gql/ai/model/models.gql' import { Model } from 'types' -type ModelsData = { +type UseModelsServiceData = { models: Model[] } export const useModelsService = () => { - const { data, error, loading, refetch } = useQuery(MODELS_GQL) + const { data, error, loading, refetch } = useQuery(MODELS_GQL) return { data: data?.models || [], diff --git a/apps/ui/src/types/agent.ts b/apps/ui/src/types/agent.ts index 9c88995e0..578f0d6de 100644 --- a/apps/ui/src/types/agent.ts +++ b/apps/ui/src/types/agent.ts @@ -11,6 +11,7 @@ export interface AgentWithConfigs { avatar: string is_template: boolean is_memory: boolean + created_by: string } configs: { goals: string[] From 9530572437e259ec62785e8ed675e9b4a98a5ffd Mon Sep 17 00:00:00 2001 From: Mirian Okradze Date: Tue, 7 Nov 2023 19:24:46 +0400 Subject: [PATCH 2/3] fix: postgres chat history in conversational agent --- .../agents/conversational/conversational.py | 2 -- apps/server/services/chat.py | 30 +++++-------------- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/apps/server/agents/conversational/conversational.py b/apps/server/agents/conversational/conversational.py index ab3d5bbdf..d28e7a53b 100644 --- a/apps/server/agents/conversational/conversational.py +++ b/apps/server/agents/conversational/conversational.py @@ -26,8 +26,6 @@ def run( prompt: str, history: PostgresChatMessageHistory, human_message_id: str, - run_id: UUID, - sender_user_id: str, run_logs_manager: RunLogsManager, pre_retrieved_context: str, ): diff --git a/apps/server/services/chat.py b/apps/server/services/chat.py index d5761ad7b..8a01847fc 100644 --- a/apps/server/services/chat.py +++ b/apps/server/services/chat.py @@ -211,6 +211,7 @@ def process_chat_message( settings=settings, team_id=team_id, parent_id=parent_id, + history=history, run_id=run.id, run_logs_manager=run_logs_manager, ) @@ -527,22 +528,11 @@ def run_conversational_agent( settings: AccountSettings, run_id: UUID, run_logs_manager: RunLogsManager, + history: PostgresChatMessageHistory, team_id: Optional[UUID] = None, parent_id: Optional[UUID] = None, ): - history = PostgresChatMessageHistory( - session_id=session_id, - sender_account_id=sender_account_id, - sender_user_id=sender_user_id, - sender_name=sender_name, - parent_id=parent_id, - team_id=team_id, - agent_id=agent_with_configs.agent.id, - chat_id=None, - run_id=run_id, - ) - - datasources = ( + data_sources = ( db.session.query(DatasourceModel) .filter(DatasourceModel.id.in_(agent_with_configs.configs.datasources)) .all() @@ -550,8 +540,8 @@ def run_conversational_agent( tool_callback_handler = run_logs_manager.get_tool_callback_handler() - datasource_tools = get_datasource_tools( - datasources, + data_source_tools = get_datasource_tools( + data_sources, settings, provider_account, agent_with_configs, @@ -570,12 +560,12 @@ def run_conversational_agent( pre_retrieved_context = "" if agent_with_configs.configs.source_flow == DataSourceFlow.PRE_RETRIEVAL.value: - if len(datasource_tools) != 0: - pre_retrieved_context = datasource_tools[0]._run(prompt) + if len(data_source_tools) != 0: + pre_retrieved_context = data_source_tools[0]._run(prompt) tools = agent_tools else: - tools = datasource_tools + agent_tools + tools = data_source_tools + agent_tools conversational = ConversationalAgent(sender_name, provider_account, session_id) return conversational.run( @@ -586,8 +576,6 @@ def run_conversational_agent( prompt, history, human_message_id, - run_id, - sender_user_id, run_logs_manager, pre_retrieved_context, ) @@ -595,8 +583,6 @@ def run_conversational_agent( def create_and_send_chat_message( session_id: str, - # account: AccountModel, - # sender_user: UserModel, sender_name: str, sender_user_id: str, sender_account_id: str, From 535618c019b47a1ac4083d3a0ce096a7d6a58c0a Mon Sep 17 00:00:00 2001 From: Mirian Okradze Date: Tue, 7 Nov 2023 19:54:55 +0400 Subject: [PATCH 3/3] fix: vite types, react table --- apps/ui/Pipfile | 11 ----------- apps/ui/package.json | 1 + apps/ui/src/gql/ai/llm/providers.gql | 7 ------- apps/ui/src/services/llm/useProvidersService.ts | 13 ------------- apps/ui/tsconfig.json | 2 +- apps/ui/yarn.lock | 7 +++++++ 6 files changed, 9 insertions(+), 32 deletions(-) delete mode 100644 apps/ui/Pipfile delete mode 100644 apps/ui/src/gql/ai/llm/providers.gql delete mode 100644 apps/ui/src/services/llm/useProvidersService.ts diff --git a/apps/ui/Pipfile b/apps/ui/Pipfile deleted file mode 100644 index 0757494bb..000000000 --- a/apps/ui/Pipfile +++ /dev/null @@ -1,11 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] - -[dev-packages] - -[requires] -python_version = "3.11" diff --git a/apps/ui/package.json b/apps/ui/package.json index 0ac3f33a8..aca6fa4c8 100644 --- a/apps/ui/package.json +++ b/apps/ui/package.json @@ -105,6 +105,7 @@ }, "devDependencies": { "@types/react-syntax-highlighter": "^15.5.6", + "@types/react-table": "^7.7.17", "@types/uuid": "^9.0.0", "@typescript-eslint/eslint-plugin": "^5.52.0", "@typescript-eslint/parser": "^5.52.0", diff --git a/apps/ui/src/gql/ai/llm/providers.gql b/apps/ui/src/gql/ai/llm/providers.gql deleted file mode 100644 index 7728b83a3..000000000 --- a/apps/ui/src/gql/ai/llm/providers.gql +++ /dev/null @@ -1,7 +0,0 @@ -query getProviders @api(name: "ai") { - getProviders @rest(type: "llm", path: "/llm/providers", method: "GET", endpoint: "ai") { - isActive - provider - models - } -} diff --git a/apps/ui/src/services/llm/useProvidersService.ts b/apps/ui/src/services/llm/useProvidersService.ts deleted file mode 100644 index 812e34640..000000000 --- a/apps/ui/src/services/llm/useProvidersService.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { useQuery } from '@apollo/client' -import providersGql from '../../gql/ai/llm/providers.gql' - -export const useProvidersService = () => { - const { data, error, loading, refetch } = useQuery(providersGql) - - return { - data: data?.getProviders || [], - error, - loading, - refetch, - } -} diff --git a/apps/ui/tsconfig.json b/apps/ui/tsconfig.json index 880992f04..ff4c3da0c 100644 --- a/apps/ui/tsconfig.json +++ b/apps/ui/tsconfig.json @@ -15,7 +15,7 @@ "isolatedModules": true, "noEmit": true, "jsx": "react-jsx", - "typeRoots": ["node_modules/@types", "src/@types"], + "typeRoots": ["node_modules/@types", "src/@types", "./node_modules"], "types": ["vite/client"] }, "include": ["src", "Routes_old", "src/modals/AIChatModal/components/.tsx"], diff --git a/apps/ui/yarn.lock b/apps/ui/yarn.lock index 9c07dc54d..618e761c3 100644 --- a/apps/ui/yarn.lock +++ b/apps/ui/yarn.lock @@ -2202,6 +2202,13 @@ dependencies: "@types/react" "*" +"@types/react-table@^7.7.17": + version "7.7.17" + resolved "https://registry.yarnpkg.com/@types/react-table/-/react-table-7.7.17.tgz#4b58dee39d2bb585013536b519e6414591029c73" + integrity sha512-25/SDkn0qnvxBvxSPnMO1vf1ymvcSmwPr7qcFuYyWElTGcsOWQsV+sCFq1dVhGYdd2fSsOnP4MkZUl/q9MlG+g== + dependencies: + "@types/react" "*" + "@types/react-transition-group@^4.4.8": version "4.4.8" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.8.tgz#46f87d80512959cac793ecc610a93d80ef241ccf"