Maui 调用文心一言的API实现的聊天功能1
10年以后一直开发PHP或JAVA,再次拿起visual studio后,感叹良多,真是好用IDE。以前用的是2010现在也出现了2022,同时开发的功能也强大无比。python,nodejs.unity 当然godot也支持C#.同时maui的出现,能开发ios以及android,整个是一个全干开发的好工具。以下代码东拼西凑的,只是一个过程的记录。让我写出更深层的东东,我无此能力,做为生存努力的工具,我会用就行了。
界面效果


接口的调用
一言的api有C#的调用,试了几次,不能成功,就改为调用C#的net自有的HttpClient进行开发。
public static async Task<string> getAnswer(string question){var url = $"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/aquilachat_7b?access_token={await GetAccessToken()}";var payload = JsonConvert.SerializeObject(new{messages = new[]{new { role = "user", content = question }}});using (var client = new HttpClient()){var content = new StringContent(payload, Encoding.UTF8, "application/json");var response = await client.PostAsync(url, content);if (response.IsSuccessStatusCode){var responseContent = await response.Content.ReadAsStringAsync();var dictObj = JsonConvert.DeserializeObject<dynamic>(responseContent);return dictObj.result;}else{Console.WriteLine($"HTTP请求失败: {response.StatusCode}");return null;}}}private static async Task<string> GetAccessToken(){var url = "https://aip.baidubce.com/oauth/2.0/token";using (var client = new HttpClient()){var parameters = new FormUrlEncodedContent(new[]{new KeyValuePair<string, string>("grant_type", "client_credentials"),new KeyValuePair<string, string>("client_id", sAPI_KEY),new KeyValuePair<string, string>("client_secret", sSECRET_KEY)});var response = await client.PostAsync(url, parameters);if (response.IsSuccessStatusCode){var content = await response.Content.ReadAsStringAsync();var result = JsonConvert.DeserializeObject<dynamic>(content);return result.access_token;}else{Console.WriteLine($"HTTP请求失败: {response.StatusCode}");return null;}}}
设置界面
