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

AgentOps - 帮助开发者构建、评估和监控 AI Agent

在这里插入图片描述

文章目录

    • 一、关于 AgentOps
    • 二、关键集成 🔌
    • 三、快速开始 ⌨️
        • 2行代码中的Session replays
      • 首类开发者体验
    • 四、集成 🦾
      • OpenAI Agents SDK 🖇️
      • CrewAI 🛶
      • AG2 🤖
      • Camel AI 🐪
      • Langchain 🦜🔗
      • Cohere ⌨️
      • Anthropic ﹨
      • Mistral 〽️
      • CamelAI ﹨
      • LiteLLM 🚅
      • LlamaIndex 🦙
      • Llama Stack 🦙🥞
      • SwarmZero AI 🐝
    • 五、时间旅行调试 🔮
    • 六、Agent Arena 🥊
    • 七、评估路线图 🧭
    • 八、调试路线图 🧭
      • 为什么选择 AgentOps? 🤔
    • 九、使用 AgentOps 的热门项目


一、关于 AgentOps

AgentOps 帮助开发者构建、评估和监控 AI 代理。从原型到生产。

  • github : https://github.com/AgentOps-AI/agentops
  • 官方文档:https://docs.agentops.ai/introduction
  • 文档对话:https://www.entelligence.ai/AgentOps-AI&agentops
  • Dashboard : https://app.agentops.ai/?ref=gh
  • Twitter | Discord

视频示例: agentops_demo.mp4


二、关键集成 🔌


在这里插入图片描述


  • https://docs.agentops.ai/v1/integrations/openai-agents
  • https://docs.agentops.ai/v1/integrations/crewai
  • https://docs.ag2.ai/docs/ecosystem/agentops
  • https://docs.agentops.ai/v1/integrations/microsoft
  • https://docs.agentops.ai/v1/integrations/langchain
  • https://docs.agentops.ai/v1/integrations/camel
  • https://docs.llamaindex.ai/en/stable/module_guides/observability/?h=agentops#agentops
  • https://docs.agentops.ai/v1/integrations/cohere

📊 重放分析和调试步骤式代理执行图
💸 LLM 成本管理跟踪 LLM 基础模型提供商的花费
🧪 代理基准测试将您的代理与 1,000+ 评估进行测试
🔐 合规性和安全性检测常见的提示注入和数据泄露攻击
🤝 框架集成与 CrewAI、AG2 (AutoGen)、Camel AI 和 LangChain 的原生集成

三、快速开始 ⌨️

pip install agentops

2行代码中的Session replays

初始化 AgentOps 客户端并自动获取所有 LLM 调用的分析。

获取API密钥:https://app.agentops.ai/settings/projects

import agentops# Beginning of your program (i.e. main.py, __init__.py)
agentops.init( < INSERT YOUR API KEY HERE >)...# End of program
agentops.end_session('Success')

所有您的会话都可以在AgentOps仪表板上查看


Agent Debugging


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Session Replays


在这里插入图片描述


Summary Analytics
在这里插入图片描述


在这里插入图片描述


首类开发者体验

使用尽可能少的代码为您的代理、工具和函数添加强大的可观察性:一次一行。

参考文档: http://docs.agentops.ai

# Create a session span (root for all other spans)
from agentops.sdk.decorators import session@session
def my_workflow():# Your session code herereturn result

# Create an agent span for tracking agent operations
from agentops.sdk.decorators import agent@agent
class MyAgent:def __init__(self, name):self.name = name# Agent methods here

# Create operation/task spans for tracking specific operations
from agentops.sdk.decorators import operation, task@operation  # or @task
def process_data(data):# Process the datareturn result

# Create workflow spans for tracking multi-operation workflows
from agentops.sdk.decorators import workflow@workflow
def my_workflow(data):# Workflow implementationreturn result

# Nest decorators for proper span hierarchy
from agentops.sdk.decorators import session, agent, operation@agent
class MyAgent:@operationdef nested_operation(self, message):return f"Processed: {message}"@operationdef main_operation(self):result = self.nested_operation("test message")return result@session
def my_session():agent = MyAgent()return agent.main_operation()

所有装饰器支持:

  • 输入/输出记录
  • 异常处理
  • 异步/等待函数
  • 发电机功能
  • 自定义属性和名称

四、集成 🦾


OpenAI Agents SDK 🖇️

构建多智能体系统,使用工具、交接和防护措施。AgentOps 提供与 OpenAI Agents 的一级集成。

pip install agents-sdk

  • AgentOps集成示例
  • 官方CrewAI文档

CrewAI 🛶

只需两行代码即可构建具有可观察性的Build Crew代理。只需在您的环境中设置AGENTOPS_API_KEY,您的队伍将在AgentOps仪表板上获得自动监控。

pip install 'crewai[agentops]'
  • AgentOps 集成示例
  • 官方 CrewAI 文档

AG2 🤖

只需两行代码,即可为AG2(前身为AutoGen)代理添加完整的可观察性和监控。在你的环境中设置一个AGENTOPS_API_KEY并调用agentops.init()

  • AG2 可观测性示例
  • AG2 - 代理操作文档

Camel AI 🐪

跟踪和分析具有完全可观测性的CAMEL代理。在您的环境中设置AGENTOPS_API_KEY并初始化AgentOps以开始使用。

  • Camel AI - 高级代理通信框架
  • AgentOps 集成示例
  • 官方 Camel AI 文档

安装

pip install "camel-ai[all]==0.2.11"
pip install agentops

import os
import agentops
from camel.agents import ChatAgent
from camel.messages import BaseMessage
from camel.models import ModelFactory
from camel.types import ModelPlatformType, ModelType# Initialize AgentOps
agentops.init(os.getenv("AGENTOPS_API_KEY"), default_tags=["CAMEL Example"])# Import toolkits after AgentOps init for tracking
from camel.toolkits import SearchToolkit# Set up the agent with search tools
sys_msg = BaseMessage.make_assistant_message(role_name='Tools calling operator',content='You are a helpful assistant'
)# Configure tools and model
tools = [*SearchToolkit().get_tools()]
model = ModelFactory.create(model_platform=ModelPlatformType.OPENAI,model_type=ModelType.GPT_4O_MINI,
)# Create and run the agent
camel_agent = ChatAgent(system_message=sys_msg,model=model,tools=tools,
)response = camel_agent.step("What is AgentOps?")
print(response)agentops.end_session("Success")

查看我们的Camel集成指南以获取更多示例,包括多代理场景。


Langchain 🦜🔗

AgentOps可以无缝地与使用Langchain构建的应用程序协同工作。要使用此处理程序,将Langchain作为可选依赖项安装:


安装

pip install agentops[langchain]

要使用处理器,导入并设置

import os
from langchain.chat_models import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
from agentops.partners.langchain_callback_handler import LangchainCallbackHandlerAGENTOPS_API_KEY = os.environ['AGENTOPS_API_KEY']
handler = LangchainCallbackHandler(api_key=AGENTOPS_API_KEY, tags=['Langchain Example'])llm = ChatOpenAI(openai_api_key=OPENAI_API_KEY,callbacks=[handler],model='gpt-3.5-turbo')agent = initialize_agent(tools,llm,agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION,verbose=True,callbacks=[handler], # You must pass in a callback handler to record your agenthandle_parsing_errors=True)

查看Langchain 示例笔记本以获取更多详细信息,包括异步处理程序。


Cohere ⌨️

首先类支持 Cohere(>=5.4.0)。这是一个持续集成的项目,如果您需要任何额外的功能,请通过 Discord 联系我们!

  • AgentOps集成示例
  • 官方Cohere文档

安装

pip install cohere

import cohere
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)
co = cohere.Client()chat = co.chat(message="Is it pronounced ceaux-hear or co-hehray?"
)print(chat)agentops.end_session('Success')

import cohere
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)co = cohere.Client()stream = co.chat_stream(message="Write me a haiku about the synergies between Cohere and AgentOps"
)for event in stream:if event.event_type == "text-generation":print(event.text, end='')agentops.end_session('Success')

Anthropic ﹨

跟踪代理使用Anthropic Python SDK(>=0.32.0)构建。

  • AgentOps 集成指南
  • 官方Anthropic文档

安装

pip install anthropic

import anthropic
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)client = anthropic.Anthropic(# This is the default and can be omittedapi_key=os.environ.get("ANTHROPIC_API_KEY"),
)message = client.messages.create(max_tokens=1024,messages=[{"role": "user","content": "Tell me a cool fact about AgentOps",}],model="claude-3-opus-20240229",)
print(message.content)agentops.end_session('Success')

流式传输

import anthropic
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)client = anthropic.Anthropic(# This is the default and can be omittedapi_key=os.environ.get("ANTHROPIC_API_KEY"),
)stream = client.messages.create(max_tokens=1024,model="claude-3-opus-20240229",messages=[{"role": "user","content": "Tell me something cool about streaming agents",}],stream=True,
)response = ""
for event in stream:if event.type == "content_block_delta":response += event.delta.textelif event.type == "message_stop":print("\n")print(response)print("\n")

异步

import asyncio
from anthropic import AsyncAnthropicclient = AsyncAnthropic(# This is the default and can be omittedapi_key=os.environ.get("ANTHROPIC_API_KEY"),
)async def main() -> None:message = await client.messages.create(max_tokens=1024,messages=[{"role": "user","content": "Tell me something interesting about async agents",}],model="claude-3-opus-20240229",)print(message.content)await main()

Mistral 〽️

使用 Mistral Python SDK (>=0.32.0) 构建的跟踪代理。

  • AgentOps集成示例
  • Mistral官方文档
pip install mistralai

Sync

from mistralai import Mistral
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)client = Mistral(# This is the default and can be omittedapi_key=os.environ.get("MISTRAL_API_KEY"),
)message = client.chat.complete(messages=[{"role": "user","content": "Tell me a cool fact about AgentOps",}],model="open-mistral-nemo",)
print(message.choices[0].message.content)agentops.end_session('Success')

from mistralai import Mistral
import agentops# Beginning of program's code (i.e. main.py, __init__.py)
agentops.init(<INSERT YOUR API KEY HERE>)client = Mistral(# This is the default and can be omittedapi_key=os.environ.get("MISTRAL_API_KEY"),
)message = client.chat.stream(messages=[{"role": "user","content": "Tell me something cool about streaming agents",}],model="open-mistral-nemo",)response = ""
for event in message:if event.data.choices[0].finish_reason == "stop":print("\n")print(response)print("\n")else:response += event.textagentops.end_session('Success')

异步

import asyncio
from mistralai import Mistralclient = Mistral(# This is the default and can be omittedapi_key=os.environ.get("MISTRAL_API_KEY"),
)async def main() -> None:message = await client.chat.complete_async(messages=[{"role": "user","content": "Tell me something interesting about async agents",}],model="open-mistral-nemo",)print(message.choices[0].message.content)await main()

异步流

import asyncio
from mistralai import Mistralclient = Mistral(# This is the default and can be omittedapi_key=os.environ.get("MISTRAL_API_KEY"),
)async def main() -> None:message = await client.chat.stream_async(messages=[{"role": "user","content": "Tell me something interesting about async streaming agents",}],model="open-mistral-nemo",)response = ""async for event in message:if event.data.choices[0].finish_reason == "stop":print("\n")print(response)print("\n")else:response += event.textawait main()

CamelAI ﹨

使用 CamelAI Python SDK (>=0.32.0) 构建的 Track agents。

  • CamelAI集成指南
  • CamelAI官方文档

安装

pip install camel-ai[all]
pip install agentops

#Import Dependencies
import agentops
import os
from getpass import getpass
from dotenv import load_dotenv#Set Keys
load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") or "<your openai key here>"
agentops_api_key = os.getenv("AGENTOPS_API_KEY") or "<your agentops key here>"

您可以在这里找到使用示例!:
https://github.com/AgentOps-AI/agentops/blob/main/examples/camelai_examples/README.md


LiteLLM 🚅

AgentOps 提供了对 LiteLLM(>=1.3.1) 的支持,允许您使用相同的输入/输出格式调用 100+ 个 LLM。

  • AgentOps 集成示例
  • 官方 LiteLLM 文档

安装

pip install litellm

# Do not use LiteLLM like this
# from litellm import completion
# ...
# response = completion(model="claude-3", messages=messages)# Use LiteLLM like this
import litellm
...
response = litellm.completion(model="claude-3", messages=messages)
# or
response = await litellm.acompletion(model="claude-3", messages=messages)

LlamaIndex 🦙

AgentOps 与使用 LlamaIndex 构建的应用无缝协作,LlamaIndex 是一个用于构建具有 LLM 的上下文增强生成式 AI 应用程序的框架。


安装

pip install llama-index-instrumentation-agentops

为了使用该处理器,导入并设置

from llama_index.core import set_global_handler# NOTE: Feel free to set your AgentOps environment variables (e.g., 'AGENTOPS_API_KEY')
# as outlined in the AgentOps documentation, or pass the equivalent keyword arguments
# anticipated by AgentOps' AOClient as **eval_params in set_global_handler.set_global_handler("agentops")

查看LlamaIndex 文档 以获取更多详情。


Llama Stack 🦙🥞

AgentOps 提供了对 Llama Stack Python 客户端(>=0.0.53)的支持,允许您监控您的 Agentic 应用程序。

  • AgentOps集成示例1
  • AgentOps集成示例2
  • 官方 Llama Stack Python 客户端

SwarmZero AI 🐝

跟踪和分析 SwarmZero 代理,具有全面的可观察性。在你的环境中设置一个 AGENTOPS_API_KEY,然后初始化 AgentOps 以开始使用。

  • SwarmZero - 高级多智能体框架
  • AgentOps集成示例
  • SwarmZero AI 集成示例
  • SwarmZero AI - 代理操作文档
  • SwarmZero 官方 Python SDK

安装

pip install swarmzero
pip install agentops

from dotenv import load_dotenv
load_dotenv()import agentops
agentops.init(<INSERT YOUR API KEY HERE>)from swarmzero import Agent, Swarm
# ...

五、时间旅行调试 🔮


在这里插入图片描述


试试 : https://app.agentops.ai/timetravel


六、Agent Arena 🥊

(即将推出!)


七、评估路线图 🧭

平台仪表板评估
✅ Python SDK✅ 多会话和跨会话指标✅ 自定义评估指标
🚧 评估构建器 API✅ 自定义事件标签跟踪🔜 代理分数卡
✅ Javascript/Typescript SDK✅ 会话重放🔜 评估游乐场 + 排行榜

八、调试路线图 🧭

性能测试环境LLM 测试推理和执行测试
✅ 事件延迟分析🔜 非平稳环境测试🔜 LLM 非确定性函数检测🚧 无限循环和递归思维检测
✅ 代理工作流程执行定价🔜 多模态环境🚧 令牌限制溢出标志🔜 故障推理检测
🚧 成功验证器(外部)🔜 执行容器🔜 上下文限制溢出标志🔜 生成代码验证器
🔜 代理控制器/技能测试✅ 蜜罐和提示注入检测 (PromptArmor)🔜 API 账单跟踪🔜 错误断点分析
🔜 信息上下文约束测试🔜 反代理障碍(例如,验证码)🔜 CI/CD 集成检查
🔜 回归测试🔜 多代理框架可视化

为什么选择 AgentOps? 🤔

没有合适的工具,AI代理将变得缓慢、昂贵且不可靠。我们的使命是将您的代理从原型过渡到生产。以下是AgentOps脱颖而出的原因:

  • 全面可观察性: 跟踪您的AI代理的性能、用户交互和API使用情况。
  • 实时监控:通过会话回放、指标和实时监控工具立即获得洞察。
  • 成本控制:监控和管理你在LLM和API调用上的支出。
  • 故障检测:快速识别并响应代理故障和多代理交互问题。
  • 工具使用统计: 了解您的代理如何使用外部工具,并通过详细的分析来理解。
  • 会话级指标:通过全面的统计数据获得您代理人的会话的整体视图。
    AgentOps 是设计用来让代理的可观察性、测试和监控变得简单。

九、使用 AgentOps 的热门项目

RepositoryStars
geekan / MetaGPT42787
run-llama / llama_index34446
crewAIInc / crewAI18287
camel-ai / camel5166
superagent-ai / superagent5050
iyaja / llama-fs4713
BasedHardware / Omi2723
MervinPraison / PraisonAI2007
AgentOps-AI / Jaiqu272
swarmzero / swarmzero195
strnad / CrewAI-Studio134
alejandro-ao / exa-crewai55
tonykipkemboi / youtube_yapper_trapper47
sethcoast / cover-letter-builder27
bhancockio / chatgpt4o-analysis19
breakstring / Agentic_Story_Book_Workflow14
MULTI-ON / multion-python13

Generated using github-dependents-info, by Nicolas Vuillamy


2025-04-16(三)

相关文章:

AgentOps - 帮助开发者构建、评估和监控 AI Agent

文章目录 一、关于 AgentOps二、关键集成 &#x1f50c;三、快速开始 ⌨️2行代码中的Session replays 首类开发者体验 四、集成 &#x1f9be;OpenAI Agents SDK &#x1f587;️CrewAI &#x1f6f6;AG2 &#x1f916;Camel AI &#x1f42a;Langchain &#x1f99c;&#x1…...

n8n 为技术团队打造的安全工作流自动化平台

AI MCP 系列 AgentGPT-01-入门介绍 Browser-use 是连接你的AI代理与浏览器的最简单方式 AI MCP(大模型上下文)-01-入门介绍 AI MCP(大模型上下文)-02-awesome-mcp-servers 精选的 MCP 服务器 AI MCP(大模型上下文)-03-open webui 介绍 是一个可扩展、功能丰富且用户友好的…...

MyBatis:SpringBoot结合MyBatis、MyBatis插件机制的原理分析与实战

&#x1fa81;&#x1f341; 希望本文能给您带来帮助&#xff0c;如果有任何问题&#xff0c;欢迎批评指正&#xff01;&#x1f405;&#x1f43e;&#x1f341;&#x1f425; 文章目录 一、背景二、Spring Boot项目中结合MyBatis2.1 数据准备2.2 pom.xml依赖增加2.3 applicat…...

【数据结构】3.单链表专题

文章目录 单链表的实现0、准备工作1、链表的打印2、尾插3、头插4、尾删5、头删6、查找指定数据的位置7、在指定位置之前插入数据8、在指定位置之后插入数据9、删除指定位置的数据10、删除指定位置之后的数据11、单链表的销毁 单链表的实现 什么是单链表呢&#xff1f;单链表可…...

**Microsoft Certified Professional(MCP)** 认证考试

1. MCP 认证考试概述 MCP&#xff08;Microsoft Certified Professional&#xff09;是微软认证体系中的一项入门级认证&#xff0c;旨在验证考生在微软产品和技术&#xff08;如 Windows Server、Azure、SQL Server、Microsoft 365&#xff09;方面的技能。2020 年&#xff0…...

C++学习之游戏服务器开发git命令

目录 1.服务器需求分析 2.面向框架编程简介 3.ZINX框架初始 4.回显标准输入 5.VS结合GIT 6.完善readme范例 7.添加退出功能 8.添加命令处理类 9.添加日期前缀思路 10.添加日期前缀功能 1.服务器需求分析 zinx 描述 zinx 框架是一个处理多路 IO 的框架。在这个框架中提…...

Maven 多仓库与镜像配置全攻略:从原理到企业级实践

Maven 多仓库与镜像配置全攻略&#xff1a;从原理到企业级实践 一、核心概念&#xff1a;Repository 与 Mirror 的本质差异 在 Maven 依赖管理体系中&#xff0c;repository与mirror是构建可靠依赖解析链的两大核心组件&#xff0c;其核心区别如下&#xff1a; 1. Repositor…...

无锁队列--知识分享

目录 无锁队列 无锁队列是什么 为什么需要无锁队列 队列的类型 无锁队列的分类 ringbuffer&#xff08;SPSC&#xff09; ret_ring&#xff08;MPMC&#xff09; 无锁队列 无锁队列是什么 无锁队列通过原子操作来实现线程安全的队列&#xff0c;属于非阻塞队列 …...

Flask快速入门

1.安装 Flask 要使用 Flask&#xff0c;你需要先安装它。打开终端&#xff0c;运行以下命令&#xff1a; pip install flask 2.创建文件结构 3.app.py from flask import Flask&#xff1a;从 flask 库中导入 Flask 类。app Flask(__name__)&#xff1a;创建一个 Flask 应…...

LeetCode -- Flora -- edit 2025-04-16

1.两数之和 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按…...

【Unity笔记】实现可视化配置的Unity按键输入管理器(按下/长按/松开事件 + UnityEvent绑定)

【Unity笔记】实现可视化配置的Unity按键输入管理器 适用于角色控制、技能触发的Unity按键输入系统&#xff0c;支持UnityEvent事件绑定、长按/松开监听与启用开关 一、引言 在 Unity 游戏开发中&#xff0c;处理键盘输入是最常见的交互方式之一。尤其是角色控制、技能释放、菜…...

SpringMVC学习(请求与响应。常见参数类型接收与响应。@RequestParam、@RequestBody的使用)(详细示例)

目录 一、请求与响应。(RequestMapping) &#xff08;1&#xff09;使用注解RequestMapping对业务模块区分。 StudentController。 TeacherController。 &#xff08;2&#xff09;Apifox请求与响应。 "/student/login"。 "/teacher/login"。 二、常见参数…...

springboot 切面拦截自定义注解

使用切面来拦截被该注解标记的方法 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>1. 定义自定义注解 import java.lang.annotation.ElementType; imp…...

QT —— 信号和槽(自定义信号和槽函数)

QT —— 信号和槽&#xff08;自定义信号和槽函数&#xff09; 自定义信号和槽函数一、自定义信号函数规范1. 声明位置2. 返回值与实现3. 参数与重载 二、自定义槽函数规范1. 声明位置&#xff08;不同版本差异&#xff09;2. 返回值与实现3. 参数与重载 三、信号发射规范1. 基…...

朋克编码以潮玩语言讲述中国文化|益民艺术馆展演东方潮力

朋克编码于广州益民艺术馆推出“艺术家潮玩”系列主题展&#xff0c;将传统文化元素融入 潮玩设计&#xff0c;并通过数字科技与空间场景创新&#xff0c;讲述中国故事、传递东方美学。 展览作品结合太空猿等原创 IP 与“中式元素”视觉符号&#xff0c;引发观众情感共鸣。“我…...

TA学习之路——2.2 模型与材质基础

1.模型基础 1.1 图形渲染管线 1.2 模型实现的原理 点连成线,线构成面,面构成模型。 1.2 UV UV例如一个正方体的纸盒展开,平铺在一个二维的坐标系中。 模型的每一个顶点在三维空间和二维空间中都能一 一对应。在二维坐标系中的顶点对应的位置就是顶点的纹理坐标。 因此…...

helm的go模板语法学习

1、helm chart 1.0、什么是helm&#xff1f; 介绍&#xff1a;就是个包管理器。理解为java的maven、linux的yum就好。 安装方法也可参见官网&#xff1a; https://helm.sh/docs/intro/install 通过前面的演示我们知道&#xff0c;有了helm之后应用的安装、升级、查看、停止都…...

Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(一)

Windows 8包括 Microsoft DirectX 功能改进&#xff0c;使开发人员、最终用户和系统制造商受益。 功能改进在以下几个方面&#xff1a; 像素格式 (5551、565、4444) &#xff1a;在低功耗硬件配置下&#xff0c;DirectX 应用程序的性能更高。双精度着色器功能&#xff1a;高级…...

软件测试|App测试面试相关问题(2)

一、App 稳定怎么做的?Monkey 怎么用(App 稳定测试)? 稳定性这块&#xff0c;我们当时用的是SDK 自动的一个Monkey 工具进行测试的&#xff0c;其实Monkey工具主要通过模拟用户发送伪随机时间去操作软件&#xff0c;通过执行Monkey 命令&#xff0c;它会自动出报告&#xff…...

模拟电路需要了解的一些基础知识(部分)

基本的单路元件 1. 电阻&#xff1b;特性&#xff1a;阻碍电流流动&#xff0c;消耗电能并转化为热能&#xff08;遵循欧姆定律&#xff09;。是无源元件&#xff0c;应用&#xff1a;限流、分压、发热等&#xff1b; 2. 电容&#xff1b;特性&#xff1a;存储电荷和电场能&am…...

[特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手

&#x1f4a1; 简介&#xff1a;本文详细介绍如何利用MCP&#xff08;Model-Control-Panel&#xff09;框架开发MySQL数据库操作工具&#xff0c;使AI助手能够直接执行数据库操作。 &#x1f4da; 目录 引言MCP框架简介项目架构设计开发环境搭建核心代码实现错误处理策略运行和…...

软考备考(一)学习笔记

一、软考介绍 计算机软考,计算机技术与软件专业技术资格(水平)考试 一年考试两次: 一次上旬(5月底),下旬一次(11月初) 初级资格:程序员 中级资格: 软件设计师 高级资格: 系统架构设计师 初级: 科目一:计算机硬软件基础知识 150min 笔试、选择 科目二:程序设…...

Linux环境变量

目录 环境变量 基本概念 常见环境变量 查看环境变量方法 测试PATH 测试HOME 和环境变量相关的命令 环境变量的组织方式 通过代码如何获取环境变量 通过系统调用获取或设置环境变量 ​编辑 环境变量通常是具有全局属性的 实验 环境变量 基本概念 环境变量(environment variables…...

跨浏览器书签同步方案:WebDAV + Floccus插件实操指南

FloccusWebDAV能够帮助把多个不同浏览器书签统一私有化管理&#xff0c;以下是介绍&#xff1a; Floccus 是一个允许用户在不同浏览器和设备之间私密同步书签的扩展&#xff0c;开源地址&#xff1a;https://github.com/floccusaddon/floccusWebDAV是一种基于HTTP的协议&#…...

银河麒麟系统 达梦8 安装 dlask 框架后端环境

适配的一套环境为 dmPython2.5.8 dmSQLAlchemy1.4.39 Flask2.0.3 Flask-Cors3.0.10 Flask-SQLAlchemy2.5.1 SQLAlchemy1.4.54 Werkzeug2.2.2其中 # sqlalchemy-dm1.4.39 通过dmdbms目录内文件进行源码安装 (MindSpore) [ma-user python]$pwd /home/syl/dmdbms/drivers/python…...

代码随想录算法训练营Day31

力扣738.单调递增的数字【medium】 力扣968.监控二叉树【hard】 一、力扣738.单调递增的数字【medium】 题目链接&#xff1a;力扣738.单调递增的数字 视频链接&#xff1a;代码随想录 1、思路 先将整数转为字符串变成可迭代对象&#xff0c;再转为列表从后向前遍历&#xff…...

LeetCode Hot100 刷题笔记(10)—— ACM格式输入输出练习

目录 Trick: 1. 只有输出 2. 单组_AB 3. 多组_AB_EOF形式 4. 多组_AB_T组形式 5. 多组_AB_零尾形式 6. 单组_一维数组 7. 多组_二维数组_T组形式 8. 单组_二维数组 9. 多组_二维数组_T组形式 10. 单组_字符串 11. 多组_字符串_T组形式 12. 单组_二维字符数组 13. 多组_带空格的…...

iPaaS集成平台在制造业有哪些应用场景

在制造业迈向智能化的进程中&#xff0c;“数据不通”“系统割裂”“响应迟缓”等问题如同隐形的锁链&#xff0c;束缚着企业转型升级的步伐。面对设备、系统、供应链之间错综复杂的连接需求&#xff0c;传统定制化开发周期长、成本高&#xff0c;难以满足快速变化的业务需求。…...

【Docker项目实战】使用Docker部署Gitblit服务器

【Docker项目实战】使用Docker部署Gitblit服务器 一、Gitblit介绍1.1 Gitblit 介绍1.2 主要特点 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Gitblit镜像五、部署Gitbli…...

基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——Linux应用开发手册

前 言 本文主要介绍TL3562-MiniEVM评估板的AMP(Asymmetric Multi-processing)开发案例,适用开发环境如下: Windows开发环境:Windows 7 64bit、Windows 10 64bit Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.209 Lin…...

并查集(力扣1971)

并查集的功能&#xff1a;判断两个节点是否在同一个集合中/将两个节点加入同一集合中。模板如下&#xff1a; #include<iostream> #include<vector> using namespace std; const int n 1e6 5;//视题目具体节点数量而定&#xff0c;比节点数量稍大即可 vector<…...

Pinpoint - 大型分布式系统的 APM(应用性能管理)工具

文章目录 一、关于 Pinpoint最新版本&#xff08;2024/10/23&#xff09;-- v3.0.1PHP, PYTHON 二、概述支持的模块 一、关于 Pinpoint Pinpoint 是一个用于大型分布式系统的 APM&#xff08;应用性能管理&#xff09;工具&#xff0c;由 Java / PHP/PYTHON 编写。 受 Dapper …...

高级java每日一道面试题-2025年4月10日-微服务篇[Nacos篇]-Nacos的服务健康检查机制是如何工作的?

如果有遗漏,评论区告诉我进行补充 面试官: Nacos的服务健康检查机制是如何工作的&#xff1f; 我回答: Nacos 服务健康检查机制详解 Nacos 的服务健康检查机制是确保服务高可用性和可靠性的核心功能之一。它通过定期检测服务实例的状态来判断它们是否健康&#xff0c;并据此…...

JavaScript:表单及正则表达式验证

今天我要介绍的是在JavaScript中关于表单验证内容的知识点介绍&#xff1a; 关于表单验证&#xff0c;我接下来则直接将内容以及效果显示出来并作注解&#xff0c;这样可以清晰看见这个表达验证的妙用&#xff1a; <form id"ff" action"https://www.baidu.…...

Android 应用数据分布目录结构解析

在Android系统中&#xff0c;/data目录下的几个关键路径有不同的用途&#xff0c;主要涉及应用数据存储和用户媒体文件管理,具体如下&#xff1a; 1. /data/user/0/ 路径别名&#xff1a;等同于 /data/data/&#xff08;旧路径&#xff0c;仍兼容&#xff09;。 用途&#xff…...

Spring Boot 中的自动配置原理

2025/4/6 向全栈工程师迈进&#xff01; 一、自动配置 所谓的自动配置原理就是遵循约定大约配置的原则&#xff0c;在boot工程程序启动后&#xff0c;起步依赖中的一些bean对象会自动的注入到IOC容器中。 在讲解Spring Boot 中bean对象的管理的时候&#xff0c;我们注入bean对…...

Java内部类详解

在Java中&#xff0c;内部类是一种强大的特性&#xff0c;允许将一个类定义在另一个类的内部。内部类提供了更好的封装性&#xff0c;能够访问外部类的成员&#xff0c;并常用于实现事件监听、适配器模式等场景。本文将深入探讨四种内部类&#xff1a;成员内部类、静态内部类、…...

台账自动统计——餐饮物资管理台账——仙盟共创平台——未来之窗

分类表 自动统计 创作不易&#xff0c;使用地址&#xff1a;https://mp.weixin.qq.com/s/Ok3wuSYAPhd-6N8DrK7jwg 餐饮物资管理台账自动统计能够实时、精准地呈现库存数量。通过对采购入库、领用出库、盘点盈亏等数据的自动记录与计算&#xff0c;管理者随时可获取准确库存信息…...

Function Calling是什么?

Function Calling&#xff08;函数调用&#xff09;是大型语言模型&#xff08;如GPT、Claude等&#xff09;中的一项关键功能&#xff0c;允许模型根据用户输入的需求&#xff0c;智能识别并返回结构化函数调用请求&#xff0c;从而与外部工具、API或代码进行交互。以下是详细…...

[学习] C语言数据结构深度解析:八种树结构与应用场景详解(代码示例)

C语言数据结构深度解析&#xff1a;八种树结构与应用场景详解 好吧&#xff0c;今天我们来研究树&#xff01;C语言中的树。 树是计算机科学中最重要的非线性数据结构之一&#xff0c;广泛应用于操作系统、数据库、编译器、图形学等领域。本文将通过C语言代码示例&#xff0c…...

【从零实现高并发内存池】Page Cache 从理解设计到全面实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

6 CMD 与 PowerShell 指令大全、C 程序终端运行、字符编码切换指南

1 CMD 与 PowerShell 常用指令 在命令行环境中高效运行程序&#xff0c;掌握终端的基本操作命令至关重要。无论是 Windows 系统下的 CMD&#xff08;命令提示符&#xff09;还是 PowerShell&#xff0c;它们都配备了一系列实用的命令&#xff0c;助力我们管理文件、执行程序以及…...

为啥mac日历打不开浏览器

问题 换了新电脑后&#xff0c;mac上的日历总是没法同步google日历信息&#xff0c;导致经常错过会议 尝试mac日历上添加账户&#xff0c;结果到了打开浏览器缓解总是卡住&#xff0c;打不开浏览器&#xff08;safari&#xff09; 解决 检查默认浏览器设置确保已将所需的浏览…...

spring:注解@PostConstruct、@PreDestroy

这两个注解的功能类似标签中的init-method和destroy-method。分别在构造方法调用之后和实例释放资源之前被调用。 注解类&#xff1a; package com.annotation.dao.impl;import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation…...

Androidjetpack之viewmodel的原理分析

前言 viewmodel是jetpack中比较重要的一个组件。如果还没有学习viewmodel不知道怎么写代码什么的&#xff0c;可以看一下我之前写得文章。 jetpack之ViewModel的简单使用https://blog.csdn.net/i_xiang_la_shi/article/details/147218033?fromshareblogdetail&sharetype…...

springboot启动动态定时任务

1.自定义定时任务线程池 package com.x.devicetcpserver.global.tcp.tcpscheduler;import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotatio…...

Dify智能体平台源码二次开发笔记(7) - 优化知识库pdf识别(2)

目录 前言 设计方案 代码具体优化 前言 补充前篇的一些优化。 场景是识别pdf文档&#xff0c;但还需要把pdf文档中的图片也保存下来&#xff0c;在知识库增强检索的时候&#xff0c;直接可以显示图片。 设计方案 1、保存知识库中的图片 2、存入我们的文件服务器中&#xff0…...

Linux——进程通信

我们知道&#xff0c;进程具有独立性&#xff0c;各进程之间互不干扰&#xff0c;但我们为什么还要让其联系&#xff0c;建立通信呢&#xff1f;比如&#xff1a;数据传输&#xff0c;资源共享&#xff0c;通知某个事件&#xff0c;或控制某个进程。因此&#xff0c;让进程间建…...

AF3 create_alignment_db_sharded脚本create_shard函数解读

AlphaFold3 create_alignment_db_sharded 脚本在源代码的scripts/alignment_db_scripts文件夹下。 该脚本中的 create_shard 函数的功能是将一部分链&#xff08;shard_files&#xff09;中的所有对齐文件写入一个 .db 文件&#xff0c;并返回这些链的索引信息&#xff08;字节…...

Jetpack Compose 实现主页面与局部页面独立刷新的最佳实践

在 Jetpack Compose 开发中&#xff0c;我们经常遇到这样的需求&#xff1a;主页面包含局部页面&#xff0c;主页面刷新时需要更新局部页面&#xff0c;同时局部页面也需要能独立刷新。本文将介绍几种优雅的实现方案。 核心需求 主页面刷新时能触发局部页面更新局部页面能独立…...