diff --git a/main.py b/main.py
index 2f745c9..1ccf7db 100644
--- a/main.py
+++ b/main.py
@@ -27,9 +27,11 @@ import re
from langid.langid import LanguageIdentifier
from langid.langid import model as modellangid
import time
-model="Modelo_embedding_Mexico_Puebla/all-mpnet-base-v2/model"
+from anthropic import Anthropic, HUMAN_PROMPT, AI_PROMPT
+import json
+model="Modelo_embedding_Mexico_Puebla/paraphrase-multilingual-mpnet-base-v2/model"
entrenamiento="V1.3"
-
+keyanthropic=""
class CustomEmbedding(Embeddings, BaseModel,):
@@ -199,7 +201,83 @@ def calculate_api(response: Response):
id.append(i[0])
return {"ids": id,"DC":dis,"modelo":versionL}
-
+@app.post("/angela-api-claude/")
+def calculate_api_claude(response: Response):
+ anthropic = Anthropic(api_key=keyanthropic)
+ query = response.query
+ try:
+ filtred = response.filtred
+ except:
+ filtred = -9.0
+
+ AllData=FinderDbs(query,[db2,db],filtred)
+ versionL="_".join([model,entrenamiento])
+ if AllData:
+ AllData = list(AllData)
+ dis=[]
+ id=[]
+ for k,i in enumerate(AllData[0].items()):
+ dis.append(str(i[1]['d']))
+ id.append(i[0])
+ if len(id)<1:
+ return {"text": {"completion": "No tengo información sobre este tema",
+ "model": "claude-2.1",
+ "stop_reason": "stop_sequence",
+ "type": "completion",
+ "id": "1",
+ "stop": "\n\nHuman:",
+ "log_id": "1"
+ },"text2": {
+ "completion":"No tengo información sobre este tema",
+ "model": "claude-2.1",
+ "stop_reason": "stop_sequence",
+ "type": "completion",
+ "id": "1",
+ "stop": "\n\nHuman:",
+ "log_id": "1"
+ }
+ }
+ pathsqlite="/opt/web2py/applications/MotorAngela/databases/storage.sqlite"
+ con = sqlite3.connect(pathsqlite)
+ copies_df = pd.read_sql_query("SELECT * from copies WHERE intentionality IS NOT NULL", con)
+ copie = copies_df[copies_df["id"]==id[0]]["copy_message"].values[0]
+ promptF=f"""{HUMAN_PROMPT} Tengo un contexto por favor generame un resumen, el resumen deben ser con lenguaje amable para un publico mexicano y como si fuera una conversacion con la persona.
+ """
+ promptF3=promptF+f"""
+%s
+{AI_PROMPT}"""%(copie)
+ completion = anthropic.completions.create(
+ model="claude-2",
+ max_tokens_to_sample=600,
+ prompt=promptF3,
+ )
+
+ pregunta=query
+ promptFv2=f"""Tu eres un asistente de IA en chatbot llamado Angela, como asistente tu labor es ayudar a los usuarios de la pagina web de la alcaldia de puebla respondiendo sus preguntas.
+Aqui te dare las reglas que debes seguir durante la conversacion:
+
+- Siempre te mantendras en el personaje Angela.
+- Si no estas seguro de la respuesta basada en el contexto responde el suigiente texto: "Lo siento, podrias formular la pregunta de nuevo es que no entendi tu pregunta por que soy un sistema que esta en mejora en este momento".
+- No menciones el contexto si la pregunta no puede ser contestada con el.
+- Siempres responderas de manera amable pero formal.
+
+
+%s
+
+{HUMAN_PROMPT} Tengo la siguiente pregunta entre la etiqueta y basandote en el contexto que esta en la etiqueta responde la pregunta entre la etiqueta :
+
+%s
+
+"""%(copie,pregunta)
+
+ promptF3v2=promptFv2+f"""
+{AI_PROMPT}"""
+ completionv2 = anthropic.completions.create(
+ model="claude-2.1",
+ max_tokens_to_sample=600,
+ prompt=promptF3v2,
+ )
+ return {"text":completion,"text2":completionv2}