sonika-langchain-bot 0.0.5__py3-none-any.whl → 0.0.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.1
2
+ Name: sonika-langchain-bot
3
+ Version: 0.0.6
4
+ Summary: Agente langchain con LLM
5
+ Author: Erley Blanco Carvajal
6
+ License: MIT License
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: langchain <1.0.0,>=0.3.0
14
+ Requires-Dist: langchain-community <1.0.0,>=0.3.0
15
+ Requires-Dist: langchain-core <1.0.0,>=0.3.5
16
+ Requires-Dist: langchain-openai <1.0.0,>=0.2.0
17
+ Requires-Dist: langgraph <1.0.0,>=0.2.39
18
+ Requires-Dist: langgraph-checkpoint <3.0.0,>=2.0.2
19
+ Requires-Dist: langgraph-sdk <2.0.0,>=0.1.34
20
+ Requires-Dist: dataclasses-json <1.0.0,>=0.6.7
21
+ Requires-Dist: python-dateutil <3.0.0,>=2.9.0
22
+ Requires-Dist: tiktoken <1.0.0,>=0.7.0
23
+ Requires-Dist: pydantic <3.0.0,>=2.9.2
24
+ Requires-Dist: faiss-cpu <2.0.0,>=1.8.0
25
+ Requires-Dist: pypdf <6.0.0,>=5.0.0
26
+ Requires-Dist: python-dotenv <2.0.0,>=1.0.1
27
+ Requires-Dist: typing-extensions <5.0.0,>=4.12.0
28
+ Requires-Dist: typing-inspect <1.0.0,>=0.9.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: sphinx <9.0.0,>=8.1.3 ; extra == 'dev'
31
+ Requires-Dist: sphinx-rtd-theme <4.0.0,>=3.0.1 ; extra == 'dev'
32
+
33
+ # Sonika LangChain Bot
34
+
35
+ Una librería Python que implementa un bot conversacional utilizando LangChain con capacidades BDI (Belief-Desire-Intention) y clasificación de texto.
36
+
37
+ ## Instalación
38
+
39
+ ```bash
40
+ pip install sonika-langchain-bot
41
+ ```
42
+
43
+ ## Requisitos previos
44
+
45
+ Necesitarás las siguientes API keys:
46
+
47
+ - OpenAI API Key
48
+
49
+ Crea un archivo `.env` en la raíz de tu proyecto con las siguientes variables:
50
+
51
+ ```env
52
+ OPENAI_API_KEY=tu_api_key_aqui
53
+ ```
54
+
55
+ ## Características principales
56
+
57
+ - Bot conversacional con arquitectura BDI
58
+ - Clasificación de texto
59
+ - Ejecución de código personalizado por medio de tools
60
+
61
+ ## Uso básico
62
+
63
+ ### Ejemplo de Bot BDI
64
+
65
+ ```python
66
+ from sonika_langchain_bot.langchain_bdi import Belief, BeliefType
67
+ from sonika_langchain_bot.langchain_bot_agent_bdi import LangChainBot
68
+ from sonika_langchain_bot.langchain_models import OpenAILanguageModel
69
+ from langchain_openai import OpenAIEmbeddings
70
+
71
+ # Inicializar el modelo de lenguaje
72
+ language_model = OpenAILanguageModel(api_key, model_name='gpt-4-mini-2024-07-18', temperature=1)
73
+ embeddings = OpenAIEmbeddings(api_key=api_key)
74
+
75
+ # Configurar herramientas propias o de terceros
76
+ search = TavilySearchResults(max_results=2, api_key=api_key_tavily)
77
+ tools = [search]
78
+
79
+ # Configurar creencias
80
+ beliefs = [
81
+ Belief(
82
+ content="Eres un asistente de chat",
83
+ type=BeliefType.PERSONALITY,
84
+ confidence=1,
85
+ source='personality'
86
+ )
87
+ ]
88
+
89
+ # Crear instancia del bot
90
+ bot = LangChainBot(language_model, embeddings, beliefs=beliefs, tools=tools)
91
+
92
+ # Obtener respuesta
93
+ response = bot.get_response("Hola como te llamas?")
94
+ ```
95
+
96
+ ### Ejemplo de Clasificación de Texto
97
+
98
+ ```python
99
+ from sonika_langchain_bot.langchain_clasificator import OpenAIModel, TextClassifier
100
+ from pydantic import BaseModel, Field
101
+
102
+ # Definir estructura de clasificación
103
+ class Classification(BaseModel):
104
+ intention: str = Field()
105
+ sentiment: str = Field(..., enum=["feliz", "neutral", "triste", "excitado"])
106
+ aggressiveness: int = Field(
107
+ ...,
108
+ description="describes how aggressive the statement is",
109
+ enum=[1, 2, 3, 4, 5],
110
+ )
111
+ language: str = Field(
112
+ ..., enum=["español", "ingles", "frances", "aleman", "italiano"]
113
+ )
114
+
115
+ # Inicializar clasificador
116
+ model = OpenAIModel(api_key=api_key, validation_class=Classification)
117
+ classifier = TextClassifier(api_key=api_key, llm=model, validation_class=Classification)
118
+
119
+ # Clasificar texto
120
+ result = classifier.classify("Tu texto aquí")
121
+ ```
122
+
123
+ ## Contribución
124
+
125
+ Las contribuciones son bienvenidas. Por favor, abre un issue para discutir los cambios importantes que te gustaría hacer.
@@ -6,8 +6,8 @@ sonika_langchain_bot/langchain_class.py,sha256=tPc_aKbhYYv1DUwIEuaDDFpIwKOdfmMuJ
6
6
  sonika_langchain_bot/langchain_files.py,sha256=SEyqnJgBc_nbCIG31eypunBbO33T5AHFOhQZcghTks4,381
7
7
  sonika_langchain_bot/langchain_models.py,sha256=8gC7rDxGI0JcNn-MADyLQ5rK8mgOS1iVjLsV8kCQi9k,1578
8
8
  sonika_langchain_bot/langchain_tools.py,sha256=y7wLf1DbUua3QIvz938Ek-JIMOuQhrOIptJadW8OIsU,466
9
- sonika_langchain_bot-0.0.5.dist-info/LICENSE,sha256=O8VZ4aU_rUMAArvYTm2bshcZ991huv_tpfB5BKHH9Q8,1064
10
- sonika_langchain_bot-0.0.5.dist-info/METADATA,sha256=eVnVxq9Oo89qa_g8k2DgBTsBftt-ruac2BHhSKodgDw,1447
11
- sonika_langchain_bot-0.0.5.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
12
- sonika_langchain_bot-0.0.5.dist-info/top_level.txt,sha256=UsTTSZFEw2wrPSVh4ufu01e2m_E7O_QVYT_k4zCQaAE,21
13
- sonika_langchain_bot-0.0.5.dist-info/RECORD,,
9
+ sonika_langchain_bot-0.0.6.dist-info/LICENSE,sha256=O8VZ4aU_rUMAArvYTm2bshcZ991huv_tpfB5BKHH9Q8,1064
10
+ sonika_langchain_bot-0.0.6.dist-info/METADATA,sha256=JlLf1ptcIP13wzAyXXh50LK1uF-LCxej9UqpLYuyRIQ,3823
11
+ sonika_langchain_bot-0.0.6.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
12
+ sonika_langchain_bot-0.0.6.dist-info/top_level.txt,sha256=UsTTSZFEw2wrPSVh4ufu01e2m_E7O_QVYT_k4zCQaAE,21
13
+ sonika_langchain_bot-0.0.6.dist-info/RECORD,,
@@ -1,45 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: sonika-langchain-bot
3
- Version: 0.0.5
4
- Summary: Agente langchain con LLM
5
- Author: Erley Blanco Carvajal
6
- License: MIT License
7
- Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.6
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: langchain <1.0.0,>=0.3.0
14
- Requires-Dist: langchain-community <1.0.0,>=0.3.0
15
- Requires-Dist: langchain-core <1.0.0,>=0.3.5
16
- Requires-Dist: langchain-openai <1.0.0,>=0.2.0
17
- Requires-Dist: langgraph <1.0.0,>=0.2.39
18
- Requires-Dist: langgraph-checkpoint <3.0.0,>=2.0.2
19
- Requires-Dist: langgraph-sdk <2.0.0,>=0.1.34
20
- Requires-Dist: dataclasses-json <1.0.0,>=0.6.7
21
- Requires-Dist: python-dateutil <3.0.0,>=2.9.0
22
- Requires-Dist: tiktoken <1.0.0,>=0.7.0
23
- Requires-Dist: pydantic <3.0.0,>=2.9.2
24
- Requires-Dist: faiss-cpu <2.0.0,>=1.8.0
25
- Requires-Dist: pypdf <6.0.0,>=5.0.0
26
- Requires-Dist: python-dotenv <2.0.0,>=1.0.1
27
- Requires-Dist: typing-extensions <5.0.0,>=4.12.0
28
- Requires-Dist: typing-inspect <1.0.0,>=0.9.0
29
- Provides-Extra: dev
30
- Requires-Dist: sphinx <9.0.0,>=8.1.3 ; extra == 'dev'
31
- Requires-Dist: sphinx-rtd-theme <4.0.0,>=3.0.1 ; extra == 'dev'
32
-
33
- ## Instalacion
34
-
35
- 1. Creacion del ambiente virtual
36
-
37
- `python -m venv myvenv`
38
-
39
- 2. Ingresar al ambiente virtual
40
-
41
- `source myvenv/bin/activate`
42
-
43
- 3. Instalacion de dependencias necesarias
44
-
45
- `pip install -r requirements.txt`