调用星火知识库,记录试用过程(Python版)

目录

1.Python包构成

2.文档的上传

3.知识的问答

4.前端的调用

5.常见的错误


该API基于知识检索增强模式,增强大模型能力。使用文档解析和理解能力将企业私域文档和结构化数据构建为可供检索的知识,使大模型可检索私域知识用于知识问答和内容生成,高效构建更懂企业和业务的大模型。

1.Python包构成

下载的Demo包中含有两个python脚本,分别用于文档的上传和知识的问答,在使用两个脚本之前需要创建对应的工程,获取APPId和APISecret两个密钥控制台-讯飞开放平台 (xfyun.cn),点击立即购买可以0元购部分免费的资源。

2.文档的上传

文档的上传脚本支持提交本地文件和网络文件:

#提交本地文件
def get_files_and_body(self):
        body = {
            "url": "",
            "fileName": "知识.docx",
            "fileType": "wiki",
            "needSummary": False,
            "stepByStep": False,
            "callbackUrl": "your_callbackUrl",
        }
        files = {'file': open('知识.docx', 'rb')}
        return files, body
# 提交网络文件
def get_body(self):
        body = {
            "file": "",
            "url": "文件网络地址 例如: https://xxx.xx.com/xxx.pdf",
            "fileName": "文件名, 例如:xxx.pdf",
            "fileType": "wiki",
            "callbackUrl": "your_callbackUrl"
        }
        form = MultipartEncoder(
            fields=body,
            boundary='------------------' + str(random.randint(1e28, 1e29 - 1))
        )
        return form

具体参数设置详见文档上传 (xfyun.cn),将专业领域的知识记录在文档中,并通过上述的方式进行上传,获取到对应的数据ID,可以用于知识的问答。

3.知识的问答

第二个python脚本是文档问答的脚本,可以用于问题的回答。在这个脚本中需要设置fileIds和content两个参数,其中fileIds是上传的文档ID,content是需要问的问题。

    def get_body(self):
        dataJson = request.get_json()
        data = {
            "chatExtends": {
                "wikiPromptTpl": "请将以下内容作为已知信息:\n<wikicontent>\n请根据以上内容回答用户的问题。\n问题:<wikiquestion>\n回答:",
                "wikiFilterScore": 0.83,
                "temperature": 0.5
            },
            "fileIds": [dataJson["fileID"]# "e41900a5959e47e58ba6f71c2ea515ce"
                ],
            "messages": [
                {
                    "role": "user",
                    "content": dataJson["userContent"]
                }
            ]
        }
        return data

4.前端的调用

上述代码经我我处理可以用于接口的调用。这个调用是我在前端进行调用的。前端的部分代码为

const data = {
        fileID:"464cb722e6215d3f",
        userContent: inputValue
      };

      try {
        const response = await this.$axios.post('http://ip:端口/questionAndAnswer', data);
        console.log(response.data);
         const mes = response.data["message"];
          console.log(mes);
          alert(mes);
        // console.log(this.textarea)
        // 在这里处理返回的数据,根据实际情况进行操作
      } catch (error) {
        console.error(error);
      }
    }

上述将python作为后台服务,在前端进行事件的处理,进而完成专业领域对话式的交互。

5.常见的错误

另外注意:需要在python添加下边代码段,解决前端调用过程中的跨域问题。

from flask_cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app)

仅以此作为调用讯飞星火API的记录!!!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值