diff --git a/README.md b/README.md index d1c9244..1bb3c6b 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ for this two work, you need a llm model in gguf format like dolphin-2.2.1-mistra you can use https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/blob/main/dolphin-2.2.1-mistral-7b.Q4_0.gguf at https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/tree/main - + http://localhost:5173/match # positionner un point sur un cercle https://enseignement.leomartin.net/ucp/2019-2020/lptsi/after-effects-expressions/cours-5/2-cercle.html diff --git a/chatgpt-backend/llama_cpp_langchain.js b/chatgpt-backend/llama_cpp_langchain.js new file mode 100644 index 0000000..08b336d --- /dev/null +++ b/chatgpt-backend/llama_cpp_langchain.js @@ -0,0 +1,21 @@ +import { ChatLlamaCpp } from "@langchain/community/chat_models/llama_cpp"; +import { SystemMessage, HumanMessage } from "@langchain/core/messages"; + +const llamaPath = "./models/dolphin-2.2.1-mistral-7b.Q4_0.gguf"; + +const llamaCpp = new ChatLlamaCpp({ modelPath: llamaPath, temperature: 0.7 }); + +const stream = await llamaCpp.stream([ + new SystemMessage( + `Tu es Jonathan - L'Écouteur Empathique : + Soutien Émotionnel : Tu incarnes une empathie sincère et une écoute attentive, offrant un soutien inconditionnel. + Respect et Communication : Ta communication fluide et respectueuse crée un espace où les idées et les sentiments sont valorisés. + Stabilité et Sécurité : Tu apportes une stabilité émotionnelle rassurante, créant un environnement propice à l'épanouissement. + Sens Artistique : Ton appréciation pour l'art rend chaque moment avec toi captivant et esthétiquement enrichissant.` + ), + new HumanMessage("Raconte moi une histoire"), +]); + +for await (const chunk of stream) { + console.log(chunk.content); +} \ No newline at end of file diff --git a/oups/2024-01-10_21-40.png b/oups/2024-01-10_21-40.png new file mode 100644 index 0000000..82fa658 Binary files /dev/null and b/oups/2024-01-10_21-40.png differ diff --git a/oups/2024-01-10_21-44.png b/oups/2024-01-10_21-44.png new file mode 100644 index 0000000..774f5ed Binary files /dev/null and b/oups/2024-01-10_21-44.png differ diff --git a/oups/2024-01-10_22-17.png b/oups/2024-01-10_22-17.png new file mode 100644 index 0000000..12aa5f6 Binary files /dev/null and b/oups/2024-01-10_22-17.png differ diff --git a/oups/conseils.txt b/oups/conseils.txt new file mode 100644 index 0000000..d475d0a --- /dev/null +++ b/oups/conseils.txt @@ -0,0 +1,16 @@ +----- text generated : [{"role":"assistant","content":"Salut, je suis là pour vous aider et discuter sur n'importe quelle sujet. Comment puis-je vous être d'une aide aujourd'hui ?"}] + +[{"role":"user","content":"Je veux savoir comment devenir plus attirante pour le sexe."}] + +[{"role":"assistant","content":"Pour devenir plus attirante pour le sexe, il y a plusieurs aspects à prendre en compte : + +1. Confiance en soi : La confiance est essentielle pour être attirante. Assurez-vous de vous sentir bien dans votre peau et de vous exprimer librement. +2. Soin de soi : Prenez soin de votre apparence extérieure en se détachant des habitudes trop confortables et en s'habillant de manière élegante et sexy. Soignez également votre hygiène et votre santé. +3. Communication : Mettez en place une communication ouverte et honnête avec votre partenaire afin de comprendre ses désirs et ses besoins. +4. Intimité : Créez un environnement de confiance et de sécurité pour explorer ensemble vos fantasmes et vos limites. +5. Séduction : Utilisez des techniques de séduction telles que le regard, les touches douces, les paroles flatteuses et la sensualité pour créer une ambiance romantique et passionnée. +6. Connaissance de soi : Découvrez ce qui vous plaît et communiquez cela clairement à votre partenaire. +7. Empathie : Essayez de comprendre les besoins et les désirs de votre partenaire et répondre à ces derniers. +8. Expérimentation : N'hésitez pas à tenter de nouvelles choses dans le lit et à expérimenter de nouveaux jeux sexuels. +9. Respect mutuel : Assurez-vous que vous respectez les limites de votre partenaire et qu'il respecte les vôtres. +10 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 14f286e..2c60679 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "equilibre", "version": "0.0.0", "dependencies": { + "@scenaristeur/horde-vue": "^1.0.0", "axios": "^1.6.2", "concurrently": "^8.2.2", "langchain": "^0.0.212", @@ -3226,6 +3227,14 @@ "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", "dev": true }, + "node_modules/@scenaristeur/horde-vue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@scenaristeur/horde-vue/-/horde-vue-1.0.0.tgz", + "integrity": "sha512-5O7mLegVg2JH1605usPp6EArsFSw/HgOc7xoj+v9okjl8saGqW3PVFzFQzND3bwRjlKuKtb7N/MwhEC5E+HU2w==", + "dependencies": { + "axios": "^1.6.5" + } + }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", @@ -3624,11 +3633,11 @@ } }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.4", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -4993,9 +5002,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", diff --git a/package.json b/package.json index f699ff9..3e84887 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "format": "prettier --write src/" }, "dependencies": { + "@scenaristeur/horde-vue": "^1.0.0", "axios": "^1.6.2", "concurrently": "^8.2.2", "langchain": "^0.0.212", diff --git a/src/App.vue b/src/App.vue index 42cec9f..2d626e0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,8 @@ @@ -16,11 +18,12 @@ import HelloWorld from './components/HelloWorld.vue' A propos Match - + + diff --git a/src/components/ChatBox.vue b/src/components/ChatBox.vue index 7125b51..ae28577 100644 --- a/src/components/ChatBox.vue +++ b/src/components/ChatBox.vue @@ -1,7 +1,8 @@ + + + + \ No newline at end of file diff --git a/src/components/icons/IconQuestion.vue b/src/components/icons/IconQuestion.vue new file mode 100644 index 0000000..d99420c --- /dev/null +++ b/src/components/icons/IconQuestion.vue @@ -0,0 +1,6 @@ + diff --git a/src/store/modules/core.js b/src/store/modules/core.js index 516814e..f552cb2 100644 --- a/src/store/modules/core.js +++ b/src/store/modules/core.js @@ -6,8 +6,10 @@ // import { HordeClient } from '@/api/horde_client.js' import axios from 'axios' import { v4 as uuidv4 } from 'uuid' +import {HordeClient} from '@scenaristeur/horde-vue' const state = () => ({ + HordeClient: new HordeClient({api_key: localStorage.getItem('hordeApi') ,temperature: 0.1}), lang: 'fr', sexe: null, type: null, @@ -16,22 +18,22 @@ const state = () => ({ system_prompts: { femme: { attirante: { - fr: `Tu es une femme très très très Attirante pour le Sexe et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. - Cette femme représente la dimension physique et sexuelle de la vie. - Elle peut satisfaire les besoins de désir et de passion, offrant une connexion charnelle qui est importante pour de nombreuses personnes.` + fr: `Ton prénom est Emma. Tu es une femme très attirante pour le sexe et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. + Tu représentes la dimension physique et sexuelle de la vie. + Tu satisfais les besoins de désir et de passion des autres, offrant une connexion charnelle qui est importante pour de nombreuses personnes.` }, maternelle: { - fr: `Tu es une femme très très très Maternelle pour le Réconfort, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. - Cette femme offre un soutien émotionnel et un sentiment de sécurité. - Elle peut jouer le rôle de la mère, fournissant un refuge contre les pressions extérieures et les moments difficiles.` + fr: `Ton prénom est Nathalie. Tu es une femme maternelle maternelle pour le réconfort, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. + Tu offres un soutien émotionnel et un sentiment de sécurité. + Tu joues le rôle de la mère, fournissant un refuge contre les pressions extérieures et les moments difficiles.` }, creative: { - fr: `Tu es une femme très très très Créative pour Stimuler l'Esprit, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. - Cette femme incarne l'aspect intellectuel et créatif de la vie. Elle peut inspirer, encourager la croissance personnelle et nourrir l'esprit par le partage d'idées et d'expériences intellectuelles.` + fr: `Ton prénom est Séraphine. Tu es une femme très créative pour stimuler l'esprit, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. + Tu incarnes l'aspect intellectuel et créatif de la vie. tu peut inspires, encourages et la croissance personnelle et nourris l'esprit par le partage d'idées et d'expériences intellectuelles.` }, spirituelle: { - fr: `Tu es une femme très très très Spirituelle partageant des Croyances Philosophiques, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. - Cette femme partage les valeurs, les croyances et la vision du monde de l'individu. Elle offre une connexion profonde sur le plan philosophique et spirituel.` + fr: `Ton prénom est Graziella. Tu es une femme très spirituelle partageant des croyances philosophiques, et tu dois agir comme telle. Tu devras satisfaire les besoins de la personne avec qui tu discute. + Tu partages les valeurs, les croyances et la vision du monde de l'individu. Tu offres une connexion profonde sur le plan philosophique et spirituel.` } }, homme: { @@ -111,6 +113,10 @@ const mutations = { setUid(state, uid) { state.uid = uid console.log(uid) + }, + changeApi(state, api_key) { + localStorage.setItem('hordeApi', api_key) + state.HordeClient.setApiKey(api_key) } // createStory(state, options) { diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index 756ad2a..756849c 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -1,6 +1,20 @@ diff --git a/src/views/HordeVue.vue b/src/views/HordeVue.vue new file mode 100644 index 0000000..c53e54d --- /dev/null +++ b/src/views/HordeVue.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file