我们可以利用 OpenAI 的检测功能来记录使用基于消息 API 的推理服务器的调用,例如 vLLM、LMStudio 或 HuggingFace 的 TGI。

如果您已经在使用 LangChain 或 LlamaIndex 等其他集成,则不应配置此集成。这两个集成将记录相同的生成,并在 UI 中创建重复的步骤。

在项目目录中创建一个名为 app.py 的新的 Python 文件。该文件将包含 LLM 应用的主要逻辑。

app.py 中,导入必要的包,并定义一个函数来处理来自 UI 的传入消息。

from openai import AsyncOpenAI
import chainlit as cl
client = AsyncOpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
# Instrument the OpenAI client
cl.instrument_openai()

settings = {
    "model": "gpt-3.5-turbo",
    "temperature": 0,
    # ... more settings
}

@cl.on_message
async def on_message(message: cl.Message):
    response = await client.chat.completions.create(
        messages=[
            {
                "content": "You are a helpful bot, you always reply in Spanish",
                "role": "system"
            },
            {
                "content": message.content,
                "role": "user"
            }
        ],
        **settings
    )
    await cl.Message(content=response.choices[0].message.content).send()

在与 app.py 文件相同的文件夹中创建一个名为 .env 的文件。在 OPENAI_API_KEY 变量中添加您的 OpenAI API 密钥。您也可以选择在 LITERAL_API_KEY 中添加您的 Literal AI API 密钥。

要启动您的应用,打开终端并导航到包含 app.py 的目录。然后运行以下命令

chainlit run app.py -w

-w 标志告诉 Chainlit 启用自动重新加载,这样您每次更改应用时都无需重新启动服务器。您的聊天机器人 UI 现在应该可以通过 http://localhost:8000 访问了。