Razonamiento y personalizable. Mod bartowski deepthought:8b llama v0.01-alpha Q4_NL Edit

9 4 days ago

Readme

Hay que pasarle dos prompts

ver mas en Construyebdo a Chispas No soy yo.

Este modelo de solo 8b basado en llama y entrenado para razonamiento , necesita dos entradas de datos prompts, permite personalizar los razonamiento y darle mas tiempo para pensar, nos da los datos en json muy util para app

PROMPT: con la pregunta

<|im_start|>system

You are a superintelligent AI system, capable of comprehensive reasoning. When provided with , you must provide your logical reasoning chain to solve the user query. Be verbose with your outputs.

<|im_end|><|im_start|>user

How many letters “r” does the word strawberrry have?

<|im_end|>

<|im_start|>reasoning [ { “step”: 1,

PROMPT 2: con los pasos

Y luego el segundo prompt con todos los pasos del razonamiento:

<|im_start|>reasoning [ { “step”: 1, “type”: “problem_understanding”, “thought”: “I need to count the number of times the letter ‘r’ appears in the word ‘straberrry’.” }, { “step”: 2, “type”: “data_gathering”, “thought”: “The word to analyze is ‘straberrry’. I’ll need to examine each character in this word.” }, { “step”: 3, “type”: “hypothesis_formation”, “thought”: “Based on a quick glance, I hypothesize that there are 3 ‘r’s in the word ‘straberrry’.” }, { “step”: 4, “type”: “analysis”, “thought”: “I’ll go through the word character by character: s (not r), t (not r), r (count: 1), a (not r), b (not r), e (not r), r (count: 2), r (count: 3), r (count: 4), y (not r).” }, { “step”: 5, “type”: “calculation”, “thought”: “After analyzing each character, I’ve counted 4 occurrences of the letter ‘r’.” }, { “step”: 6, “type”: “verification”, “thought”: “To verify, I’ll recount: s-t-r-a-b-e-r-r-r-y. This confirms 4 ‘r’s.” }, { “step”: 7, “type”: “error_checking”, “thought”: “I’ll double-check for any missed ‘r’s or counting errors. No errors found.” }, { “step”: 8, “type”: “conclusion_drawing”, “thought”: “The letter ‘r’ appears 4 times in the word ‘straberrry’.” }, { “step”: 9, “type”: “reflection”, “thought”: “My initial hypothesis was close but not exact. This reminds me to be careful about quick estimates and to always verify.” }, { “step”: 10, “type”: “implementation”, “thought”: “The final response should be the number 4, as this is the correct count of ‘r’s in ‘straberrry’.” } ]|im_end|> <|im_start|>assistant

PYTHON

mport requests import json

llamaURL = “http://127.0.0.1:8080”

def instruct(prompt, n_predict, temperature): #print(“Asking llama.cpp”) #print(prompt)

response = requests.post(llamaURL+"/completion", json={
    'prompt': prompt,
    'n_predict': n_predict,
    'temperature': temperature,
    'cache_prompt': True
})

if response.status_code == 200:
    #print("Response llama.cpp")
    #print(response.json().get('content'))
    return response.json().get('content')
else:
    raise Exception(f"Request failed with status code {response.status_code}")

def generateStep(prompt, n_predict, temperature): #print(“Asking llama.cpp”) #print(prompt)

response = requests.post(llamaURL+"/completion", json={
    'prompt': prompt,
    'n_predict': n_predict,
    'temperature': temperature,
    'cache_prompt': True,
    'stop': ['}']
})

if response.status_code == 200:
    #print("Response llama.cpp")
    #print(response.json().get('content'))
    return response.json().get('content')
else:
    raise Exception(f"Request failed with status code {response.status_code}")

def promptStep(query, steps): return “‘<|im_start|>system You are a superintelligent AI system, capable of comprehensive reasoning. When provided with , you must provide your logical reasoning chain to solve the user query. Be verbose with your outputs.<|im_end|> <|im_start|>user “’+query+”‘<|im_end|> <|im_start|>reasoning “’+steps

def promptResolve(steps): return “‘<|im_start|>reasoning “’+steps+”’ <|im_end|> <|im_start|>assistant”’

def openStep(i): return “’ { “step”: “‘+str(i)+”’, “’

def closeStep(): return “},”

try: query = “‘How many letters “r” does the word strawberry have?“’

stepByStep = '''[

”’ for i in range(1,11): stepByStep += openStep(i) stepByStep += generateStep(promptStep(query, stepByStep), 8000, 0.5) stepByStep += closeStep()

stepByStep += ''']'''   
result = instruct(promptResolve(stepByStep), 8000, 0.5)
print(promptResolve(stepByStep))
print(result)

except Exception as e: print(e)

Ideas

Algunas ideas que se pueden hacer con esto:

Controlar el número de pasos Controlar el tiempo de ejecución Eliminar pasos Añadir pasos Crear un árbol de razonamiento


Eres un sistema de IA superinteligente, capaz de razonar de forma exhaustiva. Cuando se le proporciona , debe proporcionar su cadena de razonamiento lógico para resolver la consulta del usuario. Sea prolijo con sus resultados.


<|im_start|>razonamiento [ { «step»: 1, «tipo»: «problema_comprensión», “pensamiento”: «Necesito contar el número de veces que aparece la letra ‘r’ en la palabra ‘straberrry’». }, { «step»: 2, «type»: «data_gathering», “thought”: «La palabra a analizar es ‘straberrry’. Tendré que examinar cada carácter de esta palabra». }, { «step»: 3, «type»: «formación_de_hipótesis», “pensamiento”: «Basándome en un vistazo rápido, mi hipótesis es que hay 3 ‘r’ en la palabra ‘straberrry’». }, { «step»: 4, «type»: «análisis», “pensamiento”: «Repasaré la palabra carácter por carácter: s (no r), t (no r), r (cuenta: 1), a (no r), b (no r), e (no r), r (cuenta: 2), r (cuenta: 3), r (cuenta: 4), y (no r).» }, {«step»: 5, «type»: «cálculo», “pensamiento”: «Después de analizar cada carácter, he contado 4 apariciones de la letra ‘r’». }, { «step»: 6, «type»: «verificación», “pensamiento”: «Para verificar, contaré: s-t-r-a-b-e-r-r-r-y. Esto confirma 4 ‘r’s». }, { «step»: 7, «type»: «error_checking», “thought”: «Voy a comprobar si hay alguna ‘r’ omitida o errores de conteo. No se encontraron errores». }, { «step»: 8, «type»: «conclusion_drawing», “thought”: «La letra ‘r’ aparece 4 veces en la palabra ‘straberrry’». }, { «step»: 9, «type»: «reflexión», “pensamiento”: «Mi hipótesis inicial era cercana pero no exacta. Esto me recuerda que debo tener cuidado con las estimaciones rápidas y verificar siempre.» }, { «step»: 10, «type»: «implementación», “pensamiento”: «La respuesta final debería ser el número 4, ya que este es el recuento correcto de ‘r’ en ‘straberrry’».