llamaIndex连接openai报错,如何使用自定义模型

问题

在国内使用llamaIndex连接openai报错,如何使用自定义模型?

众所周知,openai对国内访问做了限制,所以连接报错。


解决

方法一:使用第三方中转到openai服务器

如果你就是想用openai的模型,用国内的第三方中转到openai服务器就好了。

llamaIndex线上访问模型,只支持openai的模型名,如果你想用其他厂商模型,请尝试修改源代码。

然后新建一个.env文件

OPENAI_BASE_URL = "https://sg.uiuiapi.com/v1"
OPENAI_API_KRY = "这儿替换你申请的key"

用python安装依赖的包:pip install dotenv openai

新建一个starter.py文件,运行后成功返回结果!

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from dotenv import load_dotenv
import openai
import os
# 加载当前目录.env文件存储的环境变量
load_dotenv()
# 变量赋值,以用于中转到openai
openai.api_key = os.environ["OPENAI_API_KEY"]
openai.base_url = os.environ["OPENAI_BASE_URL"]

# Define a simple calculator tool
def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b


# Create an agent workflow with our calculator tool
agent = FunctionAgent(
    tools=[multiply],
    llm=OpenAI(model="gpt-4o-mini"),
    system_prompt="You are a helpful assistant that can multiply two numbers.",
)


async def main():
    # Run the agent
    response = await agent.run("What is 1234 * 4567?")
    print(str(response))


# Run the agent
if __name__ == "__main__":
    asyncio.run(main())

方法二:本地用ollama部署llama、qwen

如果用ollama部署模型,就不需要设置环境变量。

新建文件:starter_ollama.py,运行成功

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.ollama import Ollama


# Define a simple calculator tool
def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b


# Create an agent workflow with our calculator tool
agent = FunctionAgent(
    tools=[multiply],
    llm=Ollama(
        model="llama3.1:latest",
        request_timeout=360.0,
        # Manually set the context window to limit memory usage
        context_window=8000,
    ),
    system_prompt="You are a helpful assistant that can multiply two numbers.",
)


async def main():
    # Run the agent
    response = await agent.run("What is 1234 * 4567?")
    print(str(response))


# Run the agent
if __name__ == "__main__":
    asyncio.run(main())
### 如何在 LlamaIndex 中集成和调用大模型 API 要在 LlamaIndex 中集成和调用大模型 API,可以通过以下方式实现: #### 1. 安装依赖 首先需要安装 `llama-index` 库以及目标大语言模型的相关 SDK 或 Python 包。例如,如果要使用通义千问,则需安装阿里云的 SDK。 ```bash pip install llama-index langchain openai chainlit ``` 这一步骤涵盖了环境准备的内容[^2]。 #### 2. 配置服务端口与密钥 大多数大语言模型都需要提供访问令牌或 API 密钥才能正常工作。这些密钥通常作为环境变量传递给程序运行时。以下是设置方法的一个例子: ```python import os os.environ["OPENAI_API_KEY"] = "your_openai_api_key" os.environ["ALIBABA_CLOUD_ACCESS_KEY_ID"] = "your_alibaba_cloud_access_key_id" os.environ["ALIBABA_CLOUD_SECRET_ACCESS_KEY"] = "your_alibaba_cloud_secret_access_key" ``` 此部分涉及到了快速开始中的环境配置说明。 #### 3. 加载数据源并创建索引 LlamaIndex 提供了丰富的功能用于加载不同类型的文档,并自动构建向量存储以便后续查询操作更加高效。下面是一段示例代码演示如何完成这一过程: ```python from llama_index import SimpleDirectoryReader, GPTVectorStoreIndex documents = SimpleDirectoryReader('data').load_data() index = GPTVectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("What is the capital of France?") print(response) ``` 上述片段展示了基础的数据处理流程[^1]。 #### 4. 调整参数优化性能表现 针对具体应用场景可能还需要进一步调整某些高级选项比如 chunk size、similarity top k 等来获得最佳效果。另外值得注意的是,在实际部署过程中还需考虑安全性因素如隐藏敏感信息防止泄露等问题。 通过 Chainlit 这样的前端框架还可以增强用户体验界面设计让整个交互变得更加友好直观[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值