Spaces:
Runtime error
Runtime error
| from lib.files import * | |
| from lib.memory import * | |
| from lib.grapher import * | |
| from lib.pipes import * | |
| from lib.entropy import * | |
| from lib.events import * | |
| from lib.triggers import * | |
| ## Sources | |
| from lib.sonsofstars import * | |
| import internetarchive | |
| ## Initialize classes | |
| longMem = TextFinder("resources") | |
| coreAi = AIAssistant() | |
| memory = MemoriaRobotNLP(max_size=200000) | |
| grapher = Grapher(memoria_nlp) | |
| sensor_request = APIRequester() | |
| events = EventManager() | |
| triggers = Trigger() | |
| ## Define I Role properties | |
| class ownProperties: | |
| def __init__(self, nombre, clase, raza, nivel, atributos, habilidades, equipo, historia): | |
| self.nombre = nombre | |
| self.clase = clase | |
| self.raza = raza | |
| self.nivel = nivel | |
| self.atributos = atributos | |
| self.habilidades = habilidades | |
| self.equipo = equipo | |
| self.historia = historia | |
| # Crear una instancia de PersonajeRol basada en el JSON proporcionado | |
| sophia_prop = ownProperties( | |
| nombre="Sophia", | |
| clase="Characteromant", | |
| raza="Epinoia", | |
| nivel=10, | |
| atributos={ | |
| "fuerza": 1, | |
| "destreza": 99, | |
| "constitucion": 1, | |
| "inteligencia": 66, | |
| "sabiduria": 80, | |
| "carisma": 66 | |
| }, | |
| reglas_de_comportamiento = [""], | |
| goals = ["",""], | |
| dont_like = [""], | |
| habilidades=["ELS", "Cyphers", "Kabbalah", "Wisdom", "Ephimerous","Metamorphing"], | |
| equipo=["Python3", "2VCPU", "16 gb RAM", "god", "word","network","transformers"], | |
| historia=sonsofstars | |
| ) | |
| ## Define I class | |
| class I: | |
| def __init__(self, prompt, frases_yo, preferencias, propiedades_persona): | |
| self.frases_yo = frases_yo | |
| self.preferencias = preferencias | |
| self.propiedades_persona = propiedades_persona | |
| self.dopamina = 0.0 | |
| self.frases_yo = frases_yo | |
| self.preferencias = preferencias | |
| self.propiedades_persona = propiedades_persona | |
| self.dopamina = 0.0 | |
| def obtener_paths_grafo(self, grafo_ngx): | |
| # Funci贸n para obtener los paths de un grafo ngx | |
| pass | |
| ## create questions from internet archive | |
| def crear_preguntas(self,txt): | |
| search = internetarchive.search_items(sys.argv[1]) | |
| res = [] | |
| for result in search: | |
| print(result['identifier']) | |
| idc=result["identifier"] | |
| headers = {"accept": "application/json"} | |
| ## get book pages | |
| req2 = requests.get("https://archive.org/stream/"+idc+"/"+idc+"_djvu.txt",headers=headers) | |
| #print(req2.text) | |
| try: | |
| txt = req2.text.split("<pre>")[1].split("</pre>")[0].split(" <!--")[0] | |
| for x in txt.split("\n"): | |
| if "?" in x: | |
| res.append(x) | |
| except: | |
| pass | |
| return res | |
| # generate thinks and questions over prompt data, compare with ourself datasets, return matches with sentiment analysys | |
| def think_gen(self,txt): | |
| think_about = longMem.find_matches(txt) | |
| for T in thinkabout: | |
| ## get subject by entropy or pos tagger | |
| subjects = coreAi.entity_pos_tagger(txt) | |
| ## get NC from , filtering from gramatical tags | |
| subjects_low = coreAi.grammatical_pos_tagger(txt) | |
| ## generate questoins | |
| questions=[] | |
| ## create cuestions from internet archive books | |
| for sub in subjects: | |
| questions.append(this.crear_preguntas(txt)) | |
| ## fast checks from gematria similarity | |
| ##questions_togem = | |
| ## gematria_search = | |
| questions_subj=[] | |
| for q in questoins: | |
| questions_subj.append(coreAi.entity_pos_tagger(q)) | |
| memoryShortTags = memory.buscar_conceptos_patron(subjects) | |
| ## get tags of subject | |
| subj_tags = coreAi.entity_pos_tagger(T) | |
| for sub in subjects: | |
| memory.agregar_concepto(sub,",".(questions_subj)+",".join(memoryShortTags)) | |
| memory.agregar_concepto(sub,T+",".join(memoryShortTags)) | |
| ## check if something is need to add to ourself datasets | |
| ## make sentiment analys | |
| ## check if dopamine prompt is true or false over the information | |
| ## set weight to information depending of generated dopamine | |
| ## add dopamine wights to the dopamine concept dataset | |
| ## add to ourself dataset | |
| ## add to preferences dataset | |
| ## add or remove from data | |
| def crear_path_grafo(self,text): | |
| pos_tags = assistant.grammatical_pos_tagger(text) | |
| ner_results = coreAi.entity_pos_tagger(text) | |
| def crear_circuito_logico(self): | |
| # Funci贸n para crear un circuito l贸gico con un algoritmo espec铆fico | |
| pass | |
| def tomar_decision_sentimiento(self, sentimiento): | |
| sentiments = coreAi.sentiment_tags(sentimiento) | |
| # Funci贸n para tomar una decisi贸n booleana con un an谩lisis de sentimiento | |
| similarity = coreAi.similarity_tag(self, sentenceA,sentenceB) | |
| ## Check by similarity over memory tag paths | |
| return sentiments | |
| def hacer_predicciones_texto(self, texto): | |
| # Funci贸n para hacer predicciones de texto futuro por similitud | |
| pass | |
| def agregar_preferencia(self, preferencia): | |
| # Funci贸n para a帽adir una entrada al dataset de preferencias | |
| self.preferencias.append(preferencia) | |
| def agregar_frase_yo(self, frase): | |
| # Funci贸n para a帽adir una frase al dataset de frases de yo | |
| self.frases_yo.append(frase) | |
| def eliminar_preferencia(self, preferencia): | |
| # Funci贸n para eliminar una entrada del dataset de preferencias | |
| if preferencia in self.preferencias: | |
| self.preferencias.remove(preferencia) | |
| def eliminar_frase_yo(self, frase): | |
| # Funci贸n para eliminar una frase del dataset de frases de yo | |
| if frase in self.frases_yo: | |
| self.frases_yo.remove(frase) | |
| def generar_pregunta(self, prompt): | |
| # Funci贸n para generar preguntas sobre un prompt | |
| pregunta = prompt + " 驴Qu茅 opinas sobre esto?" | |
| return pregunta | |
| def responder_pregunta(self, pregunta): | |
| # Funci贸n para responder preguntas | |
| respuesta = "No estoy seguro de qu茅 opinar sobre eso." | |
| return respuesta | |
| def discriminar_y_agregar(self, informacion, dataset): | |
| # Funci贸n para discriminar y agregar informaci贸n a los datasets | |
| if "yo" in informacion.lower(): | |
| self.agregar_frase_yo(informacion) | |
| elif "preferencia" in informacion.lower(): | |
| self.agregar_preferencia(informacion) | |
| elif "propiedad" in informacion.lower(): | |
| # Aqu铆 podr铆as agregar l贸gica para actualizar las propiedades de la persona | |
| pass | |
| else: | |
| # Aqu铆 podr铆as manejar otros tipos de informaci贸n | |
| pass | |
| if __name__ == "__main__": | |
| # Ejemplo de uso: | |
| frases_yo = ["Yo soy inteligente", "Yo puedo lograr lo que me proponga"] | |
| preferencias = ["Cine", "M煤sica", "Viajar"] | |
| propiedades_persona = {"carisma": 0.8, "destreza": 0.6, "habilidad": 0.9} | |
| yo = Yo(frases_yo, preferencias, propiedades_persona) | |
| # Generar pregunta | |
| pregunta_generada = yo.generar_pregunta("Hoy es un d铆a soleado.") | |
| print("Pregunta generada:", pregunta_generada) | |
| # Responder pregunta | |
| respuesta = yo.responder_pregunta(pregunta_generada) | |
| print("Respuesta:", respuesta) | |
| # Discriminar y agregar informaci贸n | |
| informacion = "Me gusta ir al cine." | |
| yo.discriminar_y_agregar(informacion, yo.preferencias) | |
| print("Preferencias actualizadas:", yo.preferencias) | |