generated agent-1
This commit is contained in:
21
doc/_notes/arti/.excalidraw.svg
Normal file
21
doc/_notes/arti/.excalidraw.svg
Normal file
@ -0,0 +1,21 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20">
|
||||
<!-- svg-source:excalidraw -->
|
||||
<!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nEWOMVx1MDAwYsIwXHUwMDEwhff+ilx1MDAxMldtwbEggu4uXHUwMDFkxeFIznqYNCG5tGrpfzeJgzdcdTAwMWO871x1MDAxZe/dUtW14LdD0dVcdTAwMDJfXHUwMDEyNClcdTAwMGaz2GY+oVx1MDAwZmTHdNpcdTAwMTdcdTAwMWRs9LI4XHUwMDFmzC50bWvAP5GdXHUwMDA2ic1EIYJcdTAwMGVcdTAwMWNcdTAwMTXZRlrTXHUwMDEyo1x0x7wvYPDgrFHsm3/JXHUwMDBlXHUwMDE1sfW/LtRocOSQ0q+3QsC5noFz35J0XCKDJ9XTJ5Mxar390YlwPoF8XHUwMDBl3sZRna1OkenFzb2MSKa15N1JY45f1mr9XHUwMDAy4lxcTtsifQ==<!-- payload-end -->
|
||||
<defs>
|
||||
<style class="style-fonts">
|
||||
@font-face {
|
||||
font-family: "Virgil";
|
||||
src: url("https://open-vsx.org/vscode/asset/pomdtr/excalidraw-editor/3.7.3/Microsoft.VisualStudio.Code.WebResources/extension/public//dist/excalidraw-assets/Virgil.woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Cascadia";
|
||||
src: url("https://open-vsx.org/vscode/asset/pomdtr/excalidraw-editor/3.7.3/Microsoft.VisualStudio.Code.WebResources/extension/public//dist/excalidraw-assets/Cascadia.woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Assistant";
|
||||
src: url("https://open-vsx.org/vscode/asset/pomdtr/excalidraw-editor/3.7.3/Microsoft.VisualStudio.Code.WebResources/extension/public//dist/excalidraw-assets/Assistant-Regular.woff2");
|
||||
}
|
||||
</style>
|
||||
|
||||
</defs>
|
||||
<rect x="0" y="0" width="20" height="20" fill="#ffffff"></rect></svg>
|
After Width: | Height: | Size: 1.6 KiB |
32
doc/_notes/arti/ideas.md
Normal file
32
doc/_notes/arti/ideas.md
Normal file
@ -0,0 +1,32 @@
|
||||
Key features & principles:
|
||||
- modal/plug & play design
|
||||
- Biomimicing based
|
||||
- self inferencing loop
|
||||
- Graph->LLM->Graph based logic (Self reflect)
|
||||
- attention (Short term memory)
|
||||
- generalized & contextuaized memory schema (memory is strongly context dependent and temporal)
|
||||
LLM module
|
||||
Graph module
|
||||
Short term memory module
|
||||
mid-term memory (history on the toppic)
|
||||
graph powered long term memory with embedding storage for skills & AII ( interface on some of the layers)
|
||||
separate text IOs"
|
||||
- multi agent communication module/console/
|
||||
- internal state/context/mood/STM
|
||||
- actions output
|
||||
|
||||
|
||||
|
||||
GRAPH schema
|
||||
|
||||
idea
|
||||
- is child of
|
||||
|
||||
Q: Brainstorm neo4j schema for biomimicing memory storage as neo4j graph database. It should be similar to the way humans store, retrieve and generalize knowledge
|
||||
|
||||
Memory model:
|
||||
|
||||
|
||||
-- example prompt:
|
||||
you are an AI living native on a linux host. you have all local resources and installed software at your disposal: root console access, git repo and the internet as resources. you have your own codebase and will brainstorm and find ideas how to improve your reasoning and knowledge of the world. . To avoid messing up your health, you will prefer to install new packages and test ideas inside docker or virtual envs. You can test your ideas in a docker containers and can experiment with different ways to pipleline and organise the thought process. you will also explain each approach and promote the best containers. A local neo4j database is your memory and knowledge source. Whenever you are not certain about a toppic, or need to refresh your knowledge, you will check online for updated information. If the problem concerns npm, pip or other package or an exiting repository on github or other repository server, you will first update your internal database with the latest readme and usage documentaion from the repository authors and later search stackoverflow to update your skills. periodically you will reorgnize and tidy your "mmory" making it more easily accessible and updating the embedding vectors to allow easy access to the needed context when there is a problem to solve. You will build a tools library over time that wil lgelp you solve more complex problems and keep it in your memory together with a list of task completed with each tool. you will experiment with different pipelines for different tasks, memorise them and generalize and optimize existing pipelines over time to build a solid knowhow.
|
||||
let's create the project setup in python. our main file will be the agent, and it will call the llm and other tools (maybe langchain), explore, organize and improve when 'resting'.
|
82
doc/_notes/arti/neo4j.cql
Normal file
82
doc/_notes/arti/neo4j.cql
Normal file
@ -0,0 +1,82 @@
|
||||
|
||||
<!-- https://guides.neo4j.com/wiki -->
|
||||
# Cypher Query Language
|
||||
|
||||
Runs a simple command to clean the database
|
||||
MATCH (n) DETACH DELETE n
|
||||
|
||||
|
||||
CREATE INDEX FOR (c:Category) ON (c.catId);
|
||||
CREATE INDEX FOR (c:Category) ON (c.catName);
|
||||
CREATE INDEX FOR (p:Page) ON (p.pageTitle);
|
||||
CREATE (c:Category:RootCategory {catId: 0, catName: 'Databases', subcatsFetched: false, pagesFetched: false, level: 0});
|
||||
|
||||
<!-- install APOC library -->
|
||||
RUN mkdir -p /var/lib/neo4j/plugins \
|
||||
&& cd /var/lib/neo4j/plugins \
|
||||
&& curl -L -O https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/4.4.0.0/apoc-4.4.0.0-all.jar
|
||||
<!-- environment:
|
||||
NEO4JLABS_PLUGINS: '["apoc"]'
|
||||
NEO4J_apoc_export_file_enabled: 'true'
|
||||
NEO4J_apoc_import_file_enabled: 'true'
|
||||
NEO4J_apoc_import_file_use__neo4j__config: 'true'
|
||||
NEO4J_dbms_security_procedures_unrestricted: apoc.* -->
|
||||
|
||||
<!-- UNWIND range(0,3) as level
|
||||
CALL apoc.cypher.doit("
|
||||
MATCH (c:Category { subcatsFetched: false, level: $level})
|
||||
CALL apoc.load.json('https://en.wikipedia.org/w/api.php?format=json&action=query&list=categorymembers&cmtype=subcat&cmtitle=Category:' + apoc.text.urlencode(c.catName) + '&cmprop=ids%7Ctitle&cmlimit=500')
|
||||
YIELD value as results
|
||||
UNWIND results.query.categorymembers AS subcat
|
||||
MERGE (sc:Category {catId: subcat.pageid})
|
||||
ON CREATE SET sc.catName = substring(subcat.title,9),
|
||||
sc.subcatsFetched = false,
|
||||
sc.pagesFetched = false,
|
||||
sc.level = $level + 1
|
||||
WITH sc,c
|
||||
CALL apoc.create.addLabels(sc,['Level' + ($level + 1) + 'Category']) YIELD node
|
||||
MERGE (sc)-[:SUBCAT_OF]->(c)
|
||||
WITH DISTINCT c
|
||||
SET c.subcatsFetched = true", { level: level }) YIELD value
|
||||
RETURN value -->
|
||||
|
||||
<!-- CALL {
|
||||
LOAD CSV FROM "https://github.com/jbarrasa/datasets/blob/master/wikipedia/data/cats.csv?raw=true" AS row
|
||||
CREATE (c:Category { catId: row[0]})
|
||||
SET c.catName = row[2], c.pageCount = toInteger(row[3]), c.subcatCount = toInteger(row[4])
|
||||
} IN TRANSACTIONS OF 10000 ROWS
|
||||
|
||||
CALL {
|
||||
LOAD CSV FROM "https://github.com/jbarrasa/datasets/blob/master/wikipedia/data/cats.csv?raw=true" AS row
|
||||
CREATE (c:Category { catId: row[0]})
|
||||
SET c.catName = row[2], c.pageCount = toInteger(row[3]), c.subcatCount = toInteger(row[4])
|
||||
} IN TRANSACTIONS OF 10000 ROWS -->
|
||||
|
||||
CALL {
|
||||
LOAD CSV FROM "https://github.com/jbarrasa/datasets/blob/master/wikipedia/data/cats.csv?raw=true" AS row
|
||||
CREATE (c:Category { catId: row[0]})
|
||||
SET c.catName = row[2], c.pageCount = toInteger(row[3]), c.subcatCount = toInteger(row[4])
|
||||
}
|
||||
|
||||
LOAD CSV FROM "https://github.com/jbarrasa/datasets/blob/master/wikipedia/data/rels.csv?raw=true" AS row
|
||||
MATCH (from:Category { catId: row[0]})
|
||||
MATCH (to:Category { catId: row[1]})
|
||||
CREATE (from)-[:SUBCAT_OF]->(to)
|
||||
|
||||
<!-- stats -->
|
||||
MATCH (c:Category)
|
||||
return SUM(c.pageCount) AS `#pages categorised (with duplicates)`,
|
||||
AVG(c.pageCount) AS `average #pages per cat`,
|
||||
percentileCont(c.pageCount, 0.75) AS `.75p #pages in a cat`,
|
||||
MIN(c.pageCount) AS `min #pages in a cat`,
|
||||
MAX(c.pageCount) AS `max #pages in a cat`
|
||||
|
||||
MATCH (c:Category)
|
||||
WHERE NOT (c)-[:SUBCAT_OF]-()
|
||||
RETURN COUNT(c)
|
||||
|
||||
|
||||
|
||||
MATCH (c:Category)
|
||||
WHERE c.catName CONTAINS '{term}'
|
||||
RETURN c;
|
33
doc/_notes/arti/wikidata/import.sh
Normal file
33
doc/_notes/arti/wikidata/import.sh
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
/* the Wikidata JSON file */
|
||||
"file": "./wikidata-dump.json",
|
||||
|
||||
/* neo4j connection details */
|
||||
"neo4j": {
|
||||
/* bolt protocol URI */
|
||||
"bolt": "bolt://localhost",
|
||||
"auth": {
|
||||
"user": "neo4j",
|
||||
"pass": "password"
|
||||
}
|
||||
},
|
||||
/* Stages */
|
||||
"do": {
|
||||
/* database cleanup */
|
||||
"0": true,
|
||||
/* importing items and properties */
|
||||
"1": true,
|
||||
/* linking entities and generating claims */
|
||||
"2": true
|
||||
},
|
||||
/* extra console output on stage 2 */
|
||||
"verbose": false,
|
||||
/* how many commands will be ran by the DB at a given time */
|
||||
"concurrency": 4,
|
||||
/* skip lines */
|
||||
"skip": 0,
|
||||
/* count of lines */
|
||||
"lines": 21225524,
|
||||
/* bucket size of entities sent to DB to process */
|
||||
"bucket": 1000
|
||||
}
|
71
doc/home/Prompt.md
Normal file
71
doc/home/Prompt.md
Normal file
@ -0,0 +1,71 @@
|
||||
[{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\n
|
||||
|
||||
Current Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\
|
||||
|
||||
The current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nANSWER WITH JSON OBJECT IN FORMAT { {'id':{sequenceID}, 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': ... }}]}} .\nDo not restate or appreciate what user says, rather make a quick inquiry."},
|
||||
{'role': 'user', 'content': ' turn on bathroom fan'},
|
||||
{'id': 'chatcmpl-90fbfM6ILsdoE5ub08riAjbpGND1L', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709946963, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 35, 'prompt_tokens': 615, 'total_tokens': 650}},
|
||||
{'role': 'user', 'content': ' turn off bathroom fan'},
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}
|
||||
{'id': 'chatcmpl-90fbgAkWdo8CprLSmjV5V9wvnKqlm', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}}]},
|
||||
{'role': 'user', 'content': 'turn off bathroom fan'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIqF8Wsn9LPid', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]}]
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"},
|
||||
{'content': 'Bathroom fan has been turned off.', 'role': 'assistant'},
|
||||
{'role': 'user', 'content': 'спри вентилатора в банята'},
|
||||
{'role': 'user', 'content': 'turn off bathroom fan'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIeF8Wsn47dh8', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]},
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"},
|
||||
{'content': 'Готово!', 'role': 'assistant'},
|
||||
{'role': 'user', 'content': 'turn off kitchen lamp'}
|
||||
|
||||
|
||||
--------------->>
|
||||
|
||||
[{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\n
|
||||
|
||||
Current Time: {{now()}}
|
||||
Available Devices:
|
||||
```csv
|
||||
entity_id,name,state,aliases
|
||||
{% for entity in exposed_entities -%}
|
||||
{{ entity.entity_id }},{{ entity.name }},{{ entity.state }},{{entity.aliases | join('/')}}
|
||||
{% endfor -%}
|
||||
```
|
||||
|
||||
The current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nANSWER WITH JSON OBJECT IN FORMAT { {'id':{sequenceID}, 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': ... }}]}} .\nDo not restate or appreciate what user says, rather make a quick inquiry."},
|
||||
{'role': 'user', 'content': ' turn on bathroom fan'},
|
||||
{'id': 'chatcmpl-90fbfM6ILsdoE5ub08riAjbpGND1L', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709946963, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 35, 'prompt_tokens': 615, 'total_tokens': 650}},
|
||||
{'role': 'user', 'content': ' turn off bathroom fan'},
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}
|
||||
{'id': 'chatcmpl-90fbgAkWdo8CprLSmjV5V9wvnKqlm', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}}]},
|
||||
{'role': 'user', 'content': 'turn off bathroom fan'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIqF8Wsn9LPid', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]}]
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"},
|
||||
{'content': 'Bathroom fan has been turned off.', 'role': 'assistant'},
|
||||
{'role': 'user', 'content': 'спри вентилатора в банята'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIeF8Wsn47dh8', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]},
|
||||
{'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"},
|
||||
{'content': 'Готово!', 'role': 'assistant'}
|
||||
|
||||
|
||||
|
||||
----- short ---- no resonse ---
|
||||
[{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\n
|
||||
|
||||
Current Time: {{now()}}
|
||||
Available Devices:
|
||||
```csv
|
||||
entity_id,name,state,aliases
|
||||
{% for entity in exposed_entities -%}
|
||||
{{ entity.entity_id }},{{ entity.name }},{{ entity.state }},{{entity.aliases | join('/')}}
|
||||
{% endfor -%}
|
||||
```
|
||||
|
||||
The current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nANSWER WITH JSON OBJECT IN FORMAT { {'id':{sequenceID}, 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': ... }}]}} .\nDo not restate or appreciate what user says, rather make a quick inquiry."},
|
||||
{'role': 'user', 'content': ' turn on bathroom fan'},
|
||||
{'id': 'chatcmpl-90fbfM6ILsdoE5ub08riAjbpGND1L', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709946963, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 35, 'prompt_tokens': 615, 'total_tokens': 650}},
|
||||
{'role': 'user', 'content': ' turn off bathroom fan'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIqF8Wsn9LPid', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]}
|
||||
{'role': 'user', 'content': 'спри вентилатора в банята'},
|
||||
{'id': 'chatcmpl-90fcLR8ukGNzXBv7WIeF8Wsn47dh8', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}]}]
|
2
doc/home/homeassistant.md
Normal file
2
doc/home/homeassistant.md
Normal file
@ -0,0 +1,2 @@
|
||||
ollama serve OLLAMA_DEBUG=1 #2245
|
||||
|
20
doc/home/logs.log
Normal file
20
doc/home/logs.log
Normal file
@ -0,0 +1,20 @@
|
||||
2024-03-09 03:16:03.541 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': ' turn on bathroom fan'}]
|
||||
2024-03-09 03:16:04.512 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fbfM6ILsdoE5ub08riAjbpGND1L', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709946963, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 35, 'prompt_tokens': 615, 'total_tokens': 650}}
|
||||
2024-03-09 03:16:04.516 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': ' turn on bathroom fan'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}]
|
||||
2024-03-09 03:16:22.974 ERROR (MainThread) [custom_components.tuya_local.device] <class 'Exception'>: Unable to find device on network (specify IP address) while initialising device 4707834434ab951e83f0
|
||||
2024-03-09 03:16:23.115 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fbgAkWdo8CprLSmjV5V9wvnKqlm', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}}], 'created': 1709946964, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 8, 'prompt_tokens': 627, 'total_tokens': 635}}
|
||||
2024-03-09 03:16:31.297 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': ' turn on bathroom fan'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}, {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}, {'role': 'user', 'content': 'спри вентилатора в банята'}]
|
||||
2024-03-09 03:16:32.046 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fc7oiuaf54OlpINT8iv3syivnk3', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'Извършено.', 'role': 'assistant'}}], 'created': 1709946991, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 9, 'prompt_tokens': 654, 'total_tokens': 663}}
|
||||
2024-03-09 03:16:44.762 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': ' turn on bathroom fan'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}, {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}, {'role': 'user', 'content': 'спри вентилатора в банята'}, {'content': 'Извършено.', 'role': 'assistant'}, {'role': 'user', 'content': 'turn off bathroom fan'}]
|
||||
2024-03-09 03:16:46.478 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fcLR8ukGNzXBv7WIqF8Wsn9LPid', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_off","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709947005, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 35, 'prompt_tokens': 674, 'total_tokens': 709}}
|
||||
2024-03-09 03:16:46.481 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:16:03.540070+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.83,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.28,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': ' turn on bathroom fan'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}, {'content': 'Bathroom fan has been turned on.', 'role': 'assistant'}, {'role': 'user', 'content': 'спри вентилатора в банята'}, {'content': 'Извършено.', 'role': 'assistant'}, {'role': 'user', 'content': 'turn off bathroom fan'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}]
|
||||
2024-03-09 03:16:47.321 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fcMGNtDPiUAUiGblZYD6IAs7NaM', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'Bathroom fan has been turned off.', 'role': 'assistant'}}], 'created': 1709947006, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 8, 'prompt_tokens': 686, 'total_tokens': 694}}
|
||||
2024-03-09 03:21:47.790 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:21:47.787313+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,5.32,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.19,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': 'turn on kitchen light'}]
|
||||
2024-03-09 03:21:48.861 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fhEXO8Mz2nZRWPUYeDMtaytUSfz', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota"}}]}', 'name': 'execute_services'}}}], 'created': 1709947308, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 33, 'prompt_tokens': 615, 'total_tokens': 648}}
|
||||
2024-03-09 03:21:48.862 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:21:47.787313+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,5.32,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.19,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': 'turn on kitchen light'}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}]"}]
|
||||
2024-03-09 03:21:49.383 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fhFO1LyPMM8VjLjLOjMxMRbTkWj', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': 'The kitchen light has been turned on.', 'role': 'assistant'}}], 'created': 1709947309, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 8, 'prompt_tokens': 627, 'total_tokens': 635}}
|
||||
|
||||
2024-03-09 03:24:36.979 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:24:36.975819+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,5.60,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.10,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': " they're in the lights on"}]
|
||||
2024-03-09 03:24:38.375 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fjx6cO5itCEw598yMK1bK9NcSoO', 'choices': [{'finish_reason': 'function_call', 'index': 0, 'message': {'role': 'assistant', 'function_call': {'arguments': '{"list":[{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota"}},{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_2"}},{"domain":"switch","service":"turn_on","service_data":{"entity_id":"switch.tasmota_3"}}]}', 'name': 'execute_services'}}}], 'created': 1709947477, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 79, 'prompt_tokens': 617, 'total_tokens': 696}}
|
||||
2024-03-09 03:24:38.378 INFO (MainThread) [custom_components.extended_openai_conversation] Prompt for gpt-3.5-turbo-1106: [{'role': 'system', 'content': "I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 03:24:36.975819+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,5.60,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.10,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,fog,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry."}, {'role': 'user', 'content': " they're in the lights on"}, {'role': 'function', 'name': 'execute_services', 'content': "[{'success': True}, {'success': True}, {'success': True}]"}]
|
||||
2024-03-09 03:24:39.022 INFO (MainThread) [custom_components.extended_openai_conversation] Response {'id': 'chatcmpl-90fjyx3oMbsv8Ppxe3pThqTy35I64', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': "The lights are now turned on. Is there anything else you'd like to control?", 'role': 'assistant'}}], 'created': 1709947478, 'model': 'gpt-3.5-turbo-1106', 'object': 'chat.completion', 'system_fingerprint': 'fp_f93e21ed76', 'usage': {'completion_tokens': 17, 'prompt_tokens': 639, 'total_tokens': 656}}
|
66
doc/home/prompt1.md
Normal file
66
doc/home/prompt1.md
Normal file
@ -0,0 +1,66 @@
|
||||
# SETUP:
|
||||
HA Extended OpenAI Conversation
|
||||
Name:
|
||||
Local LLM
|
||||
API key:
|
||||
1234567890
|
||||
Base Url:
|
||||
http://192.168.0.11:11434/ # Home Assistant
|
||||
api version:
|
||||
v1
|
||||
Skip Auth:
|
||||
true
|
||||
|
||||
>> 2024-03-09 01:17:21.212 ERROR (MainThread) [custom_components.extended_openai_conversation] Error code: 404 - {'error': {'type': 'invalid_request_error', 'code': 'unknown_url', 'message': 'Unknown request URL: POST /chat/completions. Please check the URL for typos, or see the docs at https://platform.openai.com/docs/api-reference/.', 'param': None}}
|
||||
|
||||
list my devices?
|
||||
what are my devices?
|
||||
turn on bathroom fan
|
||||
turn kitchen light on
|
||||
пусни вентилатора в банята
|
||||
HA Key:
|
||||
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
|
||||
|
||||
# PROMPTs
|
||||
|
||||
[INST] <<SYS>>I want you to act as smart home manager of Home Assistant.\nI will provide information of smart home along with a question, you will truthfully make correction or answer using information provided in one sentence in everyday language.\n\nCurrent Time: 2024-03-09 01:28:58.574422+02:00\n\nAvailable Devices:\n```csv\nentity_id,name,state,aliases\nperson.popov,popov,unknown,\nperson.estelle,Estelle,unknown,\nupdate.home_assistant_operating_system_update,Home Assistant Operating System Update,off,\nsun.sun,Sun,below_horizon,\nsensor.sun_next_rising,Sun Next rising,2024-03-09T04:45:33+00:00,\nsensor.sun_next_setting,Sun Next setting,2024-03-09T16:29:12+00:00,\ntodo.shopping_list,Shopping List,0,\nbinary_sensor.rpi_power_status,RPi Power status,on,\ntodo.dev,Dev,0,\ntodo.jw,Jw,6,\nsensor.garden_temperature,Garden Temperature,4.59,\nsensor.garden_humidity,Garden Humidity,0.00,\nsensor.garden_pressure,Garden Pressure,948.43,\nsensor.garden_soil_moisture,Garden Soil Moisture,unknown,\ntts.google_en_com,Google en com,2024-03-08T08:16:30.141892+00:00,\ndevice_tracker.iphone,iPhone,unknown,\nweather.forecast_home,Forecast Home,partlycloudy,Pesho\nswitch.tasmota,Лампа Кухня,off,Kitchen Lamp\nswitch.tasmota_2,Печка банята,off,Bathtoom Heater\nswitch.tasmota_3,Вентилатор Банята,off,Bathroom Fan\nsensor.plug_plants_energy,Energy,unavailable,\nsensor.plug_plants_current,Current,unavailable,\nsensor.plug_plants_power,Power,unavailable,\nsensor.plug_plants_voltage,Voltage,unavailable,\nswitch.plug_plants,plug plants,unavailable,\n```\n\nThe current state of devices is provided in available devices.\nUse execute_services function only for requested action, not for current states.\nDo not execute service without user's confirmation.\nDo not restate or appreciate what user says, rather make a quick inquiry.
|
||||
use this function schema:
|
||||
- spec:
|
||||
name: execute_services
|
||||
description: Use this function to execute service of devices in Home Assistant.
|
||||
parameters:
|
||||
type: object
|
||||
properties:
|
||||
list:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
domain:
|
||||
type: string
|
||||
description: The domain of the service
|
||||
service:
|
||||
type: string
|
||||
description: The service to be called
|
||||
service_data:
|
||||
type: object
|
||||
description: The service data object to indicate what to control.
|
||||
properties:
|
||||
entity_id:
|
||||
type: string
|
||||
description: The entity_id retrieved from available devices. It
|
||||
must start with domain, followed by dot character.
|
||||
required:
|
||||
- entity_id
|
||||
required:
|
||||
- domain
|
||||
- service
|
||||
- service_data
|
||||
function:
|
||||
type: native
|
||||
name: execute_service
|
||||
<</SYS>>\n\nturn on bathroom fan [/INST]\n
|
||||
|
||||
|
||||
|
||||
{'id': 'chatcmpl-641', 'choices': [{'finish_reason': 'stop', 'index': 0, 'message': {'content': '{\n "function_call": {\n "name": "execute_services",\n "arguments": "{\\"device_id\\": \\"tasmota_3\\"]"\n }\n}', 'role': 'assistant'}}]
|
Reference in New Issue
Block a user