From 60e98f98896a6f62c48dd3e92567e4da722b67da Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 6 Jul 2024 15:56:49 +0300 Subject: [PATCH 01/15] misc old changes --- docker-compose.yml | 44 +++++++++++++++++--------------------------- web/chat-client.html | 2 +- web/chat-server.js | 1 + web/client.html | 2 +- 4 files changed, 20 insertions(+), 29 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 43d10ab..009026c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,32 +1,22 @@ -version: '3.4' - services: - kevinai: - image: kevinai - container_name: kevinai-dev - build: - context: . - dockerfile: ./Dockerfile - environment: - NODE_ENV: production - # TTS_BACKEND_URL: http://192.168.0.10:9009/asr - WS_URL: ws://192.168.0.10:28081 - SERVER_PORT_WS: 8081 - SERVER_PORT_HTTP: 8080 - ports: - - 28081:8081 - - 28080:8080 - mlchat: - image: kevinai - container_name: kevinai-chat - build: - context: . - dockerfile: ./Dockerfile + chat-server: + image: node:20-alpine + container_name: ml-voice-chat-server + working_dir: /usr/src/app + volumes: + - /mnt/apps/DEV/REPOS/git.d-popov.com/ai-kevin:/usr/src/app + command: > + sh -c "npm install && node web/chat-server.js" environment: NODE_ENV: demo - # TTS_BACKEND_URL: http://192.168.0.10:9009/asr - WS_URL: wss://tts.d-popov.com - SERVER_PORT_WS: 8080 + #TTS_BACKEND_URL: https://api.tts.d-popov.com/asr + TTS_API_URL: http://192.168.0.11:9009/asr + WS_URL: wss://ws.tts.d-popov.com SERVER_PORT_HTTP: 8080 + SERVER_PORT_WS: 8082 ports: - - 28080:8080 \ No newline at end of file + - 28080:8080 + - 28081:8082 + dns: + - 8.8.8.8 + - 8.8.4.4 \ No newline at end of file diff --git a/web/chat-client.html b/web/chat-client.html index d51d6a4..d629a00 100644 --- a/web/chat-client.html +++ b/web/chat-client.html @@ -290,7 +290,7 @@ showClearSessionOption(); connect().then(() => { - // audio.initializeVolumeChecker(); + initializeVolumeChecker(); }); }; diff --git a/web/chat-server.js b/web/chat-server.js index 6585318..b50c3d7 100644 --- a/web/chat-server.js +++ b/web/chat-server.js @@ -13,6 +13,7 @@ const Groq = require('groq-sdk'); // Load environment variables dotenv.config({ path: `.env${process.env.NODE_ENV === 'development' ? '.development' :'.'+ process.env.NODE_ENV }` }); +console.log(`loaded env file: ${process.env.NODE_ENV}`) // Initialize services const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); diff --git a/web/client.html b/web/client.html index 10eb79c..1ce243c 100644 --- a/web/client.html +++ b/web/client.html @@ -173,7 +173,7 @@ // count speaking and silence if (averageVolume > threshold) { if (autosend.checked && speakingCount == 0 && audioRecorder) { - console.log("startint new recording"); + console.log("starting new recording"); soundDetected = false; audioRecorder.stop(); audioRecorder.start(); From 355e81399ad4a129d6541c76cad3747c7910ffe4 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 6 Jul 2024 17:41:22 +0300 Subject: [PATCH 02/15] AI:adding prisma, redesign --- package-lock.json | 18 + package.json | 6 +- web/.env | 21 +- web/.gitignore | 3 + web/chat-client.html | 813 +++++++++++++-------------------------- web/chat-server.js | 136 ++++--- web/prisma/schema.prisma | 40 ++ 7 files changed, 445 insertions(+), 592 deletions(-) create mode 100644 web/.gitignore create mode 100644 web/prisma/schema.prisma diff --git a/package-lock.json b/package-lock.json index 3cd4954..a7948b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "kevin-ai", "version": "1.0.0", "dependencies": { + "@prisma/client": "^5.16.1", "axios": "^1.7.2", "body-parser": "^1.20.2", "dotenv": "^16.4.5", @@ -21,6 +22,23 @@ "ws": "^8.12.1" } }, + "node_modules/@prisma/client": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.16.1.tgz", + "integrity": "sha512-wM9SKQjF0qLxdnOZIVAIMKiz6Hu7vDt4FFAih85K1dk/Rr2mdahy6d3QP41K62N9O0DJJA//gUDA3Mp49xsKIg==", + "hasInstallScript": true, + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, "node_modules/@types/node": { "version": "18.19.34", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz", diff --git a/package.json b/package.json index 79e272c..cebd6f9 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,12 @@ "start:demo": "NODE_ENV=demo node web/server.js", "start:demo-chat": "node web/chat-server.js", "start:tele": "python agent-py-bot/agent.py" - - }, + }, "env": { "NODE_ENV": "demo" - }, + }, "dependencies": { + "@prisma/client": "^5.16.1", "axios": "^1.7.2", "body-parser": "^1.20.2", "dotenv": "^16.4.5", diff --git a/web/.env b/web/.env index 38be4ef..1233140 100644 --- a/web/.env +++ b/web/.env @@ -14,10 +14,19 @@ TTS_API_URL=https://api.tts.d-popov.com/asr LLN_MODEL=qwen2 LNN_API_URL=https://ollama.d-popov.com/api/generate -GROQ_API_KEY=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 -OPENAI_API_KEY=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 +# GROQ_API_KEY=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 +# OPENAI_API_KEY=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 -WS_URL=wss://tts.d-popov.com -PUBLIC_HOSTNAME=tts.d-popov.com -SERVER_PORT_WS=8080 -SERVER_PORT_HTTP=8080 \ No newline at end of file +# WS_URL=wss://tts.d-popov.com +# PUBLIC_HOSTNAME=tts.d-popov.com +# SERVER_PORT_WS=8080 +# SERVER_PORT_HTTP=8080 + +# This was inserted by `prisma init`: +# Environment variables declared in this file are automatically made available to Prisma. +# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema + +# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB. +# See the documentation for all the connection string options: https://pris.ly/d/connection-strings + +DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public" \ No newline at end of file diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..11ddd8d --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,3 @@ +node_modules +# Keep environment variables out of version control +.env diff --git a/web/chat-client.html b/web/chat-client.html index d629a00..659f646 100644 --- a/web/chat-client.html +++ b/web/chat-client.html @@ -1,615 +1,354 @@ - + - Real-time Voice Chat - - + + + Voice Chat Messenger +
-

Real-time Voice Chat

+

Voice Chat Messenger

-
- - - - - - - -
- - -