Bittensor
Bittensor 是一个类似于比特币的挖矿网络,它包含了内置的激励机制,旨在鼓励矿工贡献计算能力和知识。
NIBittensorLLM
由 Neural Internet 开发,由Bittensor
提供支持。
这个LLM展示了去中心化AI的真正潜力,通过从
Bittensor协议
中为您提供最佳响应,该协议由各种AI模型组成,如OpenAI
、LLaMA2
等。
用户可以在Validator Endpoint Frontend上查看他们的日志、请求和API密钥。然而,目前禁止更改配置;否则,用户的查询将被阻止。
如果您遇到任何困难或有任何问题,请随时通过GitHub、Discord联系我们的开发者,或加入我们的Discord服务器以获取最新更新和查询Neural Internet。
NIBittensorLLM的不同参数和响应处理
import json
from pprint import pprint
from langchain.globals import set_debug
from langchain_community.llms import NIBittensorLLM
set_debug(True)
# System parameter in NIBittensorLLM is optional but you can set whatever you want to perform with model
llm_sys = NIBittensorLLM(
system_prompt="Your task is to determine response based on user prompt.Explain me like I am technical lead of a project"
)
sys_resp = llm_sys(
"What is bittensor and What are the potential benefits of decentralized AI?"
)
print(f"Response provided by LLM with system prompt set is : {sys_resp}")
# The top_responses parameter can give multiple responses based on its parameter value
# This below code retrive top 10 miner's response all the response are in format of json
# Json response structure is
""" {
"choices": [
{"index": Bittensor's Metagraph index number,
"uid": Unique Identifier of a miner,
"responder_hotkey": Hotkey of a miner,
"message":{"role":"assistant","content": Contains actual response},
"response_ms": Time in millisecond required to fetch response from a miner}
]
} """
multi_response_llm = NIBittensorLLM(top_responses=10)
multi_resp = multi_response_llm.invoke("What is Neural Network Feeding Mechanism?")
json_multi_resp = json.loads(multi_resp)
pprint(json_multi_resp)
API Reference:set_debug | NIBittensorLLM
使用 NIBittensorLLM 与 LLMChain 和 PromptTemplate
from langchain.chains import LLMChain
from langchain.globals import set_debug
from langchain_community.llms import NIBittensorLLM
from langchain_core.prompts import PromptTemplate
set_debug(True)
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
# System parameter in NIBittensorLLM is optional but you can set whatever you want to perform with model
llm = NIBittensorLLM(
system_prompt="Your task is to determine response based on user prompt."
)
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "What is bittensor?"
llm_chain.run(question)
使用NIBittensorLLM与对话代理和Google搜索工具
from langchain_community.utilities import GoogleSearchAPIWrapper
from langchain_core.tools import Tool
search = GoogleSearchAPIWrapper()
tool = Tool(
name="Google Search",
description="Search Google for recent results.",
func=search.run,
)
API Reference:GoogleSearchAPIWrapper | Tool
from langchain import hub
from langchain.agents import (
AgentExecutor,
create_react_agent,
)
from langchain.memory import ConversationBufferMemory
from langchain_community.llms import NIBittensorLLM
tools = [tool]
prompt = hub.pull("hwchase17/react")
llm = NIBittensorLLM(
system_prompt="Your task is to determine a response based on user prompt"
)
memory = ConversationBufferMemory(memory_key="chat_history")
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, memory=memory)
response = agent_executor.invoke({"input": prompt})
相关
- LLM 概念指南
- LLM how-to guides