Giter Site home page Giter Site logo

ubos-tech / node-red-contrib-chromadb Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 28 KB

Chroma is the open-source embedding database

License: MIT License

HTML 75.75% JavaScript 24.25%
chromadb llms node-red node-red-contrib node-red-flow ubos-tech vectordb database embedding embedding-vectors vector

node-red-contrib-chromadb's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

node-red-contrib-chromadb's Issues

Query Error

Query structure

// Query the collection using query text
msg.collection = "my_collection";
msg.payload = {
queryTexts: "some text",
nResults: 2,
where: { key: "value" },
include: ["metadata", "document"]
};

return msg;

Error!

"Error: embeddingFunction is undefined. Please configure an embedding function"

Flow code

[
{
"id": "5622154406f0f5a5",
"type": "inject",
"z": "e436c4bffd9bf09e",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 380,
"y": 620,
"wires": [
[
"f2d2524fc791652d"
]
]
},
{
"id": "a0a78a66a73e57e0",
"type": "debug",
"z": "e436c4bffd9bf09e",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 570,
"wires": []
},
{
"id": "f2d2524fc791652d",
"type": "chromadb-client",
"z": "e436c4bffd9bf09e",
"name": "DeleteCollection",
"remoteServer": "83049c9dffa31dc3",
"collection": "BCPGRP",
"operation": "deleteCollection",
"x": 550,
"y": 620,
"wires": [
[
"a0a78a66a73e57e0"
]
]
},
{
"id": "b3b532b8b9d256ca",
"type": "chromadb-client",
"z": "e436c4bffd9bf09e",
"name": "ListCollections",
"remoteServer": "83049c9dffa31dc3",
"collection": "BCPGRP",
"operation": "listCollections",
"x": 550,
"y": 670,
"wires": [
[
"8ddd97afc263ee46"
]
]
},
{
"id": "c5eb365e9fb9bdd6",
"type": "inject",
"z": "e436c4bffd9bf09e",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 380,
"y": 670,
"wires": [
[
"b3b532b8b9d256ca"
]
]
},
{
"id": "8ddd97afc263ee46",
"type": "debug",
"z": "e436c4bffd9bf09e",
"name": "debug 2",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 670,
"wires": []
},
{
"id": "13c2aafc2b60f718",
"type": "chromadb-collection",
"z": "e436c4bffd9bf09e",
"remoteServer": "9ca390c234fce997",
"name": "Add data",
"collection": "",
"operation": "add",
"x": 650,
"y": 720,
"wires": [
[
"dc241fbf5ab9a1ab"
]
]
},
{
"id": "c415bd785559537d",
"type": "function",
"z": "e436c4bffd9bf09e",
"name": "Collection",
"func": "msg.collection = "BCPGRP";\n\nlet vector = createVector(24);\n\nmsg.payload = {\n ids: [ "id1", "id2", "id3", "id4", "id5", "id6", "id7", "id8", \n "id9", "id10", "id11", "id12", "id13", "id14", "id15", "id16", \n "id17", "id18", "id19", "id20", "id21", "id22", "id23", "id24"\n ],\n metadatas: [\n { key: "Levantamiento artificial" }, \n { key: "Yacimiento" },\n { key: "ALS" },\n { key: "ESP" },\n { key: "C2S" },\n { key: "SUT" },\n { key: "PCP" },\n { key: "DHS" },\n { key: "Enfermedad de pozo" },\n { key: "Sello mecánico" },\n { key: "Cámara de empuje" },\n { key: "Falla sello mecánico" },\n { key: "Protección" },\n { key: "Bombeo mecánico" },\n { key: "Transformador" },\n { key: "Sensor de fondo" },\n { key: "Corrosión y abrasión" },\n { key: "Optimización" },\n { key: "Presión de succión" },\n { key: "Presión de descarga" },\n { key: "Temperatura de entrada" },\n { key: "Temperatura de motor" },\n { key: "Vibración" },\n { key: "Corriente de fuga" },\n ],\n documents: [\n "Levantamiento artificial, Es un sistema mecánico o electromecánico, diseñado para desplazar un fluido, de forma vertical, almacenado en el subsuelo y llevarlo hasta la superficie venciendo la acción gravitatoria y otros factores relacionados a la geología y composición del suelo. Sus componentes básicos son un motor, una bomba, un sistema de ducto o completamiento, un cabezal y su instrumentación de medición y en algunos casos una unidad de sensor de fondo. Existen diferentes métodos de levantamiento artificial, incluyendo el bombeo mecánico, el bombeo neumático, el bombeo hidráulico y los sistemas de bombeo electrosumergible.",\n "Yacimiento, hace referencia al yacimiento o pozo petrolero.",\n "ALS o levantamiento artificial.",\n "ESP, También es conocido como BES, este ALS es un sistema de bombeo electrosumergible o bomba electrosumergible. Se trata de una bomba centrífuga y motor instalados en el fondo del completamiento. Este sistema usualmente requiere de un transformador SUT para elevar la tensión o voltaje proporcionados por el variador de velocidad o C2S. Este levantamiento artificial está equipado con un sensor de fondo que suministra mediciones de variables físicas del sistema de bombeo o sistema de bomba. Las bombas ESP son conocidas por su alta eficiencia y capacidad para manejar grandes volúmenes de fluidos. Sin embargo, su instalación y mantenimiento pueden ser costosos, y son susceptibles a problemas como la acumulación de gas y el desgaste por abrasión.",\n "C2S, Es un variador de frecuencia trifásico empleado para controlar motores eléctricos de imanes permanentes y de jaula de ardilla. Este dispositivo permite ajustar la velocidad y el torque del motor en función de las necesidades operativas del sistema de bombeo, optimizando el rendimiento y reduciendo el consumo de energía. Los variadores de frecuencia como el C2S también ayudan a prolongar la vida útil del equipo al reducir el estrés mecánico durante los arranques y paradas.",\n "SUT, Es una máquina eléctrica. Se trata de un transformador elevador de tensión para controlar un motor cuyo voltaje de placa de motor (nameplate) es superior al voltaje máximo que puede suministrar el variador de frecuencia seleccionado para el control de velocidad de un motor dado. Los transformadores SUT son esenciales en aplicaciones donde se requiere una alta tensión para operar motores grandes y potentes, asegurando un suministro de energía estable y eficiente.",\n "PCP, También es conocido como BCP, sistema de bombeo de cavidad progresiva o bomba de cavidad progresiva. Se trata de una bomba de desplazamiento positivo instalada en el fondo del completamiento y motor instalado en la superficie (en la parte superior del cabezal). Este sistema raramente requiere de un transformador SUT para elevar la tensión o voltaje proporcionados por el variador de velocidad o C2S, debido a que este tipo de bomba permite usar motores de potencia moderada. Este levantamiento artificial no está equipado usualmente con un sensor de fondo que suministre mediciones de variables físicas del sistema de bombeo o sistema de bomba. Las bombas PCP son ideales para manejar fluidos viscosos y con alta carga de sólidos, y son conocidas por su capacidad de mantener una tasa de flujo constante a pesar de las variaciones en la presión del pozo.",\n "DHS, también conocido como sensor de fondo, se trata de un dispositivo empleado para transmitir variables de presión de entrada y descarga, temperatura de entrada y descarga, vibración y temperatura de motor. Dependiendo del fabricante puede haber mediciones parciales de las mencionadas.",\n "La enfermedad de pozo es un término empleado para referirse a un pozo o yacimiento de petróleo que presenta una condición poco común que reduce la cantidad de fluido que se puede extraer. Estas condiciones pueden incluir problemas como la acumulación de parafina o asfaltenos, el ingreso de agua, la formación de emulsiones, o la presencia de gas en exceso. El tratamiento de la enfermedad de pozo puede requerir una combinación de métodos químicos, mecánicos y de gestión de producción para restaurar o mejorar la capacidad de extracción del pozo.",\n "Sello mecánico es un dispositivo empleado para mantener separado el fluido de proceso que circula dentro de una bomba, del fluido propio de la cámara de empuje. Su valor máximo admisible se indica en psi.",\n "Cámara de empuje o HTC es un sistema mecánico diseñado para servir como eslabón intermedio entre el eje de un motor y la cabeza de fuerza de una bomba. Es decir, que la HTC se encuentra en medio del acoplamiento del eje del motor y el sello mecánico de la bomba.",\n "Falla de sello mecánico o evento de falla de sello mecánico, se trata de una situación en la que el sello mecánico sufre alteración constructiva o cambio indeseado de su posición, que conlleva a un paso del fluido del proceso hacia la cámara de empuje.",\n "Protección, se conoce a los sistemas de alarma que evalúan variables de proceso (adquiridas mediante DHS, instrumentos analógicos, instrumentos RTD, o variables eléctricas del C2S, como tensiones, corrientes, presiones y temperaturas) y que establecen advertencias o paradas de proceso para proteger el yacimiento o la unidad de bombeo y motor. (HH:Muy alto, H:Alto, L:Bajo, LL:Muy bajo).Generalmente condiciones HH y LL causan detención del equipo",\n "El bombeo mecánico, también conocido como bombeo con varillas o 'sucker rod pumping', es el método más común de levantamiento artificial. Consiste en un conjunto de varillas conectadas a una bomba en el fondo del pozo y accionadas por una unidad de superficie. Este sistema es ideal para pozos con baja presión de fondo y puede manejar una amplia variedad de fluidos. Las unidades de bombeo mecánico son robustas y confiables, pero pueden tener limitaciones en cuanto a la profundidad y volumen de producción.",\n "Los transformadores son dispositivos esenciales en el levantamiento artificial que permiten ajustar el voltaje de la electricidad suministrada a los motores y otros equipos. Los transformadores elevadores de tensión, como el SUT, son cruciales para operar motores de alta potencia de manera eficiente, mientras que los transformadores reductores son utilizados para aplicaciones donde se requiere un voltaje más bajo.",\n "Los sensores de fondo son dispositivos instalados en el fondo del pozo que proporcionan datos en tiempo real sobre las condiciones del sistema de bombeo, como presión, temperatura y tasa de flujo. Estos datos son vitales para la optimización del levantamiento artificial, permitiendo ajustes en tiempo real para maximizar la eficiencia y la producción.",\n "La corrosión y la abrasión son problemas comunes en los sistemas de levantamiento artificial. La corrosión puede ser causada por la presencia de agua y gases corrosivos como el sulfuro de hidrógeno, mientras que la abrasión es causada por la presencia de partículas sólidas en el fluido. Ambos problemas pueden reducir significativamente la vida útil del equipo y aumentar los costos de mantenimiento. El uso de materiales resistentes y tratamientos químicos puede ayudar a mitigar estos problemas.",\n "La optimización de la producción se refiere a la aplicación de técnicas y tecnologías avanzadas para maximizar la extracción de petróleo de un yacimiento. Esto puede incluir el ajuste de parámetros operativos, la implementación de nuevas tecnologías de levantamiento artificial, y el uso de análisis de datos y modelos predictivos para tomar decisiones informadas.",\n "Presión de succión o de entrada, es la presión medida en el punto de entrada del fluido en una bomba o compresor en un sistema de levantamiento artificial.",\n "Presión de descarga es la presión medida en el punto de salida del fluido de una bomba o compresor en un sistema de levantamiento artificial.",\n "Temperatura de entrada es la temperatura del fluido en el punto justo antes de que entre en un equipo o componente de un sistema de levantamiento artificial.",\n "Temperatura de motor es la temperatura medida en el motor que impulsa una bomba en un sistema de levantamiento artificial.",\n "Vibración es la oscilación mecánica del equipo de levantamiento artificial, que puede ser un indicador de problemas de alineación, desgaste o desequilibrios.",\n "Corriente de fuga se refiere a la corriente eléctrica no deseada que se desvía del circuito previsto dentro del sensor de fondo. Esta corriente de fuga puede ser causada por fallos en el aislamiento del sensor, humedad, contaminación, o defectos en los componentes electrónicos del sensor. La presencia de corriente de fuga puede afectar la precisión de las mediciones y la integridad del sensor, y es crucial monitorizarla para asegurar el funcionamiento eficiente y seguro del sistema de levantamiento artificial"\n ],\n embeddings: vector,\n};\nreturn msg;\n\nfunction createVector(n) {\n // Inicializamos el vector principal de n posiciones\n const mainVector = [];\n\n // Inicializamos el contador para numerar los elementos\n let counter = 1;\n\n // Recorremos cada posición del vector principal para crear n subvectores\n for (let i = 0; i < n; i++) {\n // Creamos un subvector de 3 elementos numerados secuencialmente\n const subVector = [counter, counter + 1, counter + 2];\n\n // Añadimos el subvector al vector principal\n mainVector.push(subVector);\n\n // Incrementamos el contador en 3 para la siguiente secuencia\n counter += 3;\n }\n\n return mainVector;\n}\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 510,
"y": 720,
"wires": [
[
"13c2aafc2b60f718"
]
]
},
{
"id": "52ab1636ca52e054",
"type": "inject",
"z": "e436c4bffd9bf09e",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 380,
"y": 720,
"wires": [
[
"c415bd785559537d"
]
]
},
{
"id": "dc241fbf5ab9a1ab",
"type": "debug",
"z": "e436c4bffd9bf09e",
"name": "debug 3",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 720,
"wires": []
},
{
"id": "55ca445e2899c241",
"type": "chromadb-client",
"z": "e436c4bffd9bf09e",
"name": "CreateCollection",
"remoteServer": "83049c9dffa31dc3",
"collection": "BCPGRP",
"operation": "createCollection",
"x": 540,
"y": 570,
"wires": [
[
"a0a78a66a73e57e0"
]
]
},
{
"id": "3b0216bf386281da",
"type": "inject",
"z": "e436c4bffd9bf09e",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 380,
"y": 570,
"wires": [
[
"55ca445e2899c241"
]
]
},
{
"id": "3dbb3eef66804753",
"type": "chromadb-collection",
"z": "e436c4bffd9bf09e",
"remoteServer": "9ca390c234fce997",
"name": "Query",
"collection": "BCPGRP",
"operation": "query",
"x": 640,
"y": 770,
"wires": [
[
"2ade324ddc8e543b"
]
]
},
{
"id": "38524ed7c89c0acd",
"type": "function",
"z": "e436c4bffd9bf09e",
"name": "Query",
"func": "// Query the collection using query text\nmsg.collection = "BCPGRP";\nmsg.payload = {\n //queryEmbeddings: [0.1, 0.2],\n queryTexts: "Falla C2S",\n nResults: 2,\n where: { key: "C2S" },\n include: ["metadata", "document"]\n};\n\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 500,
"y": 770,
"wires": [
[
"3dbb3eef66804753"
]
]
},
{
"id": "7c5a2676cf0649dd",
"type": "inject",
"z": "e436c4bffd9bf09e",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 380,
"y": 770,
"wires": [
[
"38524ed7c89c0acd"
]
]
},
{
"id": "2ade324ddc8e543b",
"type": "debug",
"z": "e436c4bffd9bf09e",
"name": "debug 4",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 770,
"wires": []
},
{
"id": "83049c9dffa31dc3",
"type": "remote-server-client",
"host": "http://127.0.0.1:8000"
},
{
"id": "9ca390c234fce997",
"type": "remote-server-collection",
"host": "http://127.0.0.1:8000"
}
]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.