源码实现——借助于LangChain少量代码即可在手机上定制一个智能助理 🤖

要借助于iOS的Siri定制个人助理,需要 1)基于LangChain实现简单的工具交互能力,包括联网能力;2)基于iOS的shortcuts定制一个助理。

1. LangChain的代码实现

import os
import ray
from ray import serve
from fastapi import FastAPI, Request

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.llms import OpenAI
from langchain.agents import Tool
from langchain.memory import ConversationBufferMemory
from langchain.chat_models import ChatOpenAI
from langchain.utilities import SerpAPIWrapper
from langchain.agents import initialize_agent
from langchain.tools.python.tool import PythonREPLTool


app = FastAPI()

@serve.deployment(route_prefix="/v1")
@serve.ingress(app)
class MyFastAPIDeployment5:
    def __init__(self) -> None:
        os.environ["OPENAI_API_KEY"] = "你的OpenAIKEY"
        # 这里使用aido代理绕过GFW(放心,秘钥保证安全)
        os.environ["OPENAI_API_BASE"] = "https://proxy.aido.ai/v1"
        # 使用SerpAPI对接搜索引擎,注册链接:https://serpapi.com/dashboard
        os.environ["SERPAPI_API_KEY"] = "你的SerpAPI的key"
        search = SerpAPIWrapper()
        
        llm=ChatOpenAI(temperature=0)

        tools = [
            Tool(
            name = "Current Search",
            func=search.run,
            description="useful for when you need to answer questions about current events or the current state of the world. the input to this should be a single search term."
            ),
            PythonREPLTool()
        ]
        
        self.memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
        self.agent = initialize_agent(tools, llm, agent="chat-conversational-react-description", verbose=True, memory = self.memory)
        
    @app.post("/")
    async def root(self, request: Request):
        if request is None:
            return "Hello, world!"
        body = await request.json()
        self.memory.clear()
        return self.agent.run(body.get("q"))
    
serve.run(MyFastAPIDeployment5.bind())

python依赖安装ray、langchain、fastapi

# ray start --head
# python xxx.py

2. 定制iOS Shortcuts

可基于我这个来做改造:快捷指令

要在手机上定制一个智能助理,您可以使用LangChain来实现。LangChain可以帮助您解析GitHub代码仓库并生成新代码。

首先,您需要安装和设置LangChain环境。通过按照LangChain的安装和设置指南进行操作,您可以将LangChain配置在您的手机上。

一旦您完成了安装和设置,您可以开始构建您的语言模型应用程序。

LangChain提供了许多模块供您使用,您可以选择组合这些模块来创建复杂的应用程序,或者单独使用它们来构建简单的应用程序。

例如,您可以使用LangChain的VectorStores模块来存储和检索数据,使用Conversational RetrieverChain模块构建对话系统,并结合GPT-4模块来生成自然语言响应。

您可以使用LangChain中的模块和功能来实现您的智能助理应用程序,并根据需要进行定制。具体的代码实现取决于您的应用程序需求和要实现的功能。

由于没有提供具体的实现细节,我无法给出具体的代码示例。但是,您可以查阅LangChain的文档页面,了解更多关于如何使用LangChain创建语言模型应用程序的信息。