@tonytruong/chatbot-ai-lib
Version:
AI-powered healthcare automation, document parsing, OpenAI, embeddings, RAG, vector DB, Facebook OAuth.
95 lines (66 loc) • 2.34 kB
Markdown
A library for AI-powered healthcare automation, document parsing, OpenAI integration, and more. Supports embedding, RAG, file parsing, vector database, Facebook OAuth, and utility helpers.
```bash
npm install @tonytruong/chatbot-ai-lib
yarn add @tonytruong/chatbot-ai-lib
```
```ts
import * as autoCare from '@tonytruong/chatbot-ai-lib';
// or import only what you need:
import { embedding, rag, file, vectordb, openai, facebook, generateRandomToken } from '@tonytruong/chatbot-ai-lib';
```
Bạn có thể cấu hình API key, model, chroma url... bằng cách:
```ts
import { setOpenAIConfig } from '@tonytruong/chatbot-ai-lib/config/openai';
setOpenAIConfig({ apiKey: process.env.OPENAI_API_KEY, model: 'gpt-3.5-turbo' });
```
Hoặc truyền trực tiếp vào từng hàm:
```ts
await embedding.embedChunks(["Xin chào!"], { apiKey: 'your-key', model: 'your-model' });
```
```ts
import { embedding } from '@tonytruong/chatbot-ai-lib';
const vectors = await embedding.embedChunks(["Xin chào!"]);
```
```ts
import { rag } from '@tonytruong/chatbot-ai-lib';
const answer = await rag.answerWithRAG('Câu hỏi?', 'user-id', ['history1', 'history2']);
```
```ts
import { file } from '@tonytruong/chatbot-ai-lib';
const chunks = await file.readAndChunk('/path/to/file.pdf', 'file.pdf');
```
```ts
import { vectordb } from '@tonytruong/chatbot-ai-lib';
const collection = await vectordb.getCollection();
```
```ts
import { openai } from '@tonytruong/chatbot-ai-lib';
const reply = await openai.getReplyWithContext('Xin chào!', 'user-id');
```
```ts
import { facebook } from '@tonytruong/chatbot-ai-lib';
const url = facebook.getFacebookAuthUrl({ clientId: '...', clientSecret: '...', redirectUri: '...' }, 'state');
```
```ts
import { generateRandomToken } from '@tonytruong/chatbot-ai-lib';
const token = generateRandomToken(32);
```
MIT
Tony Truong <tonytruongdev@gmail.com>
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.