RobotGPT LLM 支持Langchain
Project description
RobotGPT LLM
RobotGPT 支持langchain
Quick Install
pip install robotgpt
使用样例
agent块式输出:
from robotgpt.robotgpt import RobotGPTLLM
from langchain.agents import AgentType, initialize_agent
from langchain.tools import BaseTool, StructuredTool, Tool, tool
class CoffeeMaking:
def inference(self):
return "Making coffee requires a coffee machine, coffee beans, sugar packets, and paper cups."
class ImageObjectDetect:
def inference(self, obj):
if obj == "sugar packets":
return "No "+obj
return "There is a "+obj
class AskCustomer:
def inference(self,):
return "Hello! We don’t have any sugar packets at the moment. Do you need to add milk?"
robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask" #流式智能问答统一适配服务,从用户控制台购买https://console.openai.iamidata.com/api/apiList
model_name = "openai/gpt-3.5-turbo-0613"
robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication
llm = RobotGPTLLM(temperature=0, model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url)
imgObjDetect = ImageObjectDetect()
tools = [
Tool.from_function(
func=CoffeeMaking.inference,
name="Coffee making",
description="useful for when the user needs to make coffee."
# coroutine= ... <- you can specify an async method if desired as well
),
Tool.from_function(
func=imgObjDetect.inference,
name="Determine whether the object exists in the picture",
description="useful for when you want to know what is inside the photo. receives object as input. The input to this tool should be a string, representing the object. "
# coroutine= ... <- you can specify an async method if desired as well
),
Tool.from_function(
func=AskCustomer.inference,
name="Ask the customer whether to add milk",
description="useful for when making coffee without sugar packets, you can ask the customer whether you need to add milk. The input to this tool should be a bool, represents whether there is a sugar packet."
# coroutine= ... <- you can specify an async method if desired as well
),
]
agent = initialize_agent(
tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
agent.run(
"给我做杯咖啡"
)
块式输出:
from robotgpt.robotgpt import RobotGPTLLM from langchain.schema import HumanMessage robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask" #流式智能问答统一适配服务 model_name = "openai/gpt-3.5-turbo-0613" robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication llm = RobotGPTLLM(temperature=0, model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url) resp = llm([HumanMessage(content="Write me a song about sparkling water.")]) print(resp)
流式输出:
from langchain.callbacks import StreamingStdOutCallbackHandler from langchain.schema import HumanMessage from robotgpt.robotgpt import RobotGPTLLM robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask" #流式智能问答统一适配服务 model_name = "openai/gpt-3.5-turbo-0613" robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication chat = RobotGPTLLM(streaming=True, callbacks=[StreamingStdOutCallbackHandler()], temperature=0,model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url) resp = chat([HumanMessage(content="Write me a song about sparkling water.")]) print(resp)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
robotgpt-0.0.6.tar.gz
(19.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
robotgpt-0.0.6-py3-none-any.whl
(23.3 kB
view details)
File details
Details for the file robotgpt-0.0.6.tar.gz.
File metadata
- Download URL: robotgpt-0.0.6.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9791ce25166f1c10231dc38da5eff85dc2eb0ed5aa4bccdea966bf2f3b84ae8
|
|
| MD5 |
980a4441d1f76a7003601b7a813ed262
|
|
| BLAKE2b-256 |
499c9286299fea11412f90ca9e0abb67f6466bdceaccaa0bbf47d677cd2f25cb
|
File details
Details for the file robotgpt-0.0.6-py3-none-any.whl.
File metadata
- Download URL: robotgpt-0.0.6-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8153641001d27eb3dafef2253c8a7eba868110911277c57babfc67dc90a1e292
|
|
| MD5 |
6911fc35b0c9fffbde8f7ea771ea9d43
|
|
| BLAKE2b-256 |
c37bd9492a638479bb4cf46b248a07db9aabc9d81d835e713a6141e12ed79514
|