71 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 最简单的对话
和其他所有的 Agent 框架一样,你可以利用 openmcp-sdk 完成一个和大模型最简单的文本交互。这只需要几行代码就能轻松完成。
## 创建 agent
openmcp-sdk 通过如下语句可以快速创建一个 agent 实例:
```typescript
import { OmAgent } from 'openmcp-sdk/service/sdk';
const agent = new OmAgent();
```
它是我们后续一切工作的基础。
## 设置大模型
通过 `setDefaultLLM` 可以设置默认的大模型。此处以 deepseek 为例:
```typescript
agent.setDefaultLLM({
baseURL: 'https://api.deepseek.com',
apiToken: 'sk-xxxxxxxxxxxxxxxx',
model: 'deepseek-chat',
});
```
:::tip
为了防止 api key 在代码中,从而泄漏,我们建议通过环境变量来输入:
在您的 bashrc 或者 zshrc 文件中添加如下内容:
```bash
export OPENMCP_API_TOKEN=sk-xxxxxxxxxxxxxxxx
```
然后修改上述代码:
```typescript
agent.setDefaultLLM({
baseURL: 'https://api.deepseek.com',
apiToken: process.env['OPENMCP_API_TOKEN'],
model: 'deepseek-chat',
});
```
:::
其他的大模型接入参数请参考各个大模型厂家自己的文档说明。
## 发送对话
通过 `ainvoke` 方法,我们可以直接把文本发送给大模型完成一次交互和对话:
```typescript
const result = await agent.ainvoke({ messages: '你好,我是 LSTM-Kirigaya我的另一个名字是锦恢' });
console.log(result)
```
运行上面的代码,你会得到如下的回复:
```
你好LSTM-Kirigaya锦恢很高兴认识你
你的名字结合了技术LSTM长短期记忆网络和动漫元素Kirigaya可能让人联想到《刀剑神域》的桐谷和人/桐人而“锦恢”这个中文名又很有诗意听起来像是一位对AI和二次元都充满热情的伙伴呢
有什么想聊的吗无论是技术、ACG还是名字背后的故事我都乐意倾听
```