update
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
postgres_data/*
|
||||
redis_data/*
|
||||
|
||||
*.swp
|
||||
.idea
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
# Выберите подходящий базовый образ, например, официальный Node.js:
|
||||
FROM node:20
|
||||
|
||||
# Установите глобально pnpm, если он не установлен:
|
||||
RUN npm install -g pnpm
|
||||
|
||||
# Создайте директорию приложения
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Копируйте файлы package.json и возможно pnpm-lock.yaml
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
# Установите зависимости
|
||||
RUN pnpm install
|
||||
|
||||
# Копируйте исходные файлы приложения
|
||||
COPY . .
|
||||
|
||||
# Генерируйте файлы приложения
|
||||
#RUN pnpm generate && pnpm prisma db push && pnpm build
|
||||
|
||||
# Экспонируйте порт, если ваш REST API слушает его
|
||||
#EXPOSE 3000
|
||||
|
||||
# Добавьте две команды для API сервера и обработчика задач
|
||||
# Используйте `CMD` для указания инструкций по запуску, которые будут выполнены при запуске контейнера
|
||||
#CMD ["sh", "-c", "npx tsx dist/server & npx tsx dist/runner"]
|
||||
+25
-2
@@ -14,16 +14,39 @@ services:
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
|
||||
postgres:
|
||||
image: postgres
|
||||
container_name: postgres
|
||||
environment:
|
||||
POSTGRES_USER: user
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_DB: dbname
|
||||
DATABASE_URL: 'postgres://user:password@localhost:5432/dbname'
|
||||
POSTGRES_DB: dev
|
||||
DATABASE_URL: 'postgres://user:password@localhost:5432/dev'
|
||||
volumes:
|
||||
- ./postgres_data:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432:5432"
|
||||
|
||||
# intellect_server:
|
||||
# container_name: intellect_server
|
||||
# build: .
|
||||
# volumes:
|
||||
# - .:/usr/src/app
|
||||
# ports:
|
||||
# - "3000:3000"
|
||||
# command: npx tsx dist/server # Запуск REST API сервера
|
||||
# depends_on:
|
||||
# - redis
|
||||
# - postgres
|
||||
|
||||
# intellect_runner:
|
||||
# container_name: intellect_runner
|
||||
# build: .
|
||||
# volumes:
|
||||
# - .:/usr/src/app
|
||||
# command: npx tsx dist/runner # Запуск обработчика задач
|
||||
# depends_on:
|
||||
# - redis
|
||||
# - postgres
|
||||
|
||||
|
||||
Generated
+42
-40
@@ -9,8 +9,8 @@ dependencies:
|
||||
specifier: ^3.449.0
|
||||
version: 3.449.0
|
||||
'@dexaai/dexter':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.8
|
||||
'@fastify/deepmerge':
|
||||
specifier: ^1.3.0
|
||||
version: 1.3.0
|
||||
@@ -1115,24 +1115,24 @@ packages:
|
||||
types-pkg-json: 1.2.1
|
||||
dev: true
|
||||
|
||||
/@dexaai/dexter@1.1.0:
|
||||
resolution: {integrity: sha512-PAz2dwFNT82y6W60mIF2ryKkSSR4xZQOwi4iQs6IWjNoKdKZsMh2/JYIBd+x6g+dre10G7A7R1JOVvekRs718A==}
|
||||
/@dexaai/dexter@1.2.8:
|
||||
resolution: {integrity: sha512-fSwiS2U4X7V/BCECOoIsl3xdnPNFkYMO/5TBs2LYLNOwDHgkT7YXZOLRjnwwU+hFjdsLUQD86koa6tDSZmOHYw==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@fastify/deepmerge': 1.3.0
|
||||
dedent: 1.5.1
|
||||
hash-object: 5.0.0
|
||||
hash-object: 5.0.1
|
||||
jsonrepair: 3.4.1
|
||||
ky: 1.1.3
|
||||
openai-fetch: 2.0.1
|
||||
p-map: 6.0.0
|
||||
p-throttle: 5.1.0
|
||||
parse-json: 7.1.1
|
||||
p-throttle: 6.1.0
|
||||
parse-json: 8.1.0
|
||||
pinecone-client: 2.0.0
|
||||
tiktoken: 1.0.10
|
||||
tiktoken: 1.0.11
|
||||
zod: 3.22.4
|
||||
zod-to-json-schema: 3.21.4(zod@3.22.4)
|
||||
zod-validation-error: 1.5.0(zod@3.22.4)
|
||||
zod-to-json-schema: 3.22.3(zod@3.22.4)
|
||||
zod-validation-error: 2.1.0(zod@3.22.4)
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
dev: false
|
||||
@@ -3342,6 +3342,11 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/decircular@0.1.1:
|
||||
resolution: {integrity: sha512-V2Vy+QYSXdgxRPmOZKQWCDf1KQNTUP/Eqswv/3W20gz7+6GB1HTosNrWqK3PqstVpFw/Dd/cGTmXSTKPeOiGVg==}
|
||||
engines: {node: '>=18'}
|
||||
dev: false
|
||||
|
||||
/decompress-response@6.0.0:
|
||||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -3612,6 +3617,7 @@ packages:
|
||||
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
|
||||
dependencies:
|
||||
is-arrayish: 0.2.1
|
||||
dev: true
|
||||
|
||||
/es-abstract@1.22.3:
|
||||
resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
|
||||
@@ -4673,10 +4679,11 @@ packages:
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/hash-object@5.0.0:
|
||||
resolution: {integrity: sha512-wU0mUPhowb+Rn5GLyqcWkh8FZJB4tD/90YQSkcrOfqfPZdYghHU0yYlaYnEv+Xtpni65dsySU+tf8jdKlQETVw==}
|
||||
/hash-object@5.0.1:
|
||||
resolution: {integrity: sha512-iaRY4jYOow1caHkXW7wotYRjZDQk2nq4U7904anGJj8l4x1SLId+vuR8RpGoywZz9puD769hNFVFLFH9t+baJw==}
|
||||
engines: {node: '>=18'}
|
||||
dependencies:
|
||||
decircular: 0.1.1
|
||||
is-obj: 3.0.0
|
||||
sort-keys: 5.0.0
|
||||
type-fest: 4.7.1
|
||||
@@ -4834,6 +4841,11 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/index-to-position@0.1.2:
|
||||
resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==}
|
||||
engines: {node: '>=18'}
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
@@ -4968,6 +4980,7 @@ packages:
|
||||
|
||||
/is-arrayish@0.2.1:
|
||||
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
|
||||
dev: true
|
||||
|
||||
/is-async-function@2.0.0:
|
||||
resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
|
||||
@@ -5364,11 +5377,6 @@ packages:
|
||||
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
||||
dev: true
|
||||
|
||||
/json-parse-even-better-errors@3.0.0:
|
||||
resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
dev: false
|
||||
|
||||
/json-schema-traverse@0.4.1:
|
||||
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
||||
dev: true
|
||||
@@ -5469,11 +5477,6 @@ packages:
|
||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||
dev: true
|
||||
|
||||
/lines-and-columns@2.0.4:
|
||||
resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: false
|
||||
|
||||
/lint-staged@15.0.2:
|
||||
resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==}
|
||||
engines: {node: '>=18.12.0'}
|
||||
@@ -6397,9 +6400,9 @@ packages:
|
||||
type-fest: 3.13.1
|
||||
dev: true
|
||||
|
||||
/p-throttle@5.1.0:
|
||||
resolution: {integrity: sha512-+N+s2g01w1Zch4D0K3OpnPDqLOKmLcQ4BvIFq3JC0K29R28vUOjWpO+OJZBNt8X9i3pFCksZJZ0YXkUGjaFE6g==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
/p-throttle@6.1.0:
|
||||
resolution: {integrity: sha512-eQMdGTxk2+047La67wefUtt0tEHh7D+C8Jl7QXoFCuIiNYeQ9zWs2AZiJdIAs72rSXZ06t11me2bgalRNdy3SQ==}
|
||||
engines: {node: '>=18'}
|
||||
dev: false
|
||||
|
||||
/p-timeout@6.1.2:
|
||||
@@ -6471,15 +6474,13 @@ packages:
|
||||
lines-and-columns: 1.2.4
|
||||
dev: true
|
||||
|
||||
/parse-json@7.1.1:
|
||||
resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==}
|
||||
engines: {node: '>=16'}
|
||||
/parse-json@8.1.0:
|
||||
resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==}
|
||||
engines: {node: '>=18'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.22.13
|
||||
error-ex: 1.3.2
|
||||
json-parse-even-better-errors: 3.0.0
|
||||
lines-and-columns: 2.0.4
|
||||
type-fest: 3.13.1
|
||||
index-to-position: 0.1.2
|
||||
type-fest: 4.7.1
|
||||
dev: false
|
||||
|
||||
/path-exists@4.0.0:
|
||||
@@ -7565,8 +7566,8 @@ packages:
|
||||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||
dev: true
|
||||
|
||||
/tiktoken@1.0.10:
|
||||
resolution: {integrity: sha512-gF8ndTCNu7WcRFbl1UUWaFIB4CTXmHzS3tRYdyUYF7x3C6YR6Evoao4zhKDmWIwv2PzNbzoQMV8Pxt+17lEDbA==}
|
||||
/tiktoken@1.0.11:
|
||||
resolution: {integrity: sha512-aMJcn9NGmb6zDXkCweJLnACyIyjdiYIk1odAfnCUvin7O1QsV1rQP1hatGDMhQovxkeSJhFeU7QuGkbDHGciDQ==}
|
||||
dev: false
|
||||
|
||||
/tiny-inflate@1.0.3:
|
||||
@@ -7705,6 +7706,7 @@ packages:
|
||||
/type-fest@3.13.1:
|
||||
resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
|
||||
engines: {node: '>=14.16'}
|
||||
dev: true
|
||||
|
||||
/type-fest@4.7.1:
|
||||
resolution: {integrity: sha512-iWr8RUmzAJRfhZugX9O7nZE6pCxDU8CZ3QxsLuTnGcBLJpCaP2ll3s4eMTBoFnU/CeXY/5rfQSuAEsTGJO4y8A==}
|
||||
@@ -8199,17 +8201,17 @@ packages:
|
||||
engines: {node: '>=12.20'}
|
||||
dev: true
|
||||
|
||||
/zod-to-json-schema@3.21.4(zod@3.22.4):
|
||||
resolution: {integrity: sha512-fjUZh4nQ1s6HMccgIeE0VP4QG/YRGPmyjO9sAh890aQKPEk3nqbfUXhMFaC+Dr5KvYBm8BCyvfpZf2jY9aGSsw==}
|
||||
/zod-to-json-schema@3.22.3(zod@3.22.4):
|
||||
resolution: {integrity: sha512-9isG8SqRe07p+Aio2ruBZmLm2Q6Sq4EqmXOiNpDxp+7f0LV6Q/LX65fs5Nn+FV/CzfF3NLBoksXbS2jNYIfpKw==}
|
||||
peerDependencies:
|
||||
zod: ^3.21.4
|
||||
zod: ^3.22.4
|
||||
dependencies:
|
||||
zod: 3.22.4
|
||||
dev: false
|
||||
|
||||
/zod-validation-error@1.5.0(zod@3.22.4):
|
||||
resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
/zod-validation-error@2.1.0(zod@3.22.4):
|
||||
resolution: {integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
peerDependencies:
|
||||
zod: ^3.18.0
|
||||
dependencies:
|
||||
|
||||
+18
-22
@@ -284,31 +284,27 @@ export const worker = new Worker<JobData, JobResult>(
|
||||
|
||||
let messageText = ''
|
||||
|
||||
const handleUpdate = async (chunk) => {
|
||||
messageText += chunk
|
||||
|
||||
await prisma.message.update({
|
||||
where: { id: newMessageId },
|
||||
data: {
|
||||
content: [
|
||||
{
|
||||
type: 'text',
|
||||
text: {
|
||||
value: messageText,
|
||||
annotations: []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
|
||||
// console.log("newMsg: ", newMsg)
|
||||
}
|
||||
|
||||
const chatCompletionParams: Parameters<typeof chatModel.run>[0] = {
|
||||
messages: chatMessages,
|
||||
model: assistant.model,
|
||||
handleUpdate: handleUpdate,
|
||||
// @ts-ignore
|
||||
handleUpdate: async (chunk) => {
|
||||
messageText += chunk
|
||||
await prisma.message.update({
|
||||
where: { id: newMessageId },
|
||||
data: {
|
||||
content: [
|
||||
{
|
||||
type: 'text',
|
||||
text: {
|
||||
value: messageText,
|
||||
annotations: []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
tools: convertAssistantToolsToChatMessageTools(assistant.tools),
|
||||
tool_choice:
|
||||
runSteps.length >= config.runs.maxRunSteps ? 'none' : 'auto'
|
||||
|
||||
@@ -2,10 +2,6 @@ import { ChatModel, createOpenAIClient } from '@dexaai/dexter/model'
|
||||
|
||||
import * as config from '~/lib/config'
|
||||
|
||||
const handleUpdate = (chunk) => {
|
||||
console.log('on handle update', chunk)
|
||||
}
|
||||
|
||||
// TODO: support non-OpenAI models
|
||||
export const chatModel = new ChatModel({
|
||||
client: createOpenAIClient(),
|
||||
|
||||
Reference in New Issue
Block a user