【多模态沉浸式教学】小白、散养研究生看完直接给自己放暑假!!–人工智能/多模态_哔哩哔哩_bilibili
国内外gpt工具:
国内大模型api开放平台
PS:常用命令参考
旧版API调用:
pip install openai==0.28 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install openai-python -i https://pypi.tuna.tsinghua.edu.cn/simple
查看文档 https://github.com/openai/openai-python/discussions/742
https://github.com/openai/openai-python
通义千问:
api_key : xxx
pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple
阿里云RAM 访问控制:xxx
用户登录名称 xxx
AccessKey ID :xxx
AccessKey Secret : xxx
登录密码: xxx
智谱清言chatgml : api_key: xxx
本地部署大语言模型
https://ollama.com/
默认模型路径: C:\Users\LingJiaXiaoHu\.ollama\models
修改环境变量 新建OLLAMA_MODELS 键值为新模型保存路径
ollama list 显示本地模型列表
运行
ollama run llama3 8b
ollama run qwen2 7b
ollama run gemma 7b
ollama run phi3 3.8b
视觉模型: ollama run llava:7b
ollama run llama3.1 8b
安装docker后
cmd 运行 docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
gpu支持: docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
一、python简单调用LLM
阿里云通义千问api_key:https://dashscope.console.aliyun.com/apiKey
以阿里云通义千问大模型为例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/6/25 21:09
# @Author : LingJiaXiaoHu
# @File : qwen.py
# @Software: win11 pytorch(GPU版本) python3.9.16
from openai import OpenAI
import os
'''
# 非流式调用示例
def get_response():
client = OpenAI(
#api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope SDK的base_url
)
completion = client.chat.completions.create(
model="qwen-plus",
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是谁?'}]
)
print(completion.model_dump_json()
'''
import json
# 流式调用示例
def get_response():
while True:
user_input = input("\n请输入你的问题(输入q结束提问): ").strip() # 去除输入前后的空白字符
# 检查用户是否想退出
if user_input.lower() == 'q':
print("感谢使用,再见!")
break
client = OpenAI(
# 如果您没有配置环境变量,请在此处用您的API Key进行替换
#api_key=os.getenv("DASHSCOPE_API_KEY"),
api_key="sk-xxx",
# 填写DashScope SDK的base_url
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus",
messages=[{
'role': 'system', 'content': 'You are a helpful assistant.'},
{
'role': 'user', 'content': user_input}],
stream=True,
# 通过以下设置,在流式输出的最后一行展示token使用信息
stream_options={
"include_usage": True}
)
for chunk in completion:
json_text = chunk.model_dump_json()
#print(json_text)
# 假设 responses 是一个用于存储所有响应内容的列表
responses = []
# 解析 JSON 字符串为字典
response_data = json.loads(json_text)
# 提取响应内容
if 'choices' in response_data and response_data['choices']:
delta = response_data['choices'][0]['delta']
if 'content' in delta and delta['content'].strip():
# 将 content 添加到 responses 列表中
responses.append(delta['content'])
# 可以选择打印出当前响应内容 打印完整的文本
print(delta['content'] if 'content' in delta else "无响应内容",end='')
if __name__ == '__main__':
get_response()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/7/1 20:40
# @Author : LingJiaXiaoHu
# @File : qwen_vl.py
# @Software: win11 pytorch(GPU版本) python3.9.16
from openai import OpenAI
import os
# VL模型流式调用示例
import json
def get_response():
while True:
user_img = input("\n请输入你图片地址(输入q结束提问): ").strip() # 去除输入前后的空白字符
# 检查用户是否想退出
if user_img.lower() == 'q':
print("感谢使用,再见!")
break
client = OpenAI(
# 如果您没有配置环境变量,请在此处用您的API Key进行替换