当前位置: 首页 > ops >正文

第五期书生大模型实战营-《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.xdnf.cn/news/11832.html

相关文章:

  • OpenCV 键盘响应来切换图像
  • c++中char *p指针指向字符串输出问题
  • 2025政务服务便民热线创新发展会议顺利召开,张晨博士受邀分享
  • MYSQL(二) ---MySQL 8.4 新特性与变量变更
  • 【C++】string类的模拟实现(详解)
  • Python 隐藏法宝:双下划线 _ _Dunder_ _
  • day027-Shell自动化编程-基础
  • 如何使用 BPF 分析 Linux 内存泄漏,Linux 性能调优之 BPF 分析内核态、用户态内存泄漏
  • 《高等数学》(同济大学·第7版)第一章第五节《极限运算法则》
  • 使用 Amazon Q Developer CLI 快速搭建各种场景的 Flink 数据同步管道
  • 第6篇:中间件 SQL 重写与语义分析引擎实现原理
  • excel从不同的excel表匹配数据
  • C++ 使用 ffmpeg 解码 rtsp 流并获取每帧的YUV数据
  • 【Linux】自动化构建-Make/Makefile
  • NLP学习路线图(二十二): 循环神经网络(RNN)
  • 搭建nginx的负载均衡
  • 图论水题2
  • LeetCode 2297. 跳跃游戏 VIII(中等)
  • 《Docker》架构
  • Python try-except-else 语句详解
  • 星闪开发之Server-Client 指令交互控制OLED灯案例
  • 【会员专享数据】1960—2023年我国省市县三级逐年降水量数据(Shp/Excel格式)
  • Spring AI入门及案例、模型讲解、向量化和RAG等高级应用…
  • JavaSec-专题-反序列化
  • 猎板硬金镀层厚度:高频通信领域的性能分水岭
  • Python 区块链开发实战:从零到一构建智能合约
  • TypeScript 编译 ES6+ 语法到兼容的 JavaScript介绍
  • 【后端】RPC
  • Java设计模式深度解析:策略模式的核心原理与实战应用
  • unix/linux,sudo,其高级使用