API服务器#

内置的API服务器使您能够在本地机器上运行开源的大型语言模型(LLMs)。它通过API调用直接与您的模型进行交互,为测试和部署模型提供了一个强大的工具,而无需依赖外部云服务。通过在本地托管您自己的API服务器,您可以完全控制模型的行为,并保持数据的隐私和安全性。

理解API服务器#

API服务器是Anaconda AI Navigator的核心组件,使您能够通过API调用与本地下载的LLMs进行交互。

提示

悬停在工具提示上 以查看有关API服务器可配置参数的信息。

服务器地址#

您的本地服务器地址,通常称为 localhost127.0.0.1,是API服务器的默认地址。它是一个回环地址,意味着发送到此地址的任何网络通信都将保留在同一台机器内,确保您的数据安全和私密。这在开发应用程序时很常见。

如果您在办公室网络中工作,并希望使您的服务器在同一网络内的其他设备上可访问,您可以将服务器地址设置为您的机器的本地IP地址。这些通常是私有网络,意味着它们在公共互联网上不可路由。

将服务器地址设置为0.0.0.0会配置它接受所有网络接口上的连接。如果您的网络配置允许外部连接并将来自外部来源的流量路由到您的服务器,这可能会将您的服务器暴露在公共互联网上。

服务器端口#

服务器端口告诉内置的API服务器在哪里监听传入的流量(即在哪里监听并接收API请求)。

欲了解更多信息,请参阅Cloudflare关于端口的文章

API密钥#

建立一个API密钥,该密钥必须作为Authentication: Bearer令牌传递到向您的服务器发出的请求的头部。

Testing your API Key

测试API密钥:

  1. 从左侧导航中选择 API Server

  2. 在AI导航器中输入您的API密钥。

  3. 将模型加载到API服务器.

    注意

    你必须使用一个text-generation类型的模型。

  4. 打开 Anaconda 提示符(在 macOS/Linux 上为终端)并运行以下命令:

    # Replace <API_KEY> with the value you entered into AI Navigator
    curl --request POST ^
         --url http://localhost:8080/completion ^
         --header 'Authorization: Bearer <API_KEY>' ^
         --header "Content-Type: application/json" ^
         --data '{
             "prompt": "Hello, how are you?"
         }'
    
    # Replace <API_KEY> with the value you entered into AI Navigator
    curl --request POST `
         --url http://localhost:8080/completion `
         --header 'Authorization: Bearer <API_KEY>' `
         --header "Content-Type: application/json" `
         --data '{
             "prompt": "Hello, how are you?"
         }'
    
    # Replace <API_KEY> with the value you entered into AI Navigator
    curl --request POST \
         --url http://localhost:8080/completion \
         --header 'Authorization: Bearer <API_KEY>' \
         --header "Content-Type: application/json" \
         --data '{
             "prompt": "Hello, how are you?"
         }'
    

此命令将访问本地API服务器的/completion端点,以与您加载的模型进行交互。如果您收到响应,则您的API密钥正常工作。如果您收到401错误,请仔细检查您的命令并重试。

查看API服务器日志#

查看您的服务器日志:

  1. 打开Anaconda AI导航器。

  2. 从左侧导航中选择 API Server

The server logs provide information for the following metrics:
  • 系统信息 - 提供有关您系统硬件能力的信息。

  • 构建信息 - 提供有关您正在使用的API服务器版本的信息。

  • 聊天模板 - 显示为系统定义的消息序列。

  • 服务器监听 - 显示正在监听的服务器地址和端口号。

  • 槽位信息 - 显示服务器可用的槽位数量。每个槽位一次能够处理一个用户API请求。

  • 任务信息 - 显示处理并响应请求所花费的时间、请求任务ID以及执行任务的槽位等信息。

API服务器记录当前运行服务器的所有传入流量,并在服务器日志中显示相关信息。

一旦服务器停止,日志将保存到~/Library/Logs/ai-navigator,并带有时间戳的文件名(例如

_api-server.log
),因此您可以在必要时高效地定位特定的服务器日志。