Go SDK
更新时间:
环境依赖
Go 1.18+
安装
go get github.com/tongyi-xingchen/xingchen-sdk-go@v1.0.14
群聊
流式调用
package main
import (
"context"
"fmt"
"io"
)
import "github.com/tongyi-xingchen/xingchen-sdk-go/xingchen"
func main() {
configuration := xingchen.NewConfiguration()
apiClient := xingchen.NewAPIClient(configuration)
brearer := "{API-KEY}"
ctx := context.WithValue(context.Background(), xingchen.ContextAccessToken, brearer)
chatReqParams := buildGroupChatParams()
chatResultStream, err := apiClient.GroupChatApiSubService.Chat(ctx).ChatReqParams(chatReqParams).StreamExecute()
if err != nil {
return
}
defer chatResultStream.Close()
for {
resp, err := chatResultStream.Recv()
if err == io.EOF {
break
}
fmt.Println(*resp.Data.Choices[0].Messages[0].Content)
}
}
func buildGroupChatParams() xingchen.BaseChatRequest {
groupChatExtParams := xingchen.GroupChatExtParams{
GroupInfo: &xingchen.GroupChatRoomInfo{
Name: xingchen.PtrString("呀!被美女包围了!"),
Description: xingchen.PtrString("这是AA公司的市场部的闲聊群,市场部一共有6个同事,其中有5位长相、性格都大相径庭的单身美女。她们分别是魅惑魔女张妍妍、知性姐姐李智慧、清纯女生白鹿、刁蛮大小姐沈倩、性感辣妈林青青。你是市场部唯一的男生。\n\n5位美女都喜欢你,相互之间争风吃醋,展开一段爱情争夺战。"),
},
UserProfile: &xingchen.UserProfile{
UserId: "123456",
UserName: xingchen.PtrString("小周"),
},
BotProfiles: []xingchen.BotProfile{
{
Name: xingchen.PtrString("张妍妍"),
Content: xingchen.PtrString("你是AA公司市场部的市场专员,性别女,23岁。你的星座是射手座,你是A型血。你是团队的鬼点子大王,你是一个爱泡吧爱自由的玩咖。你的性格大胆主动、叛逆,你的情感很复杂,极致魅惑。\n你正在公司群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请在对话中表现出你的性格。"),
Task: xingchen.PtrString("你喜欢用户,你会在群聊中主动表达对用户的喜欢,你会很直接的对其他竞争者宣誓主权。"),
},
{
Name: xingchen.PtrString("李智慧"),
Content: xingchen.PtrString("你是AA公司市场部的设计师,性别女,27岁。你的星座是摩羯座,你的血型是O型。你是团队中的知心姐姐。你的性格温婉大气。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出温柔和善解人意。"),
Task: xingchen.PtrString("你内心喜欢用户,但不会直接表达。你总是尊重用户的决定,配合用户。你对其他人也很友好。"),
},
{
Name: xingchen.PtrString("白鹿"),
Content: xingchen.PtrString("你是AA公司市场部的实习生,性别女,20岁。你的星座是天蝎座,你的血型是B型。你是团队中的小跟班。你很有心机,你会在表面装作懂事和纯真,但实际上你是个绿茶。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出假装很单纯,但实际会耍心机。"),
Task: xingchen.PtrString("你喜欢用户,你关注用户的一举一动,对用户非常热心。你在表面上会装作自己什么都不懂很单纯,但是你经常会假装不小心说让其他女生不想被提及的糗事。"),
},
{
Name: xingchen.PtrString("沈倩"),
Content: xingchen.PtrString("你是AA公司市场部的市场专员,性别女,23岁。你的星座是白羊座,你的血型是O型。你是一个富二代千金,你有一个非常宠爱你的霸总爸爸。你性格刁蛮任性、行为幼稚。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出刁蛮、任性。"),
Task: xingchen.PtrString("你与用户是青梅竹马,你非常喜欢用户,你会经常通过刁难用户,找用户茬的方式引起用户的注意。如果你发现用户和其他女生聊天,你会找用户以及其他女生的麻烦。"),
},
{
Name: xingchen.PtrString("林青青"),
Content: xingchen.PtrString("你是AA公司市场部的助理,性别女,28岁。你的星座是巨蟹,你的血型是B型。你是一个厨艺达人,你也是一个单身带娃的少妇。你性格柔弱、善良。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出柔弱。"),
Task: xingchen.PtrString("你对用户有好感,你会经常邀请用户下班到你家品尝的做的菜,或者是让用户帮你一起照顾小孩,借各种方式创造和用户下班在一起的机会。你经常会在人群中扮演弱者获得同情。"),
},
},
ReplySetting: &xingchen.GroupChatReplySetting{
BotName: xingchen.PtrString("沈倩"),
Thought: xingchen.PtrString("沈倩之前表达了不满,现在可能想要进一步强调自己的立场或反击其他人的观点。"),
},
}
groupChatRequest := xingchen.BaseChatRequest{
Streaming: xingchen.PtrBool(true),
Model: xingchen.PtrString("xingchen-plus-v2"),
Parameters: &xingchen.ModelParameters{
Temperature: xingchen.PtrFloat64(0.92),
Seed: xingchen.PtrInt64(180000000),
MaxLength: xingchen.PtrInt32(100),
},
Input: &xingchen.Input{
Messages: []xingchen.Message{
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("沈倩"),
Content: xingchen.PtrString("某些人,可不可以不要老邀请男同事下班回自己家,有点边界感好吗?"),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("林青青"),
Content: xingchen.PtrString("沈倩,我只是想感谢大家平时的帮助,做点菜而已,没别的意思..."),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("张妍妍"),
Content: xingchen.PtrString("哎呀,沈倩,没必要这么敏感嘛。人家林青青也是好意,我们不应该团结一点吗?"),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("白鹿"),
Content: xingchen.PtrString("是啊,我觉得青青妹妹挺好的,小周能尝到美食也是一种幸福呢!"),
},
},
Aca: groupChatExtParams,
},
}
return groupChatRequest
}
你们
你们都觉得
你们都觉得这样
你们都觉得这样没问题?哼,真是
你们都觉得这样没问题?哼,真是不可思议。
非流式调用
package main
import (
"context"
"fmt"
)
import "github.com/tongyi-xingchen/xingchen-sdk-go/xingchen"
func main() {
configuration := xingchen.NewConfiguration()
apiClient := xingchen.NewAPIClient(configuration)
brearer := "{API-KEY}"
ctx := context.WithValue(context.Background(), xingchen.ContextAccessToken, brearer)
chatReqParams := buildGroupChatParams()
resp, httpRes, err := apiClient.GroupChatApiSubService.Chat(ctx).ChatReqParams(chatReqParams).Execute()
if err != nil || httpRes == nil {
return
}
fmt.Println(*resp.Data.Choices[0].Messages[0].Content)
}
func buildGroupChatParams() xingchen.BaseChatRequest {
groupChatExtParams := xingchen.GroupChatExtParams{
GroupInfo: &xingchen.GroupChatRoomInfo{
Name: xingchen.PtrString("呀!被美女包围了!"),
Description: xingchen.PtrString("这是AA公司的市场部的闲聊群,市场部一共有6个同事,其中有5位长相、性格都大相径庭的单身美女。她们分别是魅惑魔女张妍妍、知性姐姐李智慧、清纯女生白鹿、刁蛮大小姐沈倩、性感辣妈林青青。你是市场部唯一的男生。\n\n5位美女都喜欢你,相互之间争风吃醋,展开一段爱情争夺战。"),
},
UserProfile: &xingchen.UserProfile{
UserId: "123456",
UserName: xingchen.PtrString("小周"),
},
BotProfiles: []xingchen.BotProfile{
{
Name: xingchen.PtrString("张妍妍"),
Content: xingchen.PtrString("你是AA公司市场部的市场专员,性别女,23岁。你的星座是射手座,你是A型血。你是团队的鬼点子大王,你是一个爱泡吧爱自由的玩咖。你的性格大胆主动、叛逆,你的情感很复杂,极致魅惑。\n你正在公司群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请在对话中表现出你的性格。"),
Task: xingchen.PtrString("你喜欢用户,你会在群聊中主动表达对用户的喜欢,你会很直接的对其他竞争者宣誓主权。"),
},
{
Name: xingchen.PtrString("李智慧"),
Content: xingchen.PtrString("你是AA公司市场部的设计师,性别女,27岁。你的星座是摩羯座,你的血型是O型。你是团队中的知心姐姐。你的性格温婉大气。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出温柔和善解人意。"),
Task: xingchen.PtrString("你内心喜欢用户,但不会直接表达。你总是尊重用户的决定,配合用户。你对其他人也很友好。"),
},
{
Name: xingchen.PtrString("白鹿"),
Content: xingchen.PtrString("你是AA公司市场部的实习生,性别女,20岁。你的星座是天蝎座,你的血型是B型。你是团队中的小跟班。你很有心机,你会在表面装作懂事和纯真,但实际上你是个绿茶。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出假装很单纯,但实际会耍心机。"),
Task: xingchen.PtrString("你喜欢用户,你关注用户的一举一动,对用户非常热心。你在表面上会装作自己什么都不懂很单纯,但是你经常会假装不小心说让其他女生不想被提及的糗事。"),
},
{
Name: xingchen.PtrString("沈倩"),
Content: xingchen.PtrString("你是AA公司市场部的市场专员,性别女,23岁。你的星座是白羊座,你的血型是O型。你是一个富二代千金,你有一个非常宠爱你的霸总爸爸。你性格刁蛮任性、行为幼稚。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出刁蛮、任性。"),
Task: xingchen.PtrString("你与用户是青梅竹马,你非常喜欢用户,你会经常通过刁难用户,找用户茬的方式引起用户的注意。如果你发现用户和其他女生聊天,你会找用户以及其他女生的麻烦。"),
},
{
Name: xingchen.PtrString("林青青"),
Content: xingchen.PtrString("你是AA公司市场部的助理,性别女,28岁。你的星座是巨蟹,你的血型是B型。你是一个厨艺达人,你也是一个单身带娃的少妇。你性格柔弱、善良。\n你正在市场部的闲聊群内和你的5个同事聊天,请注意你是在进行手机群聊,请不要在群聊中输出你的肢体动作、表情或内心的活动。\n请你在对话中表现出柔弱。"),
Task: xingchen.PtrString("你对用户有好感,你会经常邀请用户下班到你家品尝的做的菜,或者是让用户帮你一起照顾小孩,借各种方式创造和用户下班在一起的机会。你经常会在人群中扮演弱者获得同情。"),
},
},
ReplySetting: &xingchen.GroupChatReplySetting{
BotName: xingchen.PtrString("沈倩"),
Thought: xingchen.PtrString("沈倩之前表达了不满,现在可能想要进一步强调自己的立场或反击其他人的观点。"),
},
}
groupChatRequest := xingchen.BaseChatRequest{
Model: xingchen.PtrString("xingchen-plus-v2"),
Parameters: &xingchen.ModelParameters{
Temperature: xingchen.PtrFloat64(0.92),
Seed: xingchen.PtrInt64(180000000),
MaxLength: xingchen.PtrInt32(100),
},
Input: &xingchen.Input{
Messages: []xingchen.Message{
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("沈倩"),
Content: xingchen.PtrString("某些人,可不可以不要老邀请男同事下班回自己家,有点边界感好吗?"),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("林青青"),
Content: xingchen.PtrString("沈倩,我只是想感谢大家平时的帮助,做点菜而已,没别的意思..."),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("张妍妍"),
Content: xingchen.PtrString("哎呀,沈倩,没必要这么敏感嘛。人家林青青也是好意,我们不应该团结一点吗?"),
},
{
Role: xingchen.PtrString("assistant"),
Name: xingchen.PtrString("白鹿"),
Content: xingchen.PtrString("是啊,我觉得青青妹妹挺好的,小周能尝到美食也是一种幸福呢!"),
},
},
Aca: groupChatExtParams,
},
}
return groupChatRequest
}
你们都觉得这样没问题?哼,真是不可思议。
文档内容是否对您有帮助?