鍵.png)
node.js + express + docker + mysql + jwt 實(shí)現(xiàn)用戶管理restful api
https://www.volcengine.com/docs/82379/1099320
https://www.volcengine.com/docs/82379/1099522
vb.net示例
using Ohh.ChatAi.TotalApi.DouYinDouBao;
using Ohh.ChatAi.TotalApi.DouYinDouBao.Models;
using Ohh.ChatAi.TotalApi.DouYinDouBao.Models.Consts;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Ohh.ChatAi.TotalApi.CSharp.Example
{
public partial class DouYinDouBaoExample : Form
{
/// <summary>
/// DouYinDouBao對象
/// </summary>
private DouYinDouBaoClient _douYinDouBaoClient;
/// <summary>
/// 系統(tǒng)角色設(shè)定
/// </summary>
private const string SysContent = "你是 抖音豆包 AI 提供的人工智能助手,你更擅長中文和英文的對話。你會(huì)為用戶提供安全,有幫助,準(zhǔn)確的回答。同時(shí),你會(huì)拒絕一切涉及恐怖主義,種族歧視,黃色暴力等問題的回答。Moonshot AI 為專有名詞,不可翻譯成其他語言";
/// <summary>
/// 構(gòu)造函數(shù)
/// </summary>
public DouYinDouBaoExample()
{
InitializeComponent();
//---------
_douYinDouBaoClient = new DouYinDouBaoClient("xxxxxxxxxxxxxxxxxxx");
}
private void DouYinDouBaoExample_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 單輪流式聊天
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void button1_Click(object sender, EventArgs e)
{
try
{
richTextBox1.Clear();
//------
var chatReq = new ChatRequest
{
model = "ep-20240704033659-vkfww", //以 endpoint_id 索引對應(yīng)的模型接入點(diǎn)。接入點(diǎn)創(chuàng)建:模型推理->創(chuàng)建模型推理->復(fù)制ep-xxxxxxx-vkfww的模型ID
messages = new List<MessagesItem> {
new MessagesItem { role = ChatRoles.System, content = SysContent },
new MessagesItem { role = ChatRoles.User, content = textBox1.Text }
},
stream = true
};
// 訂閱事件
_douYinDouBaoClient.MessageReceivedEventHandler -= OnMessageReceived;
_douYinDouBaoClient.ErrorEventHandler -= OnErrorMsg;
_douYinDouBaoClient.MessageReceivedEventHandler += OnMessageReceived;
_douYinDouBaoClient.ErrorEventHandler += OnErrorMsg;
// 開始任務(wù)
await _douYinDouBaoClient.ChatStreamAsync(chatReq);
// 局部函數(shù),訂閱SSE 消息事件
void OnMessageReceived(object s, ChatResponse m)
{
//Console.WriteLine("聊天內(nèi)容:" + ee);
Invoke(new Action(() =>
{
var msg = m.choices?.FirstOrDefault()?.delta.content;
if (msg != null) richTextBox1.AppendText(msg);
}));
}
// 局部函數(shù),訂閱SSE 錯(cuò)誤事件
void OnErrorMsg(object s, Exception ex)
{
MessageBox.Show(ex.Message);
}
}
catch (Exception ex)
{
Console.WriteLine("流式聊天失敗:" + ex.Message);
}
}
/// <summary>
/// 單輪普通聊天
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void button2_Click(object sender, EventArgs e)
{
try
{
var chatReq = new ChatRequest
{
model = "ep-20240704033659-vkfww", //以 endpoint_id 索引對應(yīng)的模型接入點(diǎn)。接入點(diǎn)創(chuàng)建:模型推理->創(chuàng)建模型推理->復(fù)制ep-xxxxxxx-vkfww的模型ID
messages = new List<MessagesItem> {
new MessagesItem { role = ChatRoles.System, content = SysContent },
new MessagesItem { role = ChatRoles.User, content = textBox1.Text }
}
};
var chatRes = await _douYinDouBaoClient.ChatAsync(chatReq);
Console.WriteLine("聊天內(nèi)容:" + chatRes.choices?.FirstOrDefault()?.message.content);
richTextBox1.Text = chatRes.choices?.FirstOrDefault()?.message.content;
}
catch (Exception ex)
{
Console.WriteLine("聊天失敗:" + ex.Message);
}
}
}
}
C#示例
using Ohh.ChatAi.TotalApi.DouYinDouBao;
using Ohh.ChatAi.TotalApi.DouYinDouBao.Models;
using Ohh.ChatAi.TotalApi.DouYinDouBao.Models.Consts;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Ohh.ChatAi.TotalApi.CSharp.Example
{
public partial class DouYinDouBaoExample : Form
{
/// <summary>
/// DouYinDouBao對象
/// </summary>
private DouYinDouBaoClient _douYinDouBaoClient;
/// <summary>
/// 系統(tǒng)角色設(shè)定
/// </summary>
private const string SysContent = "你是 抖音豆包 AI 提供的人工智能助手,你更擅長中文和英文的對話。你會(huì)為用戶提供安全,有幫助,準(zhǔn)確的回答。同時(shí),你會(huì)拒絕一切涉及恐怖主義,種族歧視,黃色暴力等問題的回答。Moonshot AI 為專有名詞,不可翻譯成其他語言";
/// <summary>
/// 構(gòu)造函數(shù)
/// </summary>
public DouYinDouBaoExample()
{
InitializeComponent();
//---------
_douYinDouBaoClient = new DouYinDouBaoClient("xxxxxxxxxxxxxxxxxxx");
}
private void DouYinDouBaoExample_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 單輪流式聊天
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void button1_Click(object sender, EventArgs e)
{
try
{
richTextBox1.Clear();
//------
var chatReq = new ChatRequest
{
model = "ep-20240704033659-vkfww", //以 endpoint_id 索引對應(yīng)的模型接入點(diǎn)。接入點(diǎn)創(chuàng)建:模型推理->創(chuàng)建模型推理->復(fù)制ep-xxxxxxx-vkfww的模型ID
messages = new List<MessagesItem> {
new MessagesItem { role = ChatRoles.System, content = SysContent },
new MessagesItem { role = ChatRoles.User, content = textBox1.Text }
},
stream = true
};
// 訂閱事件
_douYinDouBaoClient.MessageReceivedEventHandler -= OnMessageReceived;
_douYinDouBaoClient.ErrorEventHandler -= OnErrorMsg;
_douYinDouBaoClient.MessageReceivedEventHandler += OnMessageReceived;
_douYinDouBaoClient.ErrorEventHandler += OnErrorMsg;
// 開始任務(wù)
await _douYinDouBaoClient.ChatStreamAsync(chatReq);
// 局部函數(shù),訂閱SSE 消息事件
void OnMessageReceived(object s, ChatResponse m)
{
//Console.WriteLine("聊天內(nèi)容:" + ee);
Invoke(new Action(() =>
{
var msg = m.choices?.FirstOrDefault()?.delta.content;
if (msg != null) richTextBox1.AppendText(msg);
}));
}
// 局部函數(shù),訂閱SSE 錯(cuò)誤事件
void OnErrorMsg(object s, Exception ex)
{
MessageBox.Show(ex.Message);
}
}
catch (Exception ex)
{
Console.WriteLine("流式聊天失敗:" + ex.Message);
}
}
/// <summary>
/// 單輪普通聊天
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void button2_Click(object sender, EventArgs e)
{
try
{
var chatReq = new ChatRequest
{
model = "ep-20240704033659-vkfww", //以 endpoint_id 索引對應(yīng)的模型接入點(diǎn)。接入點(diǎn)創(chuàng)建:模型推理->創(chuàng)建模型推理->復(fù)制ep-xxxxxxx-vkfww的模型ID
messages = new List<MessagesItem> {
new MessagesItem { role = ChatRoles.System, content = SysContent },
new MessagesItem { role = ChatRoles.User, content = textBox1.Text }
}
};
var chatRes = await _douYinDouBaoClient.ChatAsync(chatReq);
Console.WriteLine("聊天內(nèi)容:" + chatRes.choices?.FirstOrDefault()?.message.content);
richTextBox1.Text = chatRes.choices?.FirstOrDefault()?.message.content;
}
catch (Exception ex)
{
Console.WriteLine("聊天失敗:" + ex.Message);
}
}
}
}
文章轉(zhuǎn)自微信公眾號@辦公魔盒
node.js + express + docker + mysql + jwt 實(shí)現(xiàn)用戶管理restful api
nodejs + mongodb 編寫 restful 風(fēng)格博客 api
表格插件wpDataTables-將 WordPress 表與 Google Sheets API 連接
手把手教你用Python和Flask創(chuàng)建REST API
使用 Django 和 Django REST 框架構(gòu)建 RESTful API:實(shí)現(xiàn) CRUD 操作
ASP.NET Web API快速入門介紹
2024年在線市場平臺(tái)的11大最佳支付解決方案
完整指南:如何在應(yīng)用程序中集成和使用ChatGPT API
選擇AI API的指南:ChatGPT、Gemini或Claude,哪一個(gè)最適合你?