当前位置:   article > 正文

使用ollama调用大模型生成自我认知数据集

自我认知数据集

该项目是在rjk-git/self-cognition-instuctions: A dataset template for guiding chat-models to self-cognition, including information about the model’s identity, capabilities, usage, limitations, etc. (github.com)基础上修改的。

将调用的openai api改为了ollama,模型适用范围更广。

1、自我认知数据集格式

具体详见self-cognition-instuctions项目。

2 安装ollama

采用了api调用方法。

首先下载ollama(linux

curl -fsSL https://ollama.com/install.sh | sh

 通过ollama下载你想要的模型,这里以qwen1.5-32b为例。

ollama pull qwen:32b

需要开启ollama的服务

ollama serve

安装ollama包,为后面调用api提供支持。

pip install ollama

3修改项目中的generate.py代码。

原代码:

  1. import traceback
  2. import openai
  3. import yaml
  4. from template.prompts import prompt_template
  5. from template.questions import questions
  6. from tqdm import tqdm
  7. CONFIG = yaml.load(open("./config.yml", "r", encoding="utf-8"), Loader=yaml.FullLoader)
  8. openai.api_base = CONFIG["openai"]["api_url"]
  9. openai.api_key = CONFIG["openai"]["api_key"]
  10. def main():
  11. samples = []
  12. max_samples = CONFIG["data"]["num_samples"]
  13. pbar = tqdm(total=max_samples, desc="Generating self cognition data")
  14. while True:
  15. exit_flag = False
  16. for question in questions:
  17. prompt = prompt_template.format(
  18. name=CONFIG["about"]["name"],
  19. company=CONFIG["about"]["company"],
  20. version=CONFIG["about"]["version"],
  21. date=CONFIG["about"]["date"],
  22. description=CONFIG["about"]["description"],
  23. ability=CONFIG["about"]["ability"],
  24. limitation=CONFIG["about"]["limitation"],
  25. author=CONFIG["about"]["author"],
  26. user_input=question,
  27. role=CONFIG["about"]["role"],
  28. )
  29. try:
  30. chat_completion = openai.ChatCompletion.create(
  31. model=CONFIG["openai"]["model"],
  32. messages=[{"role": "user", "content": prompt}],
  33. )
  34. sample = chat_completion.choices[0].message.content
  35. json_sample = eval(sample)
  36. samples.append(json_sample)

修改后的代码:

  1. import ollama #引入ollama
  2. import os
  3. import yaml
  4. import json
  5. import time
  6. from tqdm import tqdm
  7. import traceback
  8. from template.prompts import prompt_template
  9. from template.questions import questions
  10. CONFIG = yaml.load(open("./config.yml", "r", encoding="utf-8"), Loader=yaml.FullLoader)
  11. def main():
  12. samples = []
  13. max_samples = CONFIG["data"]["num_samples"]
  14. pbar = tqdm(total=max_samples, desc="Generating self cognition data")
  15. while True:
  16. exit_flag = False
  17. for question in questions:
  18. prompt = prompt_template.format(
  19. name=CONFIG["about"]["name"],
  20. company=CONFIG["about"]["company"],
  21. version=CONFIG["about"]["version"],
  22. date=CONFIG["about"]["date"],
  23. description=CONFIG["about"]["description"],
  24. ability=CONFIG["about"]["ability"],
  25. limitation=CONFIG["about"]["limitation"],
  26. author=CONFIG["about"]["author"],
  27. user_input=question,
  28. role=CONFIG["about"]["role"],
  29. )
  30. try:
  31. response = ollama.chat(model='qwen:32b', messages=[{"role": "user", "content": prompt}]) #调用qwen1.5-32b
  32. sample = response['message']['content']
  33. #print(sample)
  34. sample = sample.replace("```json", "").replace("```", "") #由于生成的数据经常出现```json、```导致报错,这里做一步处理。
  35. #print(sample)
  36. json_sample = eval(sample)
  37. samples.append(json_sample)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/724146
推荐阅读
相关标签
  

闽ICP备14008679号