🔗 Pontos de extremidade da API
Este guia fornece informações essenciais sobre como interagir com os terminais da API efetivamente para obter integração e automação perfeitas usando nossos modelos. Observe que esta é uma configuração experimental e pode sofrer atualizações futuras para aprimoramento.
Autenticação
Para garantir o acesso seguro à API, é necessária autenticação 🛡️. Você pode autenticar suas solicitações de API usando o mecanismo de token do portador. Obtenha sua chave de API deConfigurações> ContaNo webui aberto, ou alternativamente, use um JWT (JSON Web Token) para autenticação.
Pontos de extremidade notáveis da API
📜 Recuperar todos os modelos
-
Endpoint
GET /api/models
-
Descrição: Busca todos os modelos criados ou adicionados via webui aberto.
-
Exemplo
Curl -H "Autorização: Bearer Your_Api_Key" http: // localhost: 3000/API/Models
💬 Concluções de bate -papo
-
Endpoint
POST /api/chat/completions
-
Descrição: Serve como um terminal de conclusão compatível com API OpenAI API para modelos em webui aberto, incluindo modelos Ollama, modelos OpenAI e modelos de funções Webui.
-
Exemplo de Curl
Curl -x Post http: // localhost: 3000/api/chat/conclusão \
-H "Autorização: Portador Your_Api_Key" \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-d '{
"Modelo": "llama3.1",
"Mensagens": [
{
"função": "usuário",
"Conteúdo": "Por que o céu é azul?"
} ' -
Exemplo de Python
importarsolicitações
def chat_with_modeltoken
url 'http: // localhost: 3000/api/chat/conclusão'
cabeçalhos {
'Autorização' f'bearer{token, Assim,
'Tipo de conteúdo' 'Aplicativo/JSON'
dados {
"modelo" "Granite3.1 Dense: 8b", Assim,
"Mensagens" [[
{
"papel" "usuário", Assim,
"contente" "Por que o céu é azul?"
respostasolicitaçõespublicarurl, Assim,cabeçalhoscabeçalhos, Assim,JSONdados
retornarrespostaJSON
🦙 OLLAMA API SUPORTE DE PROXY
Se você deseja interagir diretamente com os modelos Ollama - incluindo a incorporação de geração ou o fluxo de prontuoso bruto - a abertura da Webui oferece um passe transparente para a API nativa de Ollama por meio de uma rota de proxy.
- URL base
/ollama/<api>
- ReferênciaDocumentação da API Ollama
🔁 Gere conclusão (streaming)
Curl http: // localhost: 3000/ollama/api/generate -d '{
"Modelo": "llama3.2",
"Prompt": "Por que o céu é azul?"
} '
📦 Lista de modelos disponíveis
Curl http: // localhost: 3000/ollama/api/tags
🧠 Gere incorporações
Curl -x post http: // localhost: 3000/ollama/api/incorped -d '{
"Modelo": "llama3.2",
"Entrada": ["Nullcore é ótimo!", "Vamos gerar incorporação".]]
} '
Isso é ideal para construir índices de pesquisa, sistemas de recuperação ou pipelines personalizados usando modelos Ollama por trás do webui aberto.
🧩 Generação aumentada de recuperação (RAG)
O recurso de geração aumentada de recuperação (RAG) permite aprimorar as respostas incorporando dados de fontes externas. Abaixo, você encontrará os métodos para gerenciar arquivos e coleções de conhecimento por meio da API e como usá -los nas conclusões do bate -papo de maneira eficaz.
Carregando arquivos
Para utilizar dados externos nas respostas de RAG, você primeiro precisa fazer o upload dos arquivos. O conteúdo do arquivo carregado é extraído e armazenado automaticamente em um banco de dados vetorial.
-
Endpoint
POST /api/v1/files/
-
Exemplo de Curl
Curl -x Post -H "Autorização: Portador Your_API_KEY" -H "Aceitar: Application/JSON" \
-F "file =@/path/para/seu/arquivo" http: // localhost: 3000/api/v1/files/ -
Exemplo de Python
importarsolicitações
def upload_filetoken, Assim,file_path
url 'http: // localhost: 3000/api/v1/files/'
cabeçalhos {
'Autorização' f'bearer{token, Assim,
'Aceitar' 'Aplicativo/JSON'
arquivos {'arquivo' abrirfile_path, Assim, 'RB'
respostasolicitaçõespublicarurl, Assim,cabeçalhoscabeçalhos, Assim,arquivosarquivos
retornarrespostaJSON
Adicionando arquivos às coleções de conhecimento
Após o upload, você pode agrupar arquivos em uma coleção de conhecimento ou referenciá -los individualmente em bate -papos.
-
Endpoint
POST /api/v1/knowledge/{id}/file/add
-
Exemplo de Curl
Curl -x Post http: // localhost: 3000/api/v1/conhecimento/{knowledge_id}/file/add \
-H "Autorização: Portador Your_Api_Key" \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-d '{"file_id": "your-fil-id here"}' -
Exemplo de Python
importarsolicitações
def add_file_to_knowledgetoken, Assim,conhecimento_id, Assim,file_id
url f'http: // localhost: 3000/api/v1/conhecimento/{conhecimento_id/arquivo/add '
cabeçalhos {
'Autorização' f'bearer{token, Assim,
'Tipo de conteúdo' 'Aplicativo/JSON'
dados {'file_id'file_id
respostasolicitaçõespublicarurl, Assim,cabeçalhoscabeçalhos, Assim,JSONdados
retornarrespostaJSON
Usando arquivos e coleções nas conclusões do bate -papo
Você pode fazer referência a arquivos individuais ou coleções inteiras em suas consultas de pano para respostas enriquecidas.
Usando um arquivo individual nas conclusões do bate -papo
Esse método é benéfico quando você deseja concentrar a resposta do modelo de bate -papo no conteúdo de um arquivo específico.
-
Endpoint
POST /api/chat/completions
-
Exemplo de Curl
Curl -x Post http: // localhost: 3000/api/chat/conclusão \
-H "Autorização: Portador Your_Api_Key" \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-d '{
"Modelo": "GPT-4-Turbo",
"Mensagens": [
{"role": "user", "content": "Explain the concepts in this document."}
"Arquivos": [
{"type": "file", "id": "your-file-id-here"}
} ' -
Exemplo de Python
importarsolicitações
def chat_with_filetoken, Assim,modelo, Assim,consulta, Assim,file_id
url 'http: // localhost: 3000/api/chat/conclusão'
cabeçalhos {
'Autorização' f'bearer{token, Assim,
'Tipo de conteúdo' 'Aplicativo/JSON'
carga útil {
'modelo'modelo, Assim,
'Mensagens' [[{'papel' 'usuário', Assim, 'contente'consulta, Assim,
'arquivos' [[{'tipo' 'arquivo', Assim, 'eu ia'file_id
respostasolicitaçõespublicarurl, Assim,cabeçalhoscabeçalhos, Assim,JSONcarga útil
retornarrespostaJSON
Usando uma coleção de conhecimento nas conclusões do bate -papo
Aproveite uma coleção de conhecimento para aprimorar a resposta quando o inquérito pode se beneficiar de um contexto mais amplo ou de vários documentos.
-
Endpoint
POST /api/chat/completions
-
Exemplo de Curl
Curl -x Post http: // localhost: 3000/api/chat/conclusão \
-H "Autorização: Portador Your_Api_Key" \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-d '{
"Modelo": "GPT-4-Turbo",
"Mensagens": [
{"role": "user", "content": "Provide insights on the historical perspectives covered in the collection."}
"Arquivos": [
{"type": "collection", "id": "your-collection-id-here"}
} ' -
Exemplo de Python
importarsolicitações
def chat_with_collectiontoken, Assim,modelo, Assim,consulta, Assim,coleção_id
url 'http: // localhost: 3000/api/chat/conclusão'
cabeçalhos {
'Autorização' f'bearer{token, Assim,
'Tipo de conteúdo' 'Aplicativo/JSON'
carga útil {
'modelo'modelo, Assim,
'Mensagens' [[{'papel' 'usuário', Assim, 'contente'consulta, Assim,
'arquivos' [[{'tipo' 'coleção', Assim, 'eu ia'coleção_id
respostasolicitaçõespublicarurl, Assim,cabeçalhoscabeçalhos, Assim,JSONcarga útil
retornarrespostaJSON
Esses métodos permitem a utilização eficaz do conhecimento externo por meio de arquivos carregados e coleções de conhecimento com curadoria, aprimorando os recursos dos aplicativos de bate -papo usando a API Nullcore. Seja usando arquivos individualmente ou dentro de coleções, você pode personalizar a integração com base em suas necessidades específicas.
Vantagens de usar o Nullcore como um provedor LLM unificado
O Nullcore oferece uma infinidade de benefícios, tornando -o uma ferramenta essencial para desenvolvedores e empresas:
- Interface unificada: Simplifique suas interações com diferentes LLMs através de uma plataforma única e integrada.
- Facilidade de implementação: Integração rápida de início com documentação abrangente e suporte da comunidade.
Links de documentação de swagger
Certifique -se de definir oENV
Variável de ambiente paradev
Para acessar a documentação do Swagger para qualquer um desses serviços. Sem essa configuração, a documentação não estará disponível.
Acesso documentação detalhada da API para diferentes serviços fornecidos pelo Nullcore:
Aplicativo | Caminho de documentação |
---|---|
Principal | /docs |
Seguindo essas diretrizes, você pode integrar rapidamente e começar a utilizar a API Nullcore. Se você encontrar quaisquer problemas ou ter dúvidas, sinta -se à vontade para alcançar nossa comunidade de discórdios ou consultar as perguntas frequentes. Codificação feliz! 🌟