首页 > 其他分享 >大模型应用实战3——开源大模型(以Qwen为例)实现多论对话功能

大模型应用实战3——开源大模型(以Qwen为例)实现多论对话功能

时间:2024-06-22 16:28:57浏览次数:18  
标签:多论 为例 模型 content openai user chat 对话 model

对于国内用户来说,一个比较稳定的下载和部署开源大模型的方法就是使用ModelScope的SDK进行下载,然后再Transformer库进行调用。在代码环境中,ollama则提供了openai API风格的大模型调用方法。在开启ollama服务情况下,我们只需要进一步在代码环境中安装openai库即可完成调用。目前都是用openai风格的api。

!pip install openai

from openai import OpenAI

client = OpenAI( 
             base_url='http://localhost:11434/v1/', 
             api_key='ollama',  # API key is required but ignored for local model 
         ) #实例化客户端

chat_completion = client.chat.completions.create( 
         messages=[ 
             {'role': 'user','content': '你好',} 
         ], 
         model='qwen:1.8b', 
     ) #发第一句话

看结果:chat_completion.choices[0] 

 Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='你好!有什么我可以帮助你的吗?例如,你可以询问关于某个特定主题的信息或者提供一个问题或主题以供讨论。我期待着听到你的提问并为你提供相关信息。\\n', role='assistant', function_call=None, tool_calls=None)) 
 

由此,我们可编写一个多轮对话机器人

def run_chat_session(): 
         # 初始化客户端 
         client = OpenAI( 
             base_url='http://localhost:11434/v1/', 
             api_key='ollama',  # API key is required but ignored for local model 
         ) 
          
         # 初始化对话历史 
         chat_history = [] 
          
         # 启动对话循环 
         while True: 
             # 获取用户输入 
             user_input = input(\ 你: \ ) 
              
             # 检查是否退出对话 
             if user_input.lower() == 'exit': 
                 print(\ 退出对话。\ ) 
                 break 
              
             # 更新对话历史 
             chat_history.append({'role': 'user', 'content': user_input}) 
              
             # 调用模型获取回答 
             try: 
                 chat_completion = client.chat.completions.create( 
                     messages=chat_history, 
                     model='qwen:1.8b', 
                 ) 
                 # 获取最新回答,适当修改以适应对象属性 
                 model_response = chat_completion.choices[0].message.content 
                 print(\ AI: \ , model_response) 
                  
                 # 更新对话历史 
                 chat_history.append({'role': 'assistant', 'content': model_response}) 
             except Exception as e: 
                 print(\ 发生错误:\ , e) 
                 break 
   ]
  },

标签:多论,为例,模型,content,openai,user,chat,对话,model
From: https://blog.csdn.net/m0_60792028/article/details/139883230

相关文章

  • 【大语言模型基础】GPT和GPT2区别
    GPT:参数量:1.17亿个参数。模型架构:采用12层的Transformer编码器架构GPT由pretraining和fine-tuning(SFT)两部分组成trainingobjective:predictthenexttoken做pretraining的好处:语料学习与理解:预训练可以让模型在大量的语料上学习语言的基本规律、词汇的语义、句子的结......
  • [AI资讯·0622] Claude3.5超越GPT-4o,360推出AI搜索,OpenAI收购Rockset,华为发布大模型
    AI资讯「网红」周鸿祎,要为AI带货突发!OpenAI收购数据公司盘古5.0重磅发布!华为云大模型年度杀招来了,人形机器人现场整活GPT-4o一夜被赶超!Anthropic推出Claude3.5,网友3分钟克隆马里奥游戏中国人自己的操作系统!余承东掏出纯血鸿蒙,华为AI大招硬刚苹果Claude3.5突然发布!GPT-4o......
  • 首个AI高考全卷评测结果出分,大模型“考生”表现如何?
    内容提要大部分大模型“考生”语文、英语科目表现良好,但在数学方面还有待加强。阅卷老师点评,在语文科目上,对于语言中的一些“潜台词”,大模型尚无法完全理解。在数学科目上,大模型的主观题回答相对凌乱,且过程具有迷惑性。正文6月19日,首个大模型高考全卷评测结果公布。2024年......
  • 如何使用SQL工具批量执行SQL文件?(以MySQL和SQLynx为例)
    目录1.配置MySQL数据源2.打开SQL文件3.执行SQL文件4.检查执行结果5.SQL文件示例6.注意事项7.总结在现代数据库管理和操作中,批量执行SQL文件在MySQL中显现出其巨大的价值和不可替代的作用。通过将多个SQL语句集成在一个文件中进行批量处理,数据库管理......
  • 【重磅】华为云盘古大模型5.0,正式发布!
    2024年6月21日,在华为开发者大会2024(HDC2024)上,华为常务董事、华为云CEO张平安正式发布盘古大模型5.0,在全系列、多模态、强思维三个方面全新升级;张平安还分享了盘古大模型在自动驾驶、工业设计、建筑设计、具身智能、媒体生产和应用、高铁、钢铁、气象等领域的丰富创新应用和落地实......
  • Python进大厂比赛中的特征工程与模型训练
    Python进大厂比赛中的特征工程与模型训练一、引言二、技术概述特征工程模型训练三、技术细节特征工程模型训练四、实战应用五、优化与改进特征工程模型训练六、常见问题特征工程模型训练七、总结与展望一、引言Python作为数据科学界的明星语言,其在机器学习、数......
  • 文字游侠:一款全新AI写作模型,每天10分钟一键创作爆文!附渠道和玩法教程!
    在当今快节奏的社会中,虽然传统的工作可以满足我们基本的物质需求,但许多人内心深处渴望的是更高层次的精神满足。这就像是我们常说的:“工资可以喂饱肚子,副业可以养活灵魂。”这并不是鼓励大家辞去日常工作,而是提倡在保持稳定收入的同时,开启一项副业来追求个人的兴趣和梦想。毕......
  • java object多大 java对象内存模型 数组有多长(九)多线程2
    背景:多线程与单线程byte模式有误差,而且多线程每次跑出来不一样 发现:set多线程单线程没有误差,意味着除了byte那一块代码,其他的代码是可被信任的单线程5000以下byte没有hash冲突时==单线程set==apache==理论值;基本证明了这套cas在单线程下没问题;hash冲突是导致单线程set和单线......
  • PyTorch(一)模型训练过程
    PyTorch(一)模型训练过程#c总结实践总结该实践从「数据处理」开始到最后利用训练好的「模型」预测,感受到了整个模型的训练过程。其中也有部分知识点,例如定义神经网络,只是初步的模仿,有一个比较浅的认识,还需要继续学习原理。整个流程:「准备数据」,「创建数据加载器」,「选择......
  • 大模型时代:程序员如何升职加薪?(附:全流程)
    什么是AI大模型?AI大模型,又称大规模预训练模型,是指那些具有超大规模参数量和复杂结构的人工智能模型。这些模型通常包含数百万至数百亿个参数,通过深度学习技术,特别是Transformer等先进架构,在大规模数据集上进行训练。它们可以从数据中学习并提取复杂的模式和规律,展现出了......