第五期书生大模型实战营-《L1G1-玩转书生大模型 API 之 Browser-Use 实践》

一、 搭建环境

pip install requests openai

1.2、获取API

https://internlm.intern-ai.org.cn/api/tokens

1.3 运行API

from openai import OpenAI
from dotenv import load_dotenv
import osfrom openai import OpenAI
from dotenv import load_dotenv
import os# InternLM_api_key = os.getenv("InternLM", load_dotenv())
InternLM_api_key="xxxUJk6kx4wGK2fetm4WMxuZWSRB9WEq6MSpfLlJls2jA2xIpLAmf8EgDh6Uow"
client = OpenAI(api_key=InternLM_api_key,  base_url="https://chat.intern-ai.org.cn/api/v1/",
)chat_rsp = client.chat.completions.create(model="internlm3-latest",messages=[{"role": "user",         #role 支持 user/assistant/system/tool"content": "你知道刘慈欣吗?"}, {"role": "assistant","content": "为一个人工智能助手,我知道刘慈欣。他是一位著名的中国科幻小说家和工程师,曾经获得过多项奖项,包括雨果奖、星云奖等。"},{"role": "user","content": "他什么作品得过雨果奖?"}],stream=False
)for choice in chat_rsp.choices:print(choice.message.content)
#若使用流式调用:stream=True,则使用下面这段代码
#for chunk in chat_rsp:
#    print(chunk.choices[0].delta.content)

import requests
import json
from dotenv import load_dotenv
import os
InternLM_api_key="exxxxWMxuZWSRB9WEq6MSpfLlJls2jA2xIpLAmf8EgDh6Uow"url = 'https://chat.intern-ai.org.cn/api/v1/chat/completions'
header = {'Content-Type':'application/json',"Authorization":"Bearer "+InternLM_api_key,
}
data = {"model": "internlm3-latest",  "messages": [{"role": "user","content": "你好~"}],"n": 1,"temperature": 0.8,"top_p": 0.9
}res = requests.post(url, headers=header, data=json.dumps(data))
print(res.status_code)
print(res.json())
print(res.json()["choices"][0]['message']["content"])

from openai import OpenAI
from dotenv import load_dotenv
import osInternLM_api_key="exxxxuZWSRB9WEq6MSpfLlJls2jA2xIpLAmf8EgDh6Uow"
client = OpenAI(api_key=InternLM_api_key,base_url="https://chat.intern-ai.org.cn/api/v1/",
)chat_rsp = client.chat.completions.create(model="internvl2.5-latest",messages=[{"role": "user","content": "你好"},{"role": "assistant","content": "你好,我是 internvl"},{"role": "user","content": [                                    #用户的图文提问内容,数组形式{"type": "text",                        # 支持 text/image_url"text": "Describe these two images please"},{"type": "image_url","image_url": {"url": "https://static.openxlab.org.cn/internvl/demo/visionpro.png"  #支持互联网公开可访问的图片 url 或图片的 base64 编码}},{"type": "image_url",                                                     # 单轮对话支持上传多张图片"image_url": {"url": "https://static.openxlab.org.cn/puyu/demo/000-2x.jpg"}}]}],n=1,stream=False
)for choice in chat_rsp.choices:print(choice.message.content)

from openai import OpenAI
from dotenv import load_dotenv
import os# 加载环境变量
load_dotenv()
InternLM_api_key="xxxxkx4wGK2fetm4WMxuZWSRB9WEq6MSpfLlJls2jA2xIpLAmf8EgDh6Uow"# 初始化客户端
client = OpenAI(api_key=InternLM_api_key,base_url="https://chat.intern-ai.org.cn/api/v1/",
)# 构建包含3轮对话的上下文
messages = [# 第一轮对话{"role": "user","content": "你好,请介绍一下你自己"},{"role": "assistant","content": "你好!我是 InternVL,一个多模态AI助手。我可以理解和分析文本与图像,帮助您处理各种任务,包括图像描述、视觉问答、文档理解等。有什么我可以帮助您的吗?"},# 第二轮对话{"role": "user","content": "你能处理哪些类型的图像任务?"},{"role": "assistant","content": "我可以处理多种图像任务:\\n1. 图像描述:详细描述图片内容\\n2. 视觉问答:回答关于图片的问题\\n3. 图像对比:分析多张图片的异同\\n4. OCR识别:提取图片中的文字\\n5. 图表分析:理解图表、图形数据\\n6. 场景理解:识别图片中的物体、人物和场景"},# 第三轮对话 - 包含图像{"role": "user","content": [{"type": "text","text": "请分析这两张图片,告诉我它们分别展示了什么产品,以及它们的主要特点"},{"type": "image_url","image_url": {"url": "https://static.openxlab.org.cn/internvl/demo/visionpro.png"}},{"type": "image_url","image_url": {"url": "https://static.openxlab.org.cn/puyu/demo/000-2x.jpg"}}]}
]# 调用API获取最终回复
try:chat_rsp = client.chat.completions.create(model="internvl2.5-latest",messages=messages,n=1,stream=False,temperature=0.8,  # 控制回复的创造性max_tokens=500  # 限制回复长度)# 打印最终回复print("=== API 最终回复 ===")for choice in chat_rsp.choices:print(choice.message.content)# 可选:打印整个对话历史print("\\n=== 完整对话历史 ===")for i, msg in enumerate(messages):print(f"\\n轮次 {i // 2 + 1}:")if msg["role"] == "user":if isinstance(msg["content"], str):print(f"用户: {msg['content']}")else:print(f"用户: {msg['content'][0]['text']}")print(f"      (包含 {len(msg['content']) - 1} 张图片)")else:print(f"助手: {msg['content']}")except Exception as e:print(f"API调用出错: {str(e)}")

 

2 Browser-Use 

2.1、安装环境

git clone https://github.com/sanjion/Web-ui.git
cd web-ui
pip install -r requirements.txt 
playwright install --with-deps chromium
pip install --upgrade gradio  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install lxml
pip install lxml_html_clean

2.2 复制文件

cp .env.example .env
python webui.py --ip 127.0.0.1 --port 7788

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Web的安全漏洞分析与修复平台设计与实现

基于Web的安全漏洞分析与修复平台设计与实现 摘要 随着信息化进程的加快,Web系统和企业IT架构愈发复杂,安全漏洞频发已成为影响系统安全运行的主要因素。为解决传统漏洞扫描工具定位不准确、修复建议不完善、响应周期长等问题,本文设计并实…

深入解析异步爬虫中的协程原理:从概念到工程实践

引言 在Web数据抓取领域,同步爬虫的​​单线程阻塞模型​​已无法满足现代应用对效率的需求。据统计,2025年全球Top 1000网站中,89%采用Ajax动态加载技术,传统爬虫的平均抓取效率已下降至每秒1.5个页面。而基于协程的异步爬虫通过​​非阻塞I/O​​和​​并发调度​​,可…

告别硬编码!用工厂模式优雅构建可扩展的 Spring Boot 应用 [特殊字符]

嗨,各位技术伙伴们!👋 在日常的软件开发中,我们经常面临需求变更的挑战。如何构建一个既能满足当前需求,又能轻松应对未来变化的系统呢?答案往往藏在那些经典的设计模式中。 今天,我们就来聊聊…

【Linux】编译器gcc/g++及其库的详细介绍

前言: 上文我们学到了,LInux中的的编辑器vim【Linux】vim编辑器-CSDN博客 本文来学习LInux中的编译器:gcc/g gcc是C语言编译器,g是C编译器,这两个的使用一模一样。这里我们主要使用gcc给大家介绍 1.格式 gcc 被编译的…

用“红烧鱼”类比说明卷积神经网络CNN的概念

我们用一个生活中的例子——「厨房做红烧鱼」 的场景,来类比卷积神经网络中多层卷积核的工作过程。你会发现,卷积层就像厨房里分工明确的厨师团队,逐步处理食材,最终完成一道复杂的菜品。 🐟 生活案例:厨房…

uniapp与微信小程序开发平台联调无法打开IDE

经测试属于网络问题。本机需要联网。否则会出现Hbuilder运行微信小程序到模拟器时无法打开 微信开发者工具 这个页面出不来会一直显示异常。这期间微信小程序开发工具的端口是通的 需要先联网

内网穿透之Linux版客户端安装(神卓互联)

选择Linux系统版本 获取安装包 :https://www.shenzhuohl.com/download.html 这里以Ubuntu 18.04为例,其它版本方法类似 登录Ubuntu操作系统: 打开Ubuntu系统终端,更新版本 apt-get update 安装运行环境: 安装C 运…

硬件学习笔记--66 MCU的DMA简介

DMA(Direct Memory Access,直接存储器访问)是MCU中一种重要的数据传输机制,它允许外设与存储器之间或存储器与存储器之间直接传输数据,而无需CPU的持续干预。 1、DMA的基本原理 1.1 核心概念: 1&#xf…

DeepSeek本地部署及WebUI可视化教程

前言 DeepSeek是近年来备受关注的大模型之一,支持多种推理和微调场景。很多开发者希望在本地部署DeepSeek模型,并通过WebUI进行可视化交互。本文将详细介绍如何在本地环境下部署DeepSeek,并实现WebUI可视化,包括Ollama和CherryStudio的使用方法。 一、环境准备 1. 硬件要…

RK3588和FPGA桥片之间IO电平信号概率性不能通信原因

1.GPIO管脚配置问题 RK3588对IO进行配置的时候,如果配置为多功能复用,没有明确IO功能,可能引起信号接收不稳定, 需要在驱动中设备树中配置管脚为GPIO功能,确保没有功能复用的干扰。 2.上下拉电阻阻值设置不当 GPIO引脚…

相机--相机标定实操

教程 camera_calibration移动画面示例 usb_cam使用介绍和下载 我使用的是USB相机,所以直接使用ros的usb_cam功能包驱动相机闭关获取实时图像,然后用ros的camera_calibration标定相机。 查询摄像机的信息 v4l2-ctl -d 0 --all的作用 命令详解&#xf…

【Kotlin】高阶函数Lambda内联函数

【Kotlin】简介&变量&类&接口 【Kotlin】数字&字符串&数组&集合 【Kotlin】高阶函数&Lambda&内联函数 【Kotlin】表达式&关键字 文章目录 函数还是属性高阶函数抽象和高阶函数实例: 函数作为参数的需求方法引用表达式更多使用场…

飞算JavaAI 炫技赛重磅回归!用智能编码攻克老项目重构难题

深夜还在排查十年前Hibernate框架埋下的N1查询隐患?跨语言迁移时发现SpringMVC控制器里的业务逻辑像一团乱麻?当企业数字化进入深水区,百万行代码的老系统就像一座随时可能崩塌的"技术债冰山"。近日,飞算科技发布JavaAI…

Linux I2C 子系统全解:结构、机制与工程实战

Linux I2C 子系统全解:结构、机制与工程实战 前言 I2C(Inter-Integrated Circuit)作为嵌入式系统和各种电子产品中最常用的串行通信总线之一,在 Linux 内核中的地位极其重要。然而,Linux I2C 子系统的分层结构、对象模…

多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock

多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项,并通…

元胞自动机(Cellular Automata, CA)

一、什么是元胞自动机(Cellular Automata, CA) 元胞自动机(CA) 是一种基于离散时间、离散空间与规则驱动演化的动力系统,由 冯诺依曼(John von Neumann) 于1940年代首次提出,用于模…

Flutter面试题

Flutter架构解析 1. Flutter 是什么?它与其他移动开发框架有什么不同? Flutter 是 Google 开发的开源移动应用开发框架,可用于快速构建高性能、高保真的移动应用(iOS 和 Android),也支持 Web、桌面和嵌入式设备。。它与其他移动开发框架(如 React Native、Xamarin、原…

MySQL 如何判断某个表中是否存在某个字段

在MySQL中,判断某个表中是否存在某个字段,可以通过查询系统数据库 INFORMATION_SCHEMA.COLUMNS 实现。以下是详细步骤和示例: 方法:使用 INFORMATION_SCHEMA.COLUMNS 通过查询系统元数据表 COLUMNS,检查目标字段是否存…

golang 实现基于redis的并行流量控制(计数锁)

在业务开发中,有时需要对某个操作在整个集群中限制并发度,例如限制大模型对话的并行数。基于redis zset实现计数锁,做个笔记。 关键词:并行流量控制、计数锁 package redisutilimport ("context""fmt""…

从线性方程组角度理解公式 s=n−r(3E−A)

从线性方程组角度理解公式 sn−r(3E−A) 这个公式本质上是 ​齐次线性方程组解空间维度 的直接体现。下面通过三个关键步骤解释其在线性方程组中的含义: 1. ​公式对应的线性方程组 考虑矩阵方程: (3E−A)x0 其中: x 是 n 维未知向量3E−…