.d8888b. 888888b. 888 d8P
d88P Y88b 888 "88b 888 d8P
888 888 888 .88P 888 d8P
888 8888888K. 888d88K
888 888 "Y88b 8888888b
888 888 888 888 888 Y88b
Y88b d88P 888 d88P 888 Y88b
"Y8888P" 8888888P" 888 Y88b .ai
ยินดีต้อนรับสู่ ChatBotKit Node SDK SDK นี้นำเสนอแพลตฟอร์มที่ใช้ JavaScript สำหรับการสร้างบอทและตัวแทน AI แบบสนทนาได้อย่างง่ายดาย ด้วย ChatBotKit คุณสามารถพัฒนาและปรับใช้บอท AI ที่สามารถโต้ตอบด้วยภาษาธรรมชาติได้อย่างรวดเร็ว
นี่คือที่เก็บเมตาสำหรับ ChatBotKit Node SDK ประกอบด้วยแพ็คเกจ SDK สำหรับแพลตฟอร์มและเฟรมเวิร์กยอดนิยมจำนวนหนึ่ง เช่น React , Next.js , NextAuth และอีกมากมาย
ChatBotKit Node SDK ประกอบด้วยแพ็คเกจต่อไปนี้:
บรรจุุภัณฑ์ | เวอร์ชัน | คำอธิบาย |
---|---|---|
@chatbotkit/cli | ChatBotKit CLI | |
@chatbotkit/sdk | ChatBotKit API SDK | |
@chatbotkit/react | ChatBotKit React SDK | |
@chatbotkit/ต่อไป | ChatBotKit Next.js SDK | |
@chatbotkit/nextauth | ChatBotKit NextAuth.js SDK | |
@chatbotkit/ดึงข้อมูล | การใช้งานการดึงข้อมูลภาพสามมิติของ ChatBotKit |
พื้นที่เก็บข้อมูลนี้ยังมีเครื่องมือต่อไปนี้:
บรรจุุภัณฑ์ | เวอร์ชัน | คำอธิบาย |
---|---|---|
create-cbk-app | เครื่องมือด่วนในการสร้างแอปพลิเคชัน CBK ใหม่ |
ทำตามขั้นตอนเหล่านี้เพื่อเริ่มต้นด้วย ChatBotKit:
npm install @chatbotkit/sdk
ตัวอย่างนี้แสดงให้เห็นถึงความสามารถในการสตรีมในสภาพแวดล้อม Edge และ Serverless:
import { ConversationClient } from '@chatbotkit/sdk/conversation/index.js'
const client = new ConversationClient ( /* configuration */ )
for await ( const { type , data } of client
. complete ( null , { model : 'gpt-4' , messages } )
. stream ( ) ) {
if ( type === 'token' ) {
process . stdout . write ( data . token )
}
}
ตัวอย่างนี้แสดงวิธีสร้าง AI การสนทนาขั้นสูงด้วยการสตรีม การเรียกใช้ฟังก์ชัน การเรนเดอร์ฝั่งเซิร์ฟเวอร์ และอื่นๆ อีกมากมายในโปรเจ็กต์ Next.js:
// file: ./app/page.jsx import ChatArea from '../components/ChatArea.jsx' export default function Page ( ) { return < ChatArea / > } // file: ./components/ChatArea.jsx 'use client' import { useContext } from 'react' import { complete } from '../actions/conversation.jsx' import { ChatInput , ConversationContext } from '@chatbotkit/react' import ConversationManager from '@chatbotkit/react/components/ConversationManager' export function ChatMessages ( ) { const { thinking , text , setText , messages , submit , } = useContext ( ConversationContext ) return ( < div > < div > { messages . map ( ( { id , type , text , children } ) => { switch ( type ) { case 'user' : return ( < div key = { id } > < div > < strong > user: < / strong > { text } < / div > < / div > ) case 'bot' : return ( < div key = { id } > < div > < strong > bot: < / strong > { text } < / div > { children ? < div > { children } < / div > : null } < / div > ) } } ) } { thinking ? ( < div key = "thinking" > < strong > bot: < / strong > thinking... < / div > ) : null } < / div > < ChatInput value = { text } onChange = { ( e ) => setText ( e . target . value ) } onSubmit = { submit } placeholder = "Type something..." style = { { border : 0 , outline : 'none' , resize : 'none' , width : '100%' , marginTop : '10px' , } } / > < / div > ) } export default function ChatArea ( ) { return ( < ConversationManager endpoint = { complete } > < ChatMessages / > < / ConversationManager > ) } // file: ./actions/conversation.jsx 'use server' import CalendarEvents from '../components/CalendarEvents.jsx' import { streamComplete } from '@chatbotkit/react/actions/complete' import { ChatBotKit } from '@chatbotkit/sdk' const cbk = new ChatBotKit ( { secret : process . env . CHATBOTKIT_API_SECRET , } ) export async function complete ( { messages } ) { return streamComplete ( { client : cbk . conversation , messages , functions : [ { name : 'getUserName' , description : 'Get the authenticated user name' , parameters : { } , handler : async ( ) => { return 'John Doe' } , } , { name : 'getCalendarEvents' , description : 'Get a list of calendar events' , parameters : { } , handler : async ( ) => { const events = [ { id : 1 , title : 'Meeting with Jane Doe' } , { id : 2 , title : 'Meeting with Jill Doe' } , ] return { children : < CalendarEvents events = { events } / > , result : { events , } , } } , } , { name : 'declineCalendarEvent' , description : 'Decline a calendar event' , parameters : { type : 'object' , properties : { id : { type : 'number' , description : 'The ID of the event to decline' , } , } , required : [ 'id' ] , } , handler : async ( { id } ) => { return `You have declined the event with ID ${ id } ` } , } , ] , } ) }
ตัวอย่างสั้นๆ นี้สาธิตวิธีใช้ SDK ในโครงการ Next.js:
// file: ./pages/index.js import { AutoTextarea , useConversationManager } from '@chatbotkit/react' export default function Index ( ) { const { thinking , text , setText , messages , submit , } = useConversationManager ( { endpoint : '/api/conversation/complete' , } ) function handleOnKeyDown ( event ) { if ( event . keyCode === 13 ) { event . preventDefault ( ) submit ( ) } } return ( < div style = { { fontFamily : 'monospace' , padding : '10px' } } > { messages . map ( ( { id , type , text } ) => ( < div key = { id } > < strong > { type } : < / strong > { text } < / div > ) ) } { thinking && ( < div key = "thinking" > < strong > bot: < / strong > thinking... < / div > ) } < AutoTextarea value = { text } onChange = { ( e ) => setText ( e . target . value ) } onKeyDown = { handleOnKeyDown } placeholder = "Type something..." style = { { border : 0 , outline : 'none' , resize : 'none' , width : '100%' , marginTop : '10px' , } } / > < / div > ) } // file: ./pages/api/conversation/complete.js import { ChatBotKit } from '@chatbotkit/sdk' import { stream } from '@chatbotkit/next/edge' const cbk = new ChatBotKit ( { secret : process . env . CHATBOTKIT_API_SECRET , } ) export default async function handler ( req ) { const { messages } = await req . json ( ) return stream ( cbk . conversation . complete ( null , { messages } ) ) } export const config = { runtime : 'edge' , }
สำรวจตัวอย่างต่างๆ ที่นี่
ตัวอย่างที่น่าสังเกตได้แก่:
แพลตฟอร์ม | ตัวอย่าง | คำอธิบาย |
---|---|---|
เน็กซ์.เจส | แชทไร้สัญชาติ (เราเตอร์แอป + RSC + ฟังก์ชั่น + คำขอฟังก์ชั่น) | ตัวอย่างแชทบอทไร้สัญชาติ ซึ่งการสนทนาได้รับการจัดการโดยไคลเอนต์และเซิร์ฟเวอร์ ตัวอย่างนี้ใช้ App Router และ Server Actions รวมถึงฟังก์ชัน AI พร้อมคำขอฟังก์ชัน นี่เป็นตัวอย่างที่ทรงพลังในการสาธิตความสามารถเต็มรูปแบบของแพลตฟอร์ม AI การสนทนา ChatBotKit |
เน็กซ์.เจส | แชทไร้สัญชาติ (เราเตอร์แอป + RSC + ฟังก์ชัน) | ตัวอย่างแชทบอทไร้สัญชาติ ซึ่งการสนทนาได้รับการจัดการโดยไคลเอนต์และเซิร์ฟเวอร์ ตัวอย่างนี้ใช้ App Router และ Server Actions รวมถึงฟังก์ชัน AI |
เน็กซ์.เจส | แชทไร้สัญชาติ (เราเตอร์แอป + RSC) | ตัวอย่างแชทบอทไร้สัญชาติ ซึ่งการสนทนาได้รับการจัดการโดยไคลเอนต์และเซิร์ฟเวอร์ ตัวอย่างนี้ใช้ App Router และ Server Actions |
เน็กซ์.เจส | แชทไร้สัญชาติ (เราเตอร์แอป) | ตัวอย่างแชทบอทไร้สัญชาติที่ลูกค้าจัดการการสนทนา ตัวอย่างนี้ใช้ App Router |
เน็กซ์.เจส | แชทไร้สัญชาติ | ตัวอย่างแชทบอทไร้สัญชาติที่ลูกค้าจัดการการสนทนา |
เน็กซ์.เจส | แชทพื้นฐาน | ตัวอย่างแชทบอทพื้นฐานที่ ChatBotKit จัดการการสนทนา |
เน็กซ์.เจส | ตัวอย่างการรับรองความถูกต้องถัดไป | แสดงวิธีรวม NextAuth และ ChatBotKit |
โหนด | GPT4 แชทบอท AI สตรีมมิ่ง | ตัวอย่างแชทบอท AI แบบสตรีมมิ่งอย่างง่าย |
คนงาน Cloudflare | แชทบอท GPT4 AI | ตัวอย่างแชทบอท AI แบบสตรีมสำหรับ Cloudflare Workers |
คุณลักษณะ SDK ทั้งหมดถือว่าไม่เสถียร เว้นแต่จะมีการทำเครื่องหมายไว้อย่างชัดเจนว่ามีเสถียรภาพ ความเสถียรถูกระบุโดยการมีแท็ก @stable
ในเอกสารประกอบ
พบข้อผิดพลาดหรือต้องการมีส่วนร่วม? เปิดปัญหาหรือส่งคำขอดึงบนพื้นที่เก็บข้อมูล GitHub อย่างเป็นทางการของเรา