@chatbot-agent-sdk/agent-sd
v0.1.4
Published
Web Component SDK Para Chatbot V2 (frontend widget)
Maintainers
Readme
@chatbot-v2/agent-sdk
Web Component SDK para integrar el widget de chat en apps web.
Instalación
- pnpm:
pnpm add @chatbot-v2/agent-sdk - npm:
npm i @chatbot-v2/agent-sdk - yarn:
yarn add @chatbot-v2/agent-sdk
Uso rápido
ESM (bundlers modernos)
import { init } from '@chatbot-v2/agent-sdk'
// Inserta el componente en <body> y lo conecta al backend
init({ backendUrl: 'http://localhost:3001' })Script tag (IIFE por CDN)
<script src="https://unpkg.com/@chatbot-v2/agent-sdk@latest/dist/agent-sdk.iife.js"></script>
<script>
window.PampeanaAgent.init({ backendUrl: 'http://localhost:3001' })
</script>Usar el custom element directamente
El custom element se registra al llamar init(...). Si prefieres declararlo en HTML, define el elemento antes:
<div id="app"></div>
<script type="module">
import { PampeanaAgentElement } from '@chatbot-v2/agent-sdk'
if (!customElements.get('pampeana-agent')) {
customElements.define('pampeana-agent', PampeanaAgentElement)
}
const el = document.createElement('pampeana-agent')
el.setAttribute('backend-url', 'http://localhost:3001')
document.getElementById('app').appendChild(el)
</script>API esperada del backend
El widget realiza POST { message: string } a BACKEND_URL/ chat y espera { reply: string, citations?: any[] }.
- Ejemplo de request:
{ "message": "¿Qué promociones hay?" }- Ejemplo de response:
{ "reply": "Detalle de promociones...", "citations": [{ "source": "promociones.md", "score": 0.62 }] }Ingesta de contexto (RAG)
- Levanta servicios:
docker compose up -d qdrant agent-api - Ejecuta la ingesta dentro del contenedor:
docker compose exec agent-api pnpm ingest- o
docker exec -it agent-api pnpm ingest
- Alternativa local:
pnpm --filter @chatbot-v2/agent-api ingest
Fuente por defecto: packages/agent-api/context/ (p.ej., promociones.md).
Notas
- CORS: configura
CORS_ORIGINSen la API para orígenes permitidos en producción. - Modelos por defecto:
LLM_MODEL=gpt-4o-mini,EMBEDDINGS_MODEL=text-embedding-3-small(vector 1536). - Para producción, ejecuta la API con
pnpm starten el contenedor.
