前面我们介绍了LlamaIndex相关内容,现在我们来介绍LlamaIndex的竞争对手LangChain
LangChain同样也是一套大模型应用的开发框架,相对与LlamaIndex来说,LangChain更注重与模型交互的封装,而数据处理相关的内容,就相对粗糙一些
LangChain项目地址:github.com/langchain-a… LangChain文档(python版本):
- 功能模块:python.langchain.com/docs/tutori…
- API 文档:python.langchain.com/api_referen…
- 三方组件集成:python.langchain.com/docs/integr…
- 更多 HowTo:python.langchain.com/docs/how_to…
模型调用
使用不同的模型
在LlamaIndex中默认支持openai模型调用,LangChain也是一样
from dotenv import load_dotenv
load_dotenv(dotenv_path='../.env')
from langchain.chat_models import init_chat_model
model = init_chat_model("gpt-4o-mini", model_provider="openai")
response = model.invoke("你是谁")
print(response.content)
如果我们想换个模型怎么办?在LlamaIndex中,需要安装依赖,声明调用的模型,在LangChain中,只需要安装依赖,然后更换参数即可,比如,更换deepseek
pip install -U langchain-deepseek
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
from langchain_core.messages import AIMessage, HumanMessage
load_dotenv(dotenv_path='../.env')
model_dict = {
'1':'gpt-4o-mini',
'2':'deepseek-chat',
'3':'deepseek-reasoner',
}
model_provider_info = {
'gpt-4o-mini':'openai',
'deepseek-r1':'deepseek',
'deepseek-reasoner':'deepseek'
}
def choice_model():
print('可用模型:')
for k,v in model_dict.items():
print('{}: {}'.format(k, v))
user_choice = input('请输入: ')
if user_choice not in model_dict.keys():
print('非法选项')
model_name = model_dict.get(user_choice)
model_provider = model_provider_info.get(model_name)
model = init_chat_model(model=model_name,model_provider=model_provider)
return model
messages = []
model = None
while True:
if not model:
model = choice_model()
message_input = input('用户(按c切换模型):')
if message_input.lower() == 'q':
break
if message_input.lower() == 'c':
model = None
continue
messages.append(HumanMessage(message_input))
response = model.stream(messages)
ai_message = ''
for resp in response:
print(resp.text(),end='',flush=True)
print()
messages.append(AIMessage(ai_message))
相对来说LangChain的方式会更加灵活
与模型对话
单轮对话
from langchain.chat_models import init_chat_model
model = init_chat_model("gpt-4o-mini", model_provider="openai")
response = model.invoke("你是谁")
print(response.content)
多轮对话
LangChain对OpenAI接口中的role进行了封装
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
load_dotenv(dotenv_path='../.env')
from langchain.schema import (
AIMessage, # 等价于OpenAI接口中的assistant role
HumanMessage, # 等价于OpenAI接口中的user role
SystemMessage # 等价于OpenAI接口中的system role
)
model = init_chat_model("gpt-4o-mini", model_provider="openai")
messages = [
SystemMessage(content="介绍一下你自己。"),
HumanMessage(content="我是学员,我叫wiki。"),
AIMessage(content="欢迎!"),
HumanMessage(content="我是谁")
]
ret = model.invoke(messages)
print(ret.content)
流式输出
for token in model.stream("你是谁"):
print(token.content, end="")
Prompt
提示词是和大模型交互中非常重要的一环,Langchain也提供了相应的封装
from langchain.prompts import (
PromptTemplate,
ChatPromptTemplate,
HumanMessagePromptTemplate,
SystemMessagePromptTemplate,
MessagesPlaceholder
)
from langchain.chat_models import init_chat_model
import dotenv
from langchain_core.messages import HumanMessage, AIMessage
dotenv.load_dotenv()
model = init_chat_model(model='gpt-4o-mini', model_provider='openai')
def send_message(prompt):
print(prompt)
resp = model.stream(prompt)
for chunk in resp:
print(chunk.text(), end='', flush=True)
print()
自定义变量
def cus_variables():
"""
自定义变量
"""
temp = PromptTemplate.from_template('请用通俗易懂的语言介绍{name}')
print("===Template===")
print(temp)
print("===Prompt===")
print(temp.format(name='python'))
send_message(prompt=temp.format(name='python'))
输出:
===Template===
input_variables=['name'] input_types={} partial_variables={} template='请用通俗易懂的语言介绍{name}'
===Prompt===
请用通俗易懂的语言介绍python
Python是一种广泛使用的编程语言,因其简单易学而受到许多人的喜爱。它的语法清晰,就像写英文一样,适合初学者,也因此被称为“可读性高的语言”。
以下是Python的一些主要特点:
1. **易学易用**:Python的语法简单明了,初学者可以很快上手,写出自己的程序。
2. **跨平台**:Python可以在多种操作系统上运行,如Windows、macOS和Linux等,这意味着你写的代码可以在不同的电脑上执行。
3. **强大的社区支持**:Python有一个活跃的开发者社区,提供了丰富的库和框架,可以帮助你快速开发各种应用,比如网页、数据分析、人工智能等。
4. **多用途**:Python可以用来做很多事情,包括网站开发、数据科学、机器学习、自动化脚本、游戏开发等等。
5. **开源**:Python是开源的,意味着你可以自由使用和修改它,这样开发者可以不断改进和分享代码。
总的来说,Python是一门非常适合初学者的编程语言,也是专业开发人员的常用工具,因其功能强大和灵活性,广泛应用于各个领域。
通过模板处理对话上下文
def chat_template():
"""模板处理上下文"""
temp = ChatPromptTemplate.from_messages(
messages=[
SystemMessagePromptTemplate.from_template(
'你是{product}的客服助手,工号是{code}'
),
HumanMessagePromptTemplate.from_template(
'{query}'
)
]
)
prompt = temp.format_messages(
product='中国移动',
code='065700',
query='你是谁'
)
send_message(prompt=prompt)
输出:
[SystemMessage(content='你是中国移动的客服助手,工号是065700', additional_kwargs={}, response_metadata={}), HumanMessage(content='你是谁', additional_kwargs={}, response_metadata={})]
您好,我是中国移动的客服助手,工号065700。请问有什么我可以帮助您的吗?
将多轮对话转换为模板
def muti_template():
"""模板处理多轮对话"""
user_message = '"Translate your answer to {language}.'
user_message_temp = HumanMessagePromptTemplate.from_template(user_message)
chat_prompt = ChatPromptTemplate.from_messages(
messages=[
MessagesPlaceholder('history'), user_message_temp
]
)
human_message = HumanMessage(content="Who is Elon Musk?")
ai_message = AIMessage(
content="Elon Musk is a billionaire entrepreneur, inventor, and industrial designer"
)
messages = chat_prompt.format_prompt(
# 对 "history" 和 "language" 赋值
history=[human_message, ai_message], language="中文"
)
print(messages.to_messages())
send_message(prompt=messages)
输出:
[HumanMessage(content='Who is Elon Musk?', additional_kwargs={}, response_metadata={}), AIMessage(content='Elon Musk is a billionaire entrepreneur, inventor, and industrial designer', additional_kwargs={}, response_metadata={}), HumanMessage(content='"Translate your answer to 中文.', additional_kwargs={}, response_metadata={})]
messages=[HumanMessage(content='Who is Elon Musk?', additional_kwargs={}, response_metadata={}), AIMessage(content='Elon Musk is a billionaire entrepreneur, inventor, and industrial designer', additional_kwargs={}, response_metadata={}), HumanMessage(content='"Translate your answer to 中文.', additional_kwargs={}, response_metadata={})]
埃隆·马斯克是一位亿万富翁企业家、发明家和工业设计师。
从文件加载Prompt
一个项目中,会有很多很多的提示词,我们不可能把提示词都写在代码里,这样会很难维护,LangChain支持从文件读取提示词
propmt.txt:
编写一个{script_name}的python程序
def load_prompt_from_file():
temp = PromptTemplate.from_file('./prompt/prompt.txt')
print("===Template===")
print(temp)
print("===Prompt===")
prompt = temp.format(script_name='输出菱形九九乘法表')
send_message(prompt=prompt)
输出:
===Template===
input_variables=['script_name'] input_types={} partial_variables={} template='编写一个{script_name}的python程序'
===Prompt===
编写一个输出菱形九九乘法表的python程序
当然可以!下面是一个使用Python编写的程序,用于输出菱形形状的九九乘法表。该程序会生成从1到9的乘法结果,并将其格式化为菱形形状输出。
def print_diamond_multiplication_table():
# 打印上半部分的九九乘法表
for i in range(1, 10):
# 打印空格
print(' ' * (9 - i), end='')
# 打印乘法表的一行
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j:<2}", end=' ')
print() # 换行
# 打印下半部分的九九乘法表
for i in range(8, 0, -1):
# 打印空格
print(' ' * (9 - i), end='')
# 打印乘法表的一行
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j:<2}", end=' ')
print() # 换行
# 调用函数打印菱形九九乘法表
print_diamond_multiplication_table()
### 代码说明:
1. **上半部分**:使用一个外层循环从1到9,打印每一行的乘法表。在每一行前面打印相应数量的空格来使其居中。
2. **内层循环**:打印当前行中每一个乘法结果,格式化输出使其整齐。
3. **下半部分**:与上半部分相似,但从8到1逆序打印。
运行这段代码将会在控制台输出一个菱形形状的九九乘法表。你可以根据需要修改空格的数量或者格式,使打印效果更好。
结构化输出
很多时候我们需要让大模型帮我们将用户输入的内容进行结构化,LangChain对此也提供了相应的接口
输出pydantic对象
定义Pydantic对象
import dotenv
from pydantic import BaseModel, Field
from langchain.prompts import PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
from langchain_core.output_parsers import PydanticOutputParser, JsonOutputParser
from langchain.chat_models import init_chat_model
from langchain.output_parsers import OutputFixingParser
from langchain_openai import ChatOpenAI
class Date(BaseModel):
year: int = Field(description="Year")
month: int = Field(description="Month")
day: int = Field(description="Day")
era: str = Field(description="BC or AD")
将Pydatic对象绑定给模型api对象
dotenv.load_dotenv()
model = init_chat_model(model='gpt-4o-mini', model_provider='openai')
query = "2025年5月31日是端午节"
print('='*20,'输出 Pydantic 对象','='*20)
struct_model = model.with_structured_output(Date)
template = """
提取用户输入中的日期
# 用户输入:
{query}
"""
prompt = PromptTemplate(template=template)
user_prompt = prompt.format_prompt(query=query)
res = struct_model.invoke(user_prompt)
print(res)
通过with_structured_output方法,将Date绑定给model,再通过特定的提示词,就可以让大模型对用户输入中的信息进行提取
输出:
==================== 输出 Pydantic 对象 ====================
year=2025 month=5 day=31 era='AD'
输出json
print('='*20,'输出指定格式的 JSON','='*20)
json_schema = {
"title": "Date",
"description": "Formated date expression",
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "year, YYYY",
},
"month": {
"type": "integer",
"description": "month, MM",
},
"day": {
"type": "integer",
"description": "day, DD",
},
"era": {
"type": "string",
"description": "BC or AD",
},
},
}
json_struct_model = model.with_structured_output(json_schema)
res = json_struct_model.invoke(user_prompt)
print(res)
输出:
==================== 输出指定格式的 JSON ====================
{'year': 2025, 'month': 5, 'day': 31, 'era': 'AD'}
OutPutParser
print('='*20,'使用OutputParser','='*20)
json_parser = JsonOutputParser(pydantic_object=Date)
pydantic_parser = PydanticOutputParser(pydantic_object=Date)
json_prompt = PromptTemplate(
template="提取用户输入的日期。\n用户输入:{query}\n{format_instructions}",
input_variables=["query"],
partial_variables={"format_instructions": json_parser.get_format_instructions()},
)
pydantic_prompt = PromptTemplate(
template="提取用户输入的日期。\n用户输入:{query}\n{format_instructions}",
input_variables=["query"],
partial_variables={"format_instructions": pydantic_parser.get_format_instructions()},
)
input_prompt = json_prompt.format_prompt(query=query)
output = model.invoke(input_prompt)
print("原始输出:")
print(output.content)
print("解析为json后:")
print(json_parser.invoke(output))
print("解析Pydantic对象后:")
print(pydantic_parser.invoke(output))
OutPutParser 可以让我们像传递参数一样,将结构化要求传递到Prompt中,但是这样做有一个缺点,就是format_instructions这个参数对应的提示词是写在源码中的,如果我们有特殊需求,Langchain支持的结构化方式可能无法输出我们想要的结果
自动纠错
用户输入的内容中,难免会有一些不标准的东西,比如日期,2015年4月4日写成2015年四月4日,如果我们的Pydantic对象月份定义的是int类型,那么就会出现异常,这种情况,可以使用OutputFixingParser利用大模型进行纠错
print('='*20,'自动格式纠错','='*20)
new_parser = OutputFixingParser.from_llm(parser=pydantic_parser, llm=model)
bad_output = output.content.replace("31","三十一")
print("PydanticOutputParser:")
try:
pydantic_parser.invoke(bad_output)
except Exception as e:
print(f'pydantic_parser_error:{e.__class__.__name__}:{e.args[0]}')
print("OutputFixingParser:")
print(new_parser.invoke(bad_output))
输出:
PydanticOutputParser:
pydantic_parser_error:OutputParserException:Invalid json output:
{
"year": 2025,
"month": 5,
"day": 三十一,
"era": "AD"
}
For troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/OUTPUT_PARSING_FAILURE
OutputFixingParser:
year=2025 month=5 day=31 era='AD'
Function Calling
引入依赖并声明要用的模型
import json
import os
import traceback
from langchain.chat_models import init_chat_model
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.tools import tool
from dotenv import load_dotenv
load_dotenv()
model = init_chat_model(model='deepseek-chat', model_provider='deepseek')
定义tools
我们使用BOCHA_API 定义一个联网搜索工具
@tool
def web_search(query:str):
"""
用于在互联网上搜索信息
Args:
query:用于查询的信息
"""
try:
import requests
headers = {
'Content-Type': 'application/json', # Remove space
'Authorization': f'Bearer {os.environ["BOCHAAI_SEARCH_API_KEY"]}'
}
payload = json.dumps({
"query": query,
"freshness": "noLimit",
"summary": True,
"count": 10
})
# 使用搜索API, 参考文档 https://bocha-ai.feishu.cn/wiki/RXEOw02rFiwzGSkd9mUcqoeAnNK
response = requests.post("https://api.bochaai.com/v1/web-search", headers=headers, data=payload)
# Check status code before parsing JSON
if response.status_code != 200:
return f"搜索失败,状态码: {response.status_code}"
# Only parse JSON if status code is 200
try:
json_data = response.json()
print(f"bochaai search response: {response.status_code}")
return str(json_data)
except json.JSONDecodeError as e:
print(f"搜索结果JSON解析失败:{traceback.format_exc()}")
return f"搜索结果JSON解析失败: {str(e)}"
except Exception as e:
print(f"执行网络搜索时出错:{traceback.format_exc()}")
return f"执行网络搜索时出错: {str(e)}"
将Function绑定给大模型
# 将functions绑定给大模型
llm_with_tools = model.bind_tools([web_search])
输出大模型的选择结果
query = "帮我查一下什么是稳定币"
messages = [SystemMessage('你是一名擅长搜集金融投资信息的助手'),HumanMessage(query)]
# 输出大模型选择的function
invoke_res = llm_with_tools.invoke(messages)
print(json.dumps(invoke_res.tool_calls, indent=4,ensure_ascii=False))
输出:
[ { "name": "web_search", "args": { "query": "什么是稳定币" }, "id": "call_0_d37fe3c9-8607-44aa-bedf-6c3fb98c994a", "type": "tool_call" }]
调用function,将结果回传给大模型
messages.append(invoke_res)
available_tools = {"web_search": web_search}
print(type(web_search))
for tool_call in invoke_res.tool_calls:
# 找到要调用的function,function已经通过langchain的tool装饰器变成了
# <class 'langchain_core.tools.structured.StructuredTool'>对象
selected_tool = available_tools[tool_call["name"].lower()]
# invoke接口会调用大模型选择的方法
tool_msg = selected_tool.invoke(tool_call)
# 将调用结果存入上下文
messages.append(tool_msg)
# 将带有调用结果的上下文传给大模型,生成最终结果
new_output = llm_with_tools.invoke(messages)
for message in messages:
print(json.dumps(message.model_dump(), indent=4, ensure_ascii=False))
print(new_output.content)
输出:
bochaai search response: 200
{
"content": "你是一名擅长搜集金融投资信息的助手",
"additional_kwargs": {},
"response_metadata": {},
"type": "system",
"name": null,
"id": null
}
{
"content": "帮我查一下什么是稳定币",
"additional_kwargs": {},
"response_metadata": {},
"type": "human",
"name": null,
"id": null,
"example": false
}
{
"content": "",
"additional_kwargs": {
"tool_calls": [
{
"id": "call_0_d3f80c2e-fd06-4695-a2ea-3c9c3bf7ad83",
"function": {
"arguments": "{\"query\":\"什么是稳定币\"}",
"name": "web_search"
},
"type": "function",
"index": 0
}
],
"refusal": null
},
"response_metadata": {
"token_usage": {
"completion_tokens": 23,
"prompt_tokens": 119,
"total_tokens": 142,
"completion_tokens_details": null,
"prompt_tokens_details": {
"audio_tokens": null,
"cached_tokens": 64
},
"prompt_cache_hit_tokens": 64,
"prompt_cache_miss_tokens": 55
},
"model_name": "deepseek-chat",
"system_fingerprint": "fp_8802369eaa_prod0425fp8",
"id": "ce0c7f58-9ae4-477c-9239-2b89eaf780c0",
"service_tier": null,
"finish_reason": "tool_calls",
"logprobs": null
},
"type": "ai",
"name": null,
"id": "run--9c8ec107-8364-4a86-91a9-03f970e9cebf-0",
"example": false,
"tool_calls": [
{
"name": "web_search",
"args": {
"query": "什么是稳定币"
},
"id": "call_0_d3f80c2e-fd06-4695-a2ea-3c9c3bf7ad83",
"type": "tool_call"
}
],
"invalid_tool_calls": [],
"usage_metadata": {
"input_tokens": 119,
"output_tokens": 23,
"total_tokens": 142,
"input_token_details": {
"cache_read": 64
},
"output_token_details": {}
}
}
{
"content": "{'code': 200, 'log_id': '0aafaa73d4666297', 'msg': None, 'data': {'_type': 'SearchResponse', 'queryContext': {'originalQuery': '什么是稳定币'}, 'webPages': {'webSearchUrl': 'https://bochaai.com/search?q=什么是稳定币', 'totalEstimatedMatches': None, 'value': [{'id': 'https://api.bochaai.com/v1/#WebPages.0', 'name': '你们都错了,比特币才是稳定币 - 今日头条', 'url': 'https://www.toutiao.com/article/6941948257027326494/', 'displayUrl': 'https://www.toutiao.com/article/6941948257027326494/', 'snippet': '什么是稳定币?稳定币是以美元计价的加密货币。所该得到的好处是,随着美元(或另一种法定货币)的稳定,你可以便于(快速结算,较少的监管障碍等)获得加密货币。在交易所之间进行套利更加方便,例如,允许交易所之', 'summary': '什么是稳定币?稳定币是以美元计价的加密货币。所该得到的好处是,随着美元(或另一种法定货币)的稳定,你可以便于(快速结算,较少的监管障碍等)获得加密货币。在交易所之间进行套利更加方便,例如,允许交易所之间更加稳定的比特币价格。', 'siteName': '今日头条', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.toutiao.com/article/6941948257027326494/', 'datePublished': '2021-03-21T11:55:00+08:00', 'dateLastCrawled': '2021-03-21T11:55:00Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.1', 'name': '稳定币记录-CSDN博客', 'url': 'https://blog.csdn.net/GalaxySpaceX/article/details/135341952', 'displayUrl': 'https://blog.csdn.net/GalaxySpaceX/article/details/135341952', 'snippet': '版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 稳定币: 稳定币(Stablecoin)是一种加密货币,其设计目的是维持相对稳定的价值,通常与某种', 'summary': '版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 稳定币: 稳定币(Stablecoin)是一种加密货币,其设计目的是维持相对稳定的价值,通常与某种法定货币(如美元、欧元)或其他资产(如黄金)挂钩。稳定币通过将加密货币与相应的资产进行储备或其他机制来实现价值的稳定性。 稳定币的主要目标是解决加密货币市场的价格波动性。由于比特币和其他加密货币的价格波动较大,稳定币提供了一种在加密货币领域中进行交易和储值的选择,同时减少了价格波动带来的风险。 稳定币的工作原理可以有不同的方式: 储备型稳定币:这类稳定币通过将一定数量的法定货币或其他资产作为储备进行存款,并发行等值的稳定币。例如,以美元储备的稳定币可以每个稳定币的价值等于1美元。 算法型稳定币:这类稳定币使用算法和机制来维持其价值稳定。例如,通过供应和需求的调节来增减稳定币的供应量,以保持稳定币价值与法定货币挂钩。 混合型稳定币:这类稳定币采用了储备型和算法型稳定币的组合方式,以实现价值稳定性。 稳定币在加密货币市场中广泛应用,用于交易、支付和储存价值。它们为用户提供了一种更稳定的加密货币选择,尤其在需要避免波动风险的场景中,如跨境支付、存款、借贷等。然而,稳定币并非完全没有风险。 储备型稳定币: 主要的存储型稳定币如下: Tether (USDT):Tether是最早和最广泛使用的储备型稳定币之一。每个USDT据称由一定数量的美元储备支持,以实现1:1的价值关系。 USD Coin (USDC):USD Coin是由中心化金融机构发行的储备型稳定币,每个USDC也声称由等值的美元储备支持。 TrueUSD (TUSD):TrueUSD是另一种储备型稳定币,由美国托管银行持有等值的美元储备。每个TUSD声称与1美元等值。 Dai (DAI):Dai是以太坊区块链上的去中心化储备', 'siteName': 'CSDN', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://blog.csdn.net/GalaxySpaceX/article/details/135341952', 'datePublished': '2024-05-09T11:11:14+08:00', 'dateLastCrawled': '2024-05-09T11:11:14Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.2', 'name': '我的理解,稳定币只能是数字货币。之所以称之为稳定币..._淘股吧', 'url': 'https://www.taoguba.com.cn/dialog/1ykGypdQCFH_38546762_1', 'displayUrl': 'https://www.taoguba.com.cn/dialog/1ykGypdQCFH_38546762_1', 'snippet': '上 页 下 页 意见 反馈 微信 订阅 跟帖讨论 关联的话题 全部 是的,稳定币是一种加密货币被贴上“稳定”标签后的数字货币。稳定币就是数字货币。 淘股吧 到 页 末页 下一页 上一页 首页 共 1 ', 'summary': '上 页 下 页 意见 反馈 微信 订阅 跟帖讨论 关联的话题 全部 是的,稳定币是一种加密货币被贴上“稳定”标签后的数字货币。稳定币就是数字货币。 淘股吧 到 页 末页 下一页 上一页 首页 共 1 /1页 发布回帖 您需要登录后才可以回帖 被加油 +关注 发红包 红包个数 个 红包说明 单个红包积分 *未领取的红包将在24小时后退回 领取条件 无任务 点赞跟帖 评论跟帖 塞进红包 取消红包', 'siteName': '淘股吧', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.taoguba.com.cn/dialog/1ykGypdQCFH_38546762_1', 'datePublished': '2019-10-19T17:44:00+08:00', 'dateLastCrawled': '2019-10-19T17:44:00Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.3', 'name': 'Stable Coin 稳定币 是什么? - 区块链网', 'url': 'https://www.qklw.com/news/20230627/312534.html', 'displayUrl': 'https://www.qklw.com/news/20230627/312534.html', 'snippet': 'Toggle navigation Stablecoin是一种数字货币,它的特点是可以稳定保持其市值,而不受市场波动影响,借助有效的宏观经济或者技术措施以及社会支持,保持价格与其他货币的价格相等,或者', 'summary': 'Toggle navigation Stablecoin是一种数字货币,它的特点是可以稳定保持其市值,而不受市场波动影响,借助有效的宏观经济或者技术措施以及社会支持,保持价格与其他货币的价格相等,或者保持一个具有衍生价值的价格水平,以此达到稳定币的价值模式。 Stablecoin的基本宗旨是管理和稳定数字货币的价格,而不受任何外部因素的影响(当然也不包括显性恶意操纵),让它们在不断变化的全球金融环境中安全运行。 Stablecoin通常被分为三类:兑换制稳定币、伪稳定币和备付制稳定币。 兑换制稳定币是将稳定币与实体资产(如美元)的价格挂钩,其中货币价格受到一个或多个外部主权货币(如美元、日元)支持,保持一定的稳定性,而伪稳定币则与加密数字货币,如比特币或以太坊进行双向抵押让市场有更好的内在支持,以此达到币价的持续平衡和稳定。 备付制稳定币是运用法定货币来备付稳定币,它与法定货币之间存在兑换关系,最核心的是支持者下注了足够的法定货币到银行或其他金融机构,以保证市场价格不动摇,其内在价值也会被高程稳定。 总结来说,Stablecoin是一种投资工具,它将减少市场波动的风险,让它们的价值极具可靠性,可以被使用在不同的应用领域,提供投资者一种可以更加安全、舒心的投资渠道。 它具有衡量价格、资金流动和有效选择资产的优势,从而实现安全及稳定的理财效果。', 'siteName': '区块链网', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.qklw.com/news/20230627/312534.html', 'datePublished': '2023-06-27T04:15:56+08:00', 'dateLastCrawled': '2023-06-27T04:15:56Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.4', 'name': 'ODAILY-专业的区块链新闻资讯平台_区块链技术应用_元宇宙_web3', 'url': 'http://www.odaily.news/secondTag/5cce51cce716f', 'displayUrl': 'http://www.odaily.news/secondTag/5cce51cce716f', 'snippet': '稳定币(StableCoins)是中心化资产抵押发行代币。比如,USDT 作为较早发行的稳定币[来源请求],其与美元挂钩。bitUSD、bitEUR和bitCNY作为最早发行的抵押稳定币(锚定币、锚定', 'summary': '稳定币(StableCoins)是中心化资产抵押发行代币。比如,USDT 作为较早发行的稳定币[来源请求],其与美元挂钩。bitUSD、bitEUR和bitCNY作为最早发行的抵押稳定币(锚定币、锚定资产)。', 'siteName': 'ODAILY', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=http://www.odaily.news/secondTag/5cce51cce716f', 'datePublished': '2025-02-07T23:55:51+08:00', 'dateLastCrawled': '2025-02-07T23:55:51Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.5', 'name': '稳定币:数字世界与真实世界的桥梁-今日头条', 'url': 'https://www.toutiao.com/article/6920530084151755272/', 'displayUrl': 'https://www.toutiao.com/article/6920530084151755272/', 'snippet': '什么是稳定币?在资产价格剧烈波动的加密货币市场中,如何规避巨大价格波动导致资产贬损非常重要。这种重要性不仅限于加密货币交易者,要使得波动可以让接受加密货币支付的B端C端、以及区块链金融应用场景运营机构', 'summary': '什么是稳定币?在资产价格剧烈波动的加密货币市场中,如何规避巨大价格波动导致资产贬损非常重要。这种重要性不仅限于加密货币交易者,要使得波动可以让接受加密货币支付的B端C端、以及区块链金融应用场景运营机构所能接受。在此背景下,稳定币概念应运而生', 'siteName': '今日头条', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.toutiao.com/article/6920530084151755272/', 'datePublished': '2021-01-23T06:00:00+08:00', 'dateLastCrawled': '2021-01-23T06:00:00Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.6', 'name': '稳定币是什么币(稳定币是什么币种)-欧意教程网', 'url': 'http://www.jiutiaowen.com/a/5039.html', 'displayUrl': 'http://www.jiutiaowen.com/a/5039.html', 'snippet': '由欧意教程网小编分享,什么是稳定币?为了应对高波动性并增加对更大社区的参与,加密项目正在将价格稳定性直接纳入其数字资产,从而在稳定的货币中带来全新的加密货币子集。稳定币旨在成为无波动(或接近波动)的代', 'summary': '由欧意教程网小编分享,什么是稳定币?为了应对高波动性并增加对更大社区的参与,加密项目正在将价格稳定性直接纳入其数字资产,从而在稳定的货币中带来全新的加密货币子集。稳定币旨在成为无波动(或接近波动)的代币,与美元等法定货币相比,它们的价格不会波动。但也不代表稳定币就没有风险,具体原因请往下看。 一、什么是稳定币? 稳定币是一种加密货币,其价值与另一种“稳定”资产挂钩,如美元、欧元或黄金。本质上,稳定的曲线是不会波动的。另一方面,大多数流行的加密货币是不稳定的。投资者不能依赖它们进行更长期的交易。例如,一个以太的价值今天可能足以买一块糖,但同样的以太可能相当于三个月内一所房子的价格。如果该值减小,也可以反过来。这意味着不稳定的加密货币可能不是最好的支付手段 稳定币通过降低这种波动性提供了一种替代选择,使它们更适合常规使用。无边界支付、低交易费用、自我监管,以及传统法定货币稳定性与数字资产灵活性的结合,使得稳定货币颇具吸引力。 另外,像大家熟知的比特币(BTC)不是一种稳定的货币。因为,一个比特币今天一个价值,明天又有一个价值。稳定货币旨在通过法定货币或黄金等其他资产保持稳定的价值。相比之下,比特币的价值不稳定。 二、稳定币的风险是什么? 1、脱钩:稳定货币旨在保持由法定货币支持的恒定价值。脱离标记的稳定硬币指的是偏离其预期值的稳定硬币。露娜就是这方面最大的例子。\\u200d 2、监管风险:稳定的货币尽管与法定货币挂钩,但仍然是分散的资产,容易受到监管风险的影响。例如,脸书的母公司Meta最初计划在2020年推出自己的稳定币,名为Diem。然而,由于金融监管机构的担忧和反对,该公司取消了发布。 3、缺乏透明度:理想情况下,外汇储备应该用现金或其他安全投资来支持稳定的货币。然而,在没有任何监督的情况下,很难知道稳定币是否得到了他们声称的那么多支持。缺乏支持可能会导致类似TerraUSD崩溃的', 'siteName': 'www.jiutiaowen.com', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=http://www.jiutiaowen.com/a/5039.html', 'datePublished': '2023-07-13T19:37:03+08:00', 'dateLastCrawled': '2023-07-13T19:37:03Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.7', 'name': '什么是稳定币_稳定币是什么-web3.0-PHP中文网', 'url': 'https://www.php.cn/faq/854437.html', 'displayUrl': 'https://www.php.cn/faq/854437.html', 'snippet': '稳定币是一种价值与特定资产挂钩的加密货币,通常与法定货币挂钩,其价值相对稳定。稳定币主要包括法定货币支持、加密资产支持和算法稳定币。它们用途广泛,包括价值储存、支付、对冲和参与 DeFi 活动。稳定币', 'summary': '稳定币是一种价值与特定资产挂钩的加密货币,通常与法定货币挂钩,其价值相对稳定。稳定币主要包括法定货币支持、加密资产支持和算法稳定币。它们用途广泛,包括价值储存、支付、对冲和参与 DeFi 活动。稳定币市场不断发展,预计未来将继续增长,受需求增加、DeFi 发展和监管变化等因素推动。 什么是 稳定币 ? 稳定币是一种设计为其价值与特定资产(通常是法定货币)挂钩的加密货币。这意味着与比特币等波动性加密货币不同,稳定币的价值相对稳定,不会大幅上涨或下跌。 稳定币的类型 稳定币有多种类型,但最常见的是: 法定货币支持的稳定币: 由法定货币(如美元、欧元或日元)的储备支持。 加密资产支持的稳定币: 由其他加密资产的储备支持,如比特币或以太坊。 算法稳定币: 不依赖于外部分别储备,而是使用算法来维持其与挂钩资产的价值挂钩。 稳定币的用途 稳定币具有广泛的用途,包括: 价值储存: 稳定币可以作为价值的储存方式,因为它们的价值相对稳定。 支付: 稳定币可以用于支付,因为它们比其他加密货币更易于使用和交易。 对冲: 稳定币可用于对冲加密货币的波动性。 DeFi: 稳定币在去中心化金融(DeFi)中扮演着重要角色,可用于借贷、收益耕作和流动性挖矿等应用程序。 稳定币的前景 稳定币是加密货币市场不断发展的一部分,预计未来几年它们的受欢迎程度将继续增长。以下因素推动了稳定币的发展: 对稳定加密资产的需求不断增长。 DeFi 的发展,这需要稳定币。 全球监管环境的变化,这可能会使稳定币在传统金融领域获得更广泛的接受。 以上就是什么是稳定币?的详细内容,更多请关注php中文网其它相关文章! 每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。 下载 相关标签: 来源:kdj网 收', 'siteName': 'php中文网', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.php.cn/faq/854437.html', 'datePublished': '2024-07-03T14:13:59+08:00', 'dateLastCrawled': '2024-07-03T14:13:59Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.8', 'name': '稳定币是什么意思?-其他理财知识问答-我爱卡', 'url': 'https://www.51credit.com/wenda/832876.html', 'displayUrl': 'https://www.51credit.com/wenda/832876.html', 'snippet': '稳定币就是和某个标的保持稳定兑换比例的加密货币,稳定是指这种货币在一段时间内的价格不会有大幅波动,价格相对较为稳定。稳定币包括USDT、TUSD、GUSD、BitUSD、BitCNY等,是区块链技术诞', 'summary': '稳定币就是和某个标的保持稳定兑换比例的加密货币,稳定是指这种货币在一段时间内的价格不会有大幅波动,价格相对较为稳定。稳定币包括USDT、TUSD、GUSD、BitUSD、BitCNY等,是区块链技术诞生后才有的一个货币类别。稳定币的优点多数在于加密领域,在这个领域中稳定币充当了价值尺度的功能,在行情下跌时还能避险。', 'siteName': 'www.51credit.com', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://www.51credit.com/wenda/832876.html', 'datePublished': '2019-11-05T11:33:20+08:00', 'dateLastCrawled': '2019-11-05T11:33:20Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}, {'id': 'https://api.bochaai.com/v1/#WebPages.9', 'name': '什么是稳定币?', 'url': 'https://m.528btc.com/bk/168692745191266.html', 'displayUrl': 'https://m.528btc.com/bk/168692745191266.html', 'snippet': '摘要\\n 介绍随着加密货币市场的日益成熟,越来越多的关注点被放在了加密货币的价值波动上。在这种情况下,稳定币应运而生。什么是稳定币?稳定币是一种加密货币,以保持其价值稳定为目标。与其他加密货币不同的是,', 'summary': '摘要\\n 介绍随着加密货币市场的日益成熟,越来越多的关注点被放在了加密货币的价值波动上。在这种情况下,稳定币应运而生。什么是稳定币?稳定币是一种加密货币,以保持其价值稳定为目标。与其他加密货币不同的是,稳定币具有相对固定的价值,这是 。 \\n币界网报道:\\n介绍\\n随着加密货币市场的日益成熟,越来越多的关注点被放在了加密货币的价值波动上。在这种情况下,稳定币应运而生。\\n什么是稳定币?\\n稳定币是一种加密货币,以保持其价值稳定为目标。与其他加密货币不同的是,稳定币具有相对固定的价值,这是通过与其他资产流通节点锚定而实现的。\\n稳定币如何工作?\\n稳定币的工作原理很简单,一般情况下每一个稳定币都是“锚定”某个资产的,比如人民币,美元,黄金等等,也有的是锚定多个资产的。当稳定币的价格上涨时,就会自动发行更多的稳定币来吸收交易市场的需求。反之,当稳定币价格下跌时,收回已发行的稳定币,达到稳定稳定币价格的目的。\\n稳定币的优点\\n首先,稳定币的最大优点就是价格稳定,这是加密货币市场缺少的特性之一。\\n其次,稳定币大多可以避免市场波动对交易所带来的影响,也为用户提供了一种避险工具。\\n另外,稳定币给了许多投资者和交易所更多的承诺和透明性,它们提供了对现实中的价格和价值的锚定。也因为稳定币具有其他主要加密货币类似的特性,如不可篡改性和加密传输,因此稳定币提供了一种更好的透明性和机会。\\n常见稳定币\\n目前较为常用的稳定币主要有以下几种:\\nUSDT: 是第一个稳定币,使用Bitfinex和Tether公司创建,锚定美元。\\nUSDC: 由Coinbase成立的圆形金融推出,锚定美元,其标志以“O”命名,也被称为“美元角”。\\nTUSD: 锚定美元,由发行托管服务的TrustToken公司发行。\\nGUSD: 由Gemini公司发行的稳定币,锚定美元,与美元一一对应,目的是提高透明度和账户资金的安全性。\\nPAX: 由纽约P', 'siteName': '币界网', 'siteIcon': 'https://th.bochaai.com/favicon?domain_url=https://m.528btc.com/bk/168692745191266.html', 'datePublished': '2025-01-08T21:26:59+08:00', 'dateLastCrawled': '2025-01-08T21:26:59Z', 'cachedPageUrl': None, 'language': None, 'isFamilyFriendly': None, 'isNavigational': None}], 'someResultsRemoved': True}, 'images': {'id': None, 'readLink': None, 'webSearchUrl': None, 'value': [{'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://p3-sign.toutiaoimg.com/pgc-image/2255fc2241be4d35bc3ac583190e12d6~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1737189546&x-signature=OS70PmsY5lEimp3j5GktIi9OqGM%3D', 'datePublished': None, 'contentUrl': 'https://p3-sign.toutiaoimg.com/pgc-image/2255fc2241be4d35bc3ac583190e12d6~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1737189546&x-signature=OS70PmsY5lEimp3j5GktIi9OqGM%3D', 'hostPageUrl': 'https://www.toutiao.com/article/6941948257027326494/', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://www.toutiao.com/article/6941948257027326494/', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://img-blog.csdnimg.cn/direct/54599b6897f2400ab01d1f91fb8c5972.png', 'datePublished': None, 'contentUrl': 'https://img-blog.csdnimg.cn/direct/54599b6897f2400ab01d1f91fb8c5972.png', 'hostPageUrl': 'https://blog.csdn.net/GalaxySpaceX/article/details/135341952', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://blog.csdn.net/GalaxySpaceX/article/details/135341952', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://www.qklw.com/static/GPTimg/blockchain247.jpg', 'datePublished': None, 'contentUrl': 'https://www.qklw.com/static/GPTimg/blockchain247.jpg', 'hostPageUrl': 'https://www.qklw.com/news/20230627/312534.html', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://www.qklw.com/news/20230627/312534.html', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://p3-sign.toutiaoimg.com/pgc-image/22f7b768ed5c4d58814c99020ab28412~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729067532&x-signature=ITOAQ%2BWGkuWRTpOF1414U4klvzI%3D', 'datePublished': None, 'contentUrl': 'https://p3-sign.toutiaoimg.com/pgc-image/22f7b768ed5c4d58814c99020ab28412~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729067532&x-signature=ITOAQ%2BWGkuWRTpOF1414U4klvzI%3D', 'hostPageUrl': 'https://www.toutiao.com/article/6920530084151755272/', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://www.toutiao.com/article/6920530084151755272/', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'http://www.jiutiaowen.com/d/file/pic/2307/r0u1jlmk04b.jpg', 'datePublished': None, 'contentUrl': 'http://www.jiutiaowen.com/d/file/pic/2307/r0u1jlmk04b.jpg', 'hostPageUrl': 'http://www.jiutiaowen.com/a/5039.html', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'http://www.jiutiaowen.com/a/5039.html', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://img.php.cn/upload/article/000/000/084/6684ec167eedd972.jpg', 'datePublished': None, 'contentUrl': 'https://img.php.cn/upload/article/000/000/084/6684ec167eedd972.jpg', 'hostPageUrl': 'https://www.php.cn/faq/854437.html', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://www.php.cn/faq/854437.html', 'width': 0, 'height': 0, 'thumbnail': None}, {'webSearchUrl': None, 'name': None, 'thumbnailUrl': 'https://www.528btc.com/d/file/2023-06-07/424c6cd19f89df9ab166c10f8eb0f5e7.jpg', 'datePublished': None, 'contentUrl': 'https://www.528btc.com/d/file/2023-06-07/424c6cd19f89df9ab166c10f8eb0f5e7.jpg', 'hostPageUrl': 'https://m.528btc.com/bk/168692745191266.html', 'contentSize': None, 'encodingFormat': None, 'hostPageDisplayUrl': 'https://m.528btc.com/bk/168692745191266.html', 'width': 600, 'height': 336, 'thumbnail': None}], 'isFamilyFriendly': None}, 'videos': None}}",
"additional_kwargs": {},
"response_metadata": {},
"type": "tool",
"name": "web_search",
"id": null,
"tool_call_id": "call_0_d3f80c2e-fd06-4695-a2ea-3c9c3bf7ad83",
"artifact": null,
"status": "success"
}
稳定币(Stablecoin)是一种加密货币,其设计目的是通过与某种资产(如法定货币、黄金或其他加密货币)挂钩,保持相对稳定的价值。以下是关于稳定币的一些关键点:
### 1. **稳定币的特点**
- **价格稳定**:与比特币等其他加密货币不同,稳定币的价值波动较小,通常与美元等法定货币保持1:1的兑换比例。
- **用途广泛**:可用于交易、支付、储蓄、对冲市场波动等。
### 2. **稳定币的类型**
- **法定货币支持的稳定币**:如USDT(泰达币)、USDC(美元币),由美元等法定货币储备支持。
- **加密资产支持的稳定币**:如DAI,由其他加密货币(如以太坊)抵押支持。
- **算法稳定币**:通过算法调节供应量来维持价格稳定,如TerraUSD(已失败)。
### 3. **稳定币的优势**
- **降低波动风险**:适合需要稳定价值的场景,如跨境支付、DeFi(去中心化金融)应用。
- **快速结算**:相比传统银行转账,稳定币交易更快捷。
- **透明度**:部分稳定币(如USDC)提供定期审计,确保储备充足。
### 4. **常见的稳定币**
- **USDT**:最早的稳定币之一,由Tether公司发行。
- **USDC**:由Circle和Coinbase支持,透明度较高。
- **DAI**:去中心化稳定币,由MakerDAO管理。
### 5. **风险与挑战**
- **脱钩风险**:如果储备不足或市场恐慌,稳定币可能无法维持与挂钩资产的1:1比例。
- **监管风险**:各国对稳定币的监管政策可能影响其发展。
- **透明度问题**:部分稳定币(如USDT)因储备透明度不足而受到质疑。
### 总结
稳定币是加密货币市场中的重要工具,通过提供价格稳定性,为投资者和用户提供了更可靠的交易和储蓄选择。然而,其风险和监管问题仍需关注。
如果需要更详细的信息,可以参考相关文章或具体案例。