mirror of
https://github.com/SpudGunMan/meshing-around.git
synced 2026-08-06 08:53:27 +02:00
llmLocationAware
enhance with local data to the AI
This commit is contained in:
+3
-1
@@ -107,6 +107,8 @@ def handle_wiki(message):
|
||||
|
||||
def handle_llm(message_from_id, channel_number, deviceID, message, publicChannel):
|
||||
global llmRunCounter, llmTotalRuntime
|
||||
location = get_node_location(message_from_id, deviceID)
|
||||
location_name = where_am_i(str(location[0]), str(location[1], short=True))
|
||||
if "ask:" in message.lower():
|
||||
user_input = message.split(":")[1]
|
||||
elif "askai" in message.lower():
|
||||
@@ -137,7 +139,7 @@ def handle_llm(message_from_id, channel_number, deviceID, message, publicChannel
|
||||
start = time.time()
|
||||
|
||||
#response = asyncio.run(llm_query(user_input, message_from_id))
|
||||
response = llm_query(user_input, message_from_id)
|
||||
response = llm_query(user_input, message_from_id, location_name)
|
||||
|
||||
# handle the runtime counter
|
||||
end = time.time()
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ ollama_model = OllamaLLM(model=llmModel)
|
||||
model_prompt = ChatPromptTemplate.from_template(meshBotAI)
|
||||
chain_prompt_model = model_prompt | ollama_model
|
||||
|
||||
def llm_query(input, nodeID=0):
|
||||
def llm_query(input, nodeID=0, location_name=None):
|
||||
global antiFloodLLM, llmChat_history
|
||||
googleResults = []
|
||||
|
||||
|
||||
+13
-6
@@ -11,7 +11,7 @@ from modules.log import *
|
||||
|
||||
trap_list_location = ("whereami", "tide", "moon", "wx", "wxc", "wxa", "wxalert")
|
||||
|
||||
def where_am_i(lat=0, lon=0):
|
||||
def where_am_i(lat=0, lon=0, short=False):
|
||||
whereIam = ""
|
||||
grid = mh.to_maiden(float(lat), float(lon))
|
||||
|
||||
@@ -32,11 +32,18 @@ def where_am_i(lat=0, lon=0):
|
||||
whereIam += " Grid: " + grid
|
||||
return whereIam
|
||||
else:
|
||||
location = geolocator.reverse(lat + ", " + lon)
|
||||
address = location.raw['address']
|
||||
address_components = ['house_number', 'road', 'city', 'state', 'postcode', 'county', 'country']
|
||||
whereIam += ' '.join([address.get(component, '') for component in address_components if component in address])
|
||||
whereIam += " Grid: " + grid
|
||||
if short:
|
||||
location = geolocator.reverse(lat + ", " + lon)
|
||||
address = location.raw['address']
|
||||
address_components = ['city', 'state', 'county', 'country']
|
||||
whereIam += ' '.join([address.get(component, '') for component in address_components if component in address])
|
||||
return whereIam
|
||||
else:
|
||||
location = geolocator.reverse(lat + ", " + lon)
|
||||
address = location.raw['address']
|
||||
address_components = ['house_number', 'road', 'city', 'state', 'postcode', 'county', 'country']
|
||||
whereIam += ' '.join([address.get(component, '') for component in address_components if component in address])
|
||||
whereIam += " Grid: " + grid
|
||||
return whereIam
|
||||
|
||||
def get_tide(lat=0, lon=0):
|
||||
|
||||
Reference in New Issue
Block a user