基本使用
本教程介绍 OpenHuman 的基础功能使用。
创建 Agent
简单 Agent
import { OpenHuman } from 'openhuman-sdk';
const client = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});
// 创建一个简单的问答 Agent
const agent = await client.agents.create({
name: '问答助手',
description: '回答用户问题',
instructions: '你是一个友好的助手,简洁回答用户问题。',
});
console.log('Agent 创建成功:', agent.id);
带工具的 Agent
const agent = await client.agents.create({
name: '研究助手',
description: '帮助用户进行研究',
instructions: '你是一个研究助手,帮助用户搜索和分析信息。',
tools: ['web-search', 'calculator'],
});
运行 Agent
同步调用
const response = await client.agents.run(agent.id, {
message: '你好,请介绍一下你自己',
});
console.log('响应:', response.message);
流式调用
const stream = await client.agents.runStream(agent.id, {
message: '讲一个关于程序员的故事',
});
for await (const chunk of stream) {
process.stdout.write(chunk.delta);
}
带上下文的调用
const response = await client.agents.run(agent.id, {
message: '继续',
context: {
sessionId: 'session_123',
history: [
{ role: 'user', content: '你好' },
{ role: 'assistant', content: '你好!有什么可以帮助你的吗?' },
],
},
});
管理会话
创建会话
const session = await client.sessions.create({
agentId: agent.id,
metadata: {
userId: 'user_123',
source: 'web',
},
});
console.log('Session ID:', session.id);
发送消息
await client.sessions.sendMessage(session.id, {
content: '我想了解 OpenHuman 的价格',
});
获取历史
const messages = await client.sessions.getMessages(session.id, {
limit: 50,
before: null,
});
messages.forEach(msg => {
console.log(`${msg.role}: ${msg.content}`);
});
管理知识库
添加文档
await client.knowledge.addDocuments({
agentId: agent.id,
documents: [
{
title: '产品介绍',
content: 'OpenHuman 是一个 AI Agent 平台...',
metadata: { category: 'product' },
},
],
});
搜索知识库
const results = await client.knowledge.search({
agentId: agent.id,
query: 'OpenHuman 的特点',
limit: 5,
});
results.forEach(doc => {
console.log(doc.title, doc.score);
});