@@ -1049,6 +1049,86 @@ Usage: in(25)/out(7)/total(32)
10491049 */
10501050```
10511051
1052+ ### 前缀续写
1053+
1054+ 将需要续写的前缀作为 ` assistant ` 消息放到 ` messages ` 数组末尾,并将 ` Partial ` 设置为 ` true ` ,大模型将根据这个前缀补全剩下的内容。
1055+
1056+ 这个模式下无法开启深度思考。
1057+
1058+ 示例请求
1059+
1060+ ``` csharp
1061+ var messages = new List <TextChatMessage >
1062+ {
1063+ TextChatMessage .User (" 请补全这个 C# 函数,不要添加其他内容" ),
1064+ TextChatMessage .Assistant (" public int Fibonacci(int n)" , partial : true )
1065+ };
1066+
1067+ var completion = client .GetTextCompletionStreamAsync (
1068+ new ModelRequest <TextGenerationInput , ITextGenerationParameters >()
1069+ {
1070+ Model = " qwen-turbo" ,
1071+ Input = new TextGenerationInput () { Messages = messages },
1072+ Parameters = new TextGenerationParameters ()
1073+ {
1074+ ResultFormat = " message" ,
1075+ IncrementalOutput = true
1076+ }
1077+ });
1078+ ```
1079+
1080+ 完整代码:
1081+
1082+ ``` csharp
1083+ var messages = new List <TextChatMessage >
1084+ {
1085+ TextChatMessage .User (" 请补全这个 C# 函数,不要添加其他内容" ),
1086+ TextChatMessage .Assistant (" public int Fibonacci(int n)" , partial : true )
1087+ };
1088+ Console .WriteLine ($" User > {messages [0 ].Content }" );
1089+ Console .Write ($" Assistant > {messages [1 ].Content }" );
1090+ var completion = client .GetTextCompletionStreamAsync (
1091+ new ModelRequest <TextGenerationInput , ITextGenerationParameters >()
1092+ {
1093+ Model = " qwen-turbo" ,
1094+ Input = new TextGenerationInput () { Messages = messages },
1095+ Parameters = new TextGenerationParameters ()
1096+ {
1097+ ResultFormat = " message" ,
1098+ IncrementalOutput = true
1099+ }
1100+ });
1101+ var reply = new StringBuilder ();
1102+ TextGenerationTokenUsage ? usage = null ;
1103+ await foreach (var chunk in completion )
1104+ {
1105+ var choice = chunk .Output .Choices ! [0 ];
1106+ Console .Write (choice .Message .Content );
1107+ reply .Append (choice .Message .Content );
1108+ usage = chunk .Usage ;
1109+ }
1110+
1111+ Console .WriteLine ();
1112+ messages .Add (TextChatMessage .Assistant (reply .ToString ()));
1113+ if (usage != null )
1114+ {
1115+ Console .WriteLine (
1116+ $" Usage: in({usage .InputTokens })/out({usage .OutputTokens })/reasoning({usage .OutputTokensDetails ? .ReasoningTokens })/total({usage .TotalTokens })" );
1117+ }
1118+
1119+ /*
1120+ User > 请补全这个 C# 函数,不要添加其他内容
1121+ Assistant > public int Fibonacci(int n)
1122+ {
1123+ if (n <= 1)
1124+ return n;
1125+
1126+ return Fibonacci(n - 1) + Fibonacci(n - 2);
1127+ }
1128+ Usage: in(31)/out(34)/reasoning()/total(65)
1129+ */
1130+ ```
1131+
10521132
10531133
10541134### 多模态
0 commit comments