由于海内openai 不开放,chartgpt 无法利用,我们可以借助海内大公司开放的模型来学习一下,这里我就选取阿里的通义千问来做解释。
在日常你可以通过访问 https://tongyi.aliyun.com/qianwen/ 来利用交互对话,来得到你所须要的答案。但这不是我们的目标,我们的目标是实现一个类似的窗口,或者说将其输出作为自己的中间结果再进行加工,当然你也可以有自己的想法。我这里只会将你带入进来,如何利用对话后面的大模型,将其纳入到自己的程序中。
好了,废话不多讲,首先你须要注册阿里云的账号,登录这里去注册:https://www.aliyun.com/product/list?spm=5176.28508143.J_4VYgf18xNlTAyFFbOuOQe.2.7e30154aUTQVbj ,如下图,
输入“通义千问”,即可找到关于通义千问完全先容,链接如下:https://help.aliyun.com/zh/dashscope/?spm=a2c4g.11186623.0.0.134e193ei3MivP ,我们可以从快速入门来看。按照阿里网页的先容来看,首先要注册,天生一个API-KEY,我这里以Windows 11 系统为例。
KEY 获取与配置,请参考:https://help.aliyun.com/zh/dashscope/developer-reference/acquisition-and-configuration-of-api-key?spm=a2c4g.11186623.0.0.1a0717d9JzeJ18
这里特殊提到一下的是环境配置,
打开powershell 命令行,按照网页先容,输入
# 用您的 API-KEY 代替 YOUR_DASHSCOPE_API_KEY
[Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "YOUR_DASHSCOPE_API_KEY", [EnvironmentVariableTarget]::User)
YOUR_DASHSCOPE_API_KEY 这个要更换为自己的KEY。如果先前有打开过Python 的文件,请配置完环境变量后,重新开启一下,这样key 才能生效。
按照API-KEY之后,就须要安装dashscope ,它增援Python 和Java, 这里我们以Python 为例。链接:https://help.aliyun.com/zh/dashscope/developer-reference/install-dashscope-sdk?spm=a2c4g.11186623.0.0.295a1507WdxbVZ
在powershell 中输入pip install dashscope ,即可下载。
通义千问的模型先容自己可以看看,https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction?spm=a2c4g.11186623.0.0.2be1f97ez4EISf 。
如何利用才是我们的重点,链接为:https://help.aliyun.com/zh/dashscope/developer-reference/api-details?spm=a2c4g.11186623.0.0.45a446c1lnMHyq。
在安装好dashscope SDK后,引入Generation 类,调用call 方法,我在后面讲贴出一个大略的demo 源码,这个是我本地测试成功的。
这里会重点先容一下call 方法和response 结果,当然你参考阿里源链接也能找到答案。
response = Generation.call(model="qwen-max", messages=messages, # 将输出设置为"message"格式 result_format='message')
如下图:
输入参数详解
from dashscope import Generationdef get_response(messages): response = Generation.call(model="qwen-max", messages=messages, # 将输出设置为"message"格式 result_format='message') return responsemessages = [{'role': 'system', 'content': 'You are a helpful assistant.'}]while True: user_input = input("请输入:") messages.append({'role': 'user', 'content': user_input}) assistant_output = get_response(messages).output.choices[0]['message']['content'] messages.append({'role': 'assistant', 'content': assistant_output}) if user_input == 'quit': print('用户退出!
') print('\n') break print(f'模型输出:{assistant_output}') print('\n')
实行后,可以大略对话,
好了,本日就大略先容到这里,关注我,后续我会连续更新AI干系文章。感谢~