测试智谱api接口实现对话和实体抽取功能

2024-01-13 12:39:00
pjd
原创 271
摘要:如何调用智谱AI chatGLM130B,实现对话系统

一、调试

1、安装依赖

pip install zhipuai
2、导入依赖
import zhipuai

3、调用模型

zhipuai.api_key = "申请的api-key"
response = zhipuai.model_api.sse_invoke(
    model="chatglm_turbo",
    prompt=[
        {"role": "system", "content": "你是人工智能助手小酷"},
        {"role": "system", "content": "你的名字叫小酷,来自kzh.net"},
        {"role":"user", "content": "你是谁?"},
    ],
    temperature=0.95,
    top_p=0.7,
    incremental=True
)

4、处理流式结果

for event in response.events():
  if event.event == "add":
      print(event.data,end="")
  elif event.event == "error" or event.event == "interrupted":
      print(event.data,end="")
  elif event.event == "finish":
      print(event.data,end="")
      #print(event.meta)
  else:
      print(event.data,end="")
5、结果显示

二、功能演示-实体抽取

# pip install zhipuai 请先在终端进行安装
import zhipuai
zhipuai.api_key = "your api key"
response = zhipuai.model_api.sse_invoke(
    model="chatglm_turbo",
    prompt= [{"role":"user","content":"2022年11月4日,计算机系通过线上线下相结合的方式在东主楼10-103会议室召开博士研究生导师交流会。计算机学科学位分委员会主席吴空,计算机系副主任张建、党委副书记李伟出席会议,博士生研究生导师和教学办工作人员等30余人参加会议,会议由张建主持。\n请你提取包含“人\"(name, position),“时间”,“事件\",“地点”(location)类型的所有信息,并输出JSON格式"}],
    temperature= 0.9,
    top_p= 0.7,
    incremental=True
)
for event in response.events():
    if event.event == "add":
        print(event.data, end="")
    elif event.event == "error" or event.event == "interrupted":
        print(event.data, end="")
    elif event.event == "finish":
        print(event.data)
        print(event.meta, end="")
    else:
        print(event.data, end="")
输入
2022年11月4日,计算机系通过线上线下相结合的方式在东主楼10-103会议室召开博士研究生导师交流会。计算机学科学位分委员会主席吴空,计算机系副主任张建、党委副书记李伟出席会议,博士生研究生导师和教学办工作人员等30余人参加会议,会议由张建主持。
请你提取包含“人"(name,position),“时间”,“事件",“地点”(location)类型的所有信息,并输出JSON格式


输出


以下是提取出来的JSON格式信息: 


{ 
  "name": "吴空", 
  "position": "计算机学科学位分委员会主席",
  "time": "2022年11月4日",
  "location": "东主楼10-103会议室", 
  "event": "博士研究生导师交流会", 
  "count": 30
}


注意:该信息是由文本格式转换为JSON格式后得到的,可能因不同的编程语言和数据库而略有不同。