OpenHarmony开发者论坛

标题: 在OpenHarmoy中实现AI问答 [打印本页]

作者: 俺也不知道叫啥名字好听    时间: 2024-12-29 19:42
标题: 在OpenHarmoy中实现AI问答
[md]## 在OpenHarmoy中实现AI问答

---

### 简介

---

** AI问答系统的基本原理是将大量的语言知识和逻辑推理规则输入到计算机中,通过算法的执行和深度学习的方式,使计算机能够理解自然语言,提取问题的关键信息,并通过数据库和互联网上的信息资源进行检索和匹配,最终生成准确、全面的答案。**

### 功能

---

** 本项目通过调用API来实现一些AI问答的功能,用户可以通过发送一些信息来得到自己想要的答案。**

### 代码实现

---

```
import askLLM from './LLM'
@Entry
@Component
struct AIchat {
  @State message: string = '';
  @State rtmessage:string = '';
  @State userMsg:string = '';nohao
  @State AIMsg:string = '';
  private textAreController:TextAreaController = new TextAreaController();

  build() {

   Column(){
     Text('AI问答')
     Column(){
       Scroll(){
         Column(){
           Column(){
             Text(this.userMsg)
               .margin(20)
               .copyOption(CopyOptions.LocalDevice)
           }
           .backgroundColor(this.userMsg == '' ? '#00000000' : '#ffabe963')
           .alignItems(HorizontalAlign.End)
           .width('100%')
           .margin({bottom:30})
           .borderRadius(8)

           Column(){
             Text(this.AIMsg)
               .margin(20)
               .copyOption(CopyOptions.LocalDevice)
           }
           .backgroundColor(this.AIMsg == '' ? '#00000000' : '#ffdedede')
           .alignItems(HorizontalAlign.Start)
           .width('100%')
           .borderRadius(8)
         }
       }
       .height('85%')

       Row(){
         TextArea({placeholder:"在此输入文字",text:this.message,controller:this.textAreController})
           .onChange((value)=>{
             this.message = value;
           })
           .width('80%')
         Text("发送消息")
           .width('20%')
           .onClick(() => {
             this.userMsg = this.message;
             try {
               askLLM(this.message).then((result) => {
                 this.rtmessage = result;
                 this.AIMsg = result;
               })
             } catch (e) {
             }
             this.message = '';
           })
       }
       .width('100%')
       .height('15%')
     }
     .height('90%')
     .justifyContent(FlexAlign.SpaceAround)
     .padding(20)

   }
   .height('100%')
  }
}
```
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5