You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改LlamaIndex入门教程以使用Akash Network托管的最新Llama模型?

如何修改LlamaIndex入门教程以使用Akash Network托管的最新Llama模型?

看起来你遇到的问题是LlamaIndex的OpenAI集成和Akash API之间的模型名称不匹配,以及默认模型调用的冲突,我来帮你一步步解决这些问题:

问题1:LlamaIndex不识别Akash的模型名称

你碰到的第一个错误是因为LlamaIndex的openai_modelname_to_contextsize函数只预定义了OpenAI官方的模型映射,不知道Akash托管的Llama模型。解决方法很简单——显式指定模型的上下文窗口大小,跳过LlamaIndex的模型名称检查:

修改你的custom_llm初始化代码,加上context_window参数(比如Llama 3.3 70B的上下文窗口是8192,你可以根据Akash提供的模型参数调整):

from llama_index.llms.openai import OpenAI

API_BASE_URL="https://chatapi.akash.network/api/v1"
LLM_MODEL="Meta-Llama-3-3-70B-Instruct"
# 根据模型实际参数设置上下文窗口,这里以8192为例
CONTEXT_WINDOW = 8192

custom_llm = OpenAI(
    api_base=API_BASE_URL,
    model=LLM_MODEL,
    context_window=CONTEXT_WINDOW
)

问题2:默认调用gpt-3.5-turbo被API拒绝

当你去掉as_query_engine的llm参数时,LlamaIndex会自动使用默认的gpt-3.5-turbo模型,而Akash API不允许调用这个模型。所以需要全局设置默认LLM,确保所有模块都使用你的custom_llm:

在代码里添加Settings.llm的配置:

from llama_index.core import Settings

# ... 之前的embedding配置 ...

# 同时设置全局默认LLM
Settings.llm = custom_llm
Settings.embed_model = embedding_model

# 构建索引时可以不用再传llm参数(当然传了也没问题)
index = VectorStoreIndex.from_documents(documents)

# 查询引擎也不用额外传llm,会用全局设置的
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)

完整修改后的代码

把这些调整整合起来,完整代码应该是这样的:

from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.llms.openai import OpenAI

API_BASE_URL="https://chatapi.akash.network/api/v1"
EMBEDDING_MODEL="BAAI/bge-small-en-v1.5"
LLM_MODEL="Meta-Llama-3-3-70B-Instruct"
CONTEXT_WINDOW = 8192  # 根据Akash模型的实际参数调整

# Load your documents
documents = SimpleDirectoryReader("data").load_data()

# 初始化自定义LLM,显式指定上下文窗口
custom_llm = OpenAI(
    api_base=API_BASE_URL,
    model=LLM_MODEL,
    context_window=CONTEXT_WINDOW
)

# Initialize the HuggingFace embedding model
embedding_model = HuggingFaceEmbedding(model_name=EMBEDDING_MODEL)

# 设置全局默认的LLM和嵌入模型
Settings.llm = custom_llm
Settings.embed_model = embedding_model

# Build the index
index = VectorStoreIndex.from_documents(documents)

# 创建查询引擎并查询
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)

关于LlamaAPI类的说明

你尝试的LlamaAPI类是专门针对Llama官方API设计的,确实没有提供修改base URL的选项,所以用它没法连接到Akash的端点,还是用兼容OpenAI格式的OpenAI类更合适。

备注:内容来源于stack exchange,提问作者Tristan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:18:05