Bittensor
Bittensor 是一个类似于比特币的挖掘网络,其中包含旨在鼓励矿工贡献计算能力和知识的内置激励机制。
NIBittensorLLM
由 Neural Internet 开发,由Bittensor
提供支持。
这个 LLM 通过向您提供来自
Bittensor 协议
的最佳响应展示了去中心化人工智能的真正潜力,该协议包含各种人工智能模型,如OpenAI
、LLaMA2
等。
用户可以在 验证器端点前端 查看他们的日志、请求和 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 参考: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 参考: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})